CPA - C++编程一级模拟卷1[复制]

青少年编程能力等级测评试卷
C++编程(一级)
*
您的姓名:
一、 单项选择题(共20题,每题3.5分,共70分)
*
1 C++中,用来定义无符号整型变量的关键字是( )。
A:unsigned int
B:int
C:short int
D:signed int
*
2 下列数据中,不合法的C++常量的是( )。
A. 0xa5
B. 2.5e-2
C. 300
D. 0582
*
3 在C++中,下列标识符合法的是( )。
A:c+b
B:_tmp
C:52C++
D:J#P
*
4 下列定义整型变量num并初始化为0的语句是( )。
A:int num;
B:int num(0);
C:char num=0;
D:char num=’0’;
*
5 下列转义字符中表示回车换行符的是( )。
A:\n
B:\t
C:\b
D:\a
*
6 下列有关cin的叙述中,不正确的是( )。
A:使用cin输入多个数据并读入到变量时,数据之间使用空格分隔
B:使用cin获取用户输入,不加头文件"iostream"也可以
C:使用cin输入多个数据并读入到变量时,数据之间使用回车分隔
D:使用cin输入多个数据并读入到变量时,数据之间使用Tab键分隔
*
7 若定义int a=066,则执行cout << a;语句后,输出的结果是( )。
A:66
B:54
C:78
D:102
*
8 运行下列程序,输出结果是( )。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{ float x=2/3.0;
cout << x <<' ';
cout << setiosflags(ios::fixed);
cout << setprecision(0) << x << ' ';
cout << setprecision(2) << x << '\n';
}
A:0.66 0 0.67
B:0.67 1 0.66
C:0 0.6 0.66
D:0.666667 1 0.67
*
9 若定义int a;char b;double c;则表达式a*b-c的类型是( )。
A:float
B:int
C:char
D:double
*
10 阅读如图所示的框图,若输入a,b的值分别为20,5,则输出的S值为( )。
A:15
B:25
C:100
D:205
*
11 下列有关分支结构的叙述中,正确的是( )。
A:if(x>y) ; 不是一个正确的C++语句
B:switch(x){……}语句中的x可以是浮点类型
C:switch语句中不一定要使用break语句
D:若有语句if(a) x++; 则表达式a 是不正确的
*
12 运行下列程序,若输入:2,则输出结果是( )。
#include <iostream>
using namespace std;
int main()
{ float x,y;
cin >> x;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
cout << y << endl;
return 0;
}
A:0.0
B:1.00
C:0.5
D:0.50
*
13下列有关循环控制语句的叙述中,正确的是( )。
A:do-while 语句构成的循环不能用其他语句构成的循环来代替
B:do-while 语句构成的循环只能用break 语句退出
C:用do-while 语句构成的循环,在while 后的表达式为非零时结束循环
D:用do-while 语句构成的循环,在while 后的表达式为零时结束循环
*
14 运行下列程序,输出结果是( )。
#include <iostream>
using namespace std;
int main()
{ int i=1;
int s=1, a=0;
for(i=0;i<3;i++)
{
s+=i;
a++;
}
cout << s <<','<< i <<','<< a << endl;
return 0;
}
A:3,3,4
B:4,4,3
C:3,4,3
D:4,3,3
*
15 下面程序的功能是输出10到100中的完全数。则在空白处应填入( )。

说明:一个数的因子(除了这个数本身)之和等于该数本身,则称这个数为完全数。如:6的因子是1、2、3,它的因子和1+2+3等于6,因此6是完全数。

#include <iostream>
using namespace std;
int main()
{ int i,j,s;
for (i=10 ;i<=100 ;i++)
{ s=0;
for (j=1;j<i;j++)
______________
if (i==s)
cout <<s<<endl;
}
return 0;
}
A:if (i%j==0) s+=j;
B:if (i%j==0) s-=j;
C:if (i%j!=0) s-=j;
D:if (i%j!=0) s+=j;
*
16 在定义数组时,对数组元素赋初值,下列不正确的是( )。
A:int a[5]={0,1,2,3,4};
B:int a[5]={0};
C:int a[5]={0,1,2,3,4,5};
D:int a[5]={0,1,2};
*
17 运行下列程序,若输入:88 66 77 55 90,则输出结果是( )。
#include <iostream>
#define N 5
using namespace std;
int main()
{ int a[N],m1,m2,i;
for(i=0; i<N; i++)
cin >> a[i];
m1=m2=a[0];
for (i=1; i<N; i++)
if (a[i]<m2) m2=a[i];
else if (a[i]>m1) m1=a[i];
cout << m1 <<','<< m2 <<endl;
return 0;
}
A:55,90
B:90,55
C:88,66
D:66,77
*
18 若有定义:char a[ ]="ZHAO"; 则a[1]的值是( )。
A:Z
B:H
C:HAO
D:ZHAO
*
19 若有定义char str[20]="Hello!"; 则执行cout<<strlen(str)<<","<<sizeof(str)<<endl;语句的输出结果是( )。
A:20,6
B:6,20
C:7,20
D:20,7
*
20 运行下列程序,若输入:10,则输出结果是( )。
#include <iostream>
using namespace std;
int main()
{ char k; int i;
for(i=1;i<3;i++)
{ cin >> k;
switch(k)
{ case '0': cout<<"ok ";
case '1': cout<<"book ";
}
}
}
A:book ok book
B:book book ok
C:ok book
D:book ok
二、 编程题(共2题,每题15分,共30分)
21、编写程序,输出以下图形。

要求用双重循环。
选择文件( 不超过4M )
22、编写程序,已知三条边a、b、c,求三角形面积。计算三角形面积的海伦公式:


要求:3条边长a、b、c用cin输入,并判断a、b、c是否能构成三角形?能构成三角形输出面积area(保留2位小数,并进行四舍五入),否则输出No。

样例1:
输入:3 4 5
输出:6.00

样例2:
输入:1 2 3
输出:No








测试用例1:
输入:4 6 8
输出:11.62
测试用例2:
输入:15 25 30
输出:187.08
测试用例3:
输入:15 16 33
输出:No
测试用例4:
输入:14 16 18
输出:107.33
测试用例5:
输入:35 47 66
输出:789.54
测试用例6:
输入:4 6 18
输出:No

选择文件( 不超过4M )
Powered By www.wjx.cn
Report