青少年编程能力等级测评CPA C++一级试卷(1)
一、单项选择题(共20题,每题3.5分,共70分)
CP1_1_1.在C++中,下列变量名正确的是( )。
A.$123
B._123
C.@123
D.#123
CP1_1_2.执行下列程序,输出的结果是( )。
#include <iostream>
using namespace std;
int main(){
int a=8,b=10;
float c;
c=b/a;
cout<<c;
return 0;
}
A.0.8
B.1
C.1.25
D.0.0
CP1_1_3.在C++中,下列常量不正确的是( )。
A.’\\’
B.”abc”
C.100
D.e3
CP1_1_4.在C++中,语句cout<<"C"<<endl<<"P\nA"; 的输出结果是( )。
A.CPA
B.CP
A
C.C
P
A
D.C
PA
CP1_1_5.执行下列程序,输出的结果是( )。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double e = 2.71828;
cout<< fixed << setprecision(2) << e << endl;
return 0;
}
A.2.71828
B.2.72
C.2.71
D.2
CP1_1_6.在C++中,表达式:8+5/2的值是( )。
A.11
B.10.0
C.10
D.10.5
CP1_1_7.设int x = 1;,则计算表达式:3+x++后,x的值是( )。
A.6
B.5
C.3
D.2
CP1_1_8.执行下列程序段,输出的结果是( )。
float x=10;int y=4;
x+=x/y;
cout<< x<<endl;
A.12.5
B.10
C.12
D.12.0
CP1_1_9.若用整型变量age表示年龄,下列能正确表示“年龄大于6岁,但小于18岁”的表达式是( )。
A.6 < age < 18
B.6 < age and age < 18
C.6 < age && age < 18
D.6 < age || age < 18
CP1_10.阅读下列框图。设x,y为整型变量,若给x输入18,则y的输出结果是( )。
A.10
B.35
C.10.0
D.35.0
CP1_1_11.设给变量op输入:* ,则执行下列程序的输出结果是( )。
#include <iostream>
using namespace std;
int main()
{
char op; int a=4, b=4;
cin >> op;
switch (op)
{
case '+':
cout <<a+b <<endl;
break;
case '-':
cout <<a-b <<endl;
break;
case '*':
cout <<a*b <<endl;
break;
case '/':
cout <<a/b <<endl;
break;
}
return 0;
}
A.16
B.8
C.1
D.0
CP1_1_12.执行下列程序,循环体中:cout << n << endl; 语句最后一次输出的结果是( )。
#include <iostream>
using namespace std;
int main()
{
int n;
for( n=0; n < 20; n++ )
{
cout << n << endl;
}
return 0;
}
A.21
B.20
C.19
D.18
CP1_1_13.执行下列程序,输出的结果是( )。
#include <iostream>
using namespace std;
int main()
{
int n=0,sum=0;
while(n < 10) {
sum+=n;
n++;
}
cout<<sum;
return 0;
}
A.55
B.45
C.15
D.10
CP1_1_14.执行下列程序,若输入得数据为:10 2 7 -5 0 1,则输出的结果是( )。
#include <iostream>
using namespace std;
int main()
{
int sum = 0,x;
for(int i = 0; i < 5; i ++)
{
cin>>x;
if(x<0)
break;
sum =sum + x;
}
cout <<sum<<endl;
return 0;
}
A.19
B.15
C.14
D.20
CP1_1_15.下列程序的功能是输出10到50中的完全数。则在①处应填入的语句是( )。
说明:一个数的因子(除了这个数本身)之和等于该数本身,则称这个数为完全数。如6的因子是1、2、3,它的因子和1+2+3等于6,因此6是完全数。
#include <iostream>
using namespace std;
int main()
{ int i,j,s;
for (i=10 ;i<=50 ;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;
CP1_1_16.下列将数组元素进行初始化的语句中,不正确的是( )。
A.int a[ ]={1,2,3};
B.int a[3]={1,2};
C.int a[ ]={0};
D.int a[3]={1,1,1,1};
CP1_1_17.执行下列代码,若结果输出为:0,则在 ① 处应填写的是( )。
#include <iostream>
using namespace std;
int main()
{
char str[6] = "CHINA";
int a;
a=str[ ① ];
cout << a;
return 0;
}
A.0
B.1
C.5
D.6
CP1_1_18.设int x[4] = {-1,2,-3};,下列表达式值最小的是( )。
A.x[1]*x[3]
B.x[1]*x[2]
C.x[0]*x[3]
D.x[0]*x[2]
CP1_1_19.下列字符数组初始化语句中,不正确的是( )。
- char s1[5] = "Hello";
- char s1[6] = {"Hello"};
- char s1[] = "Hello";
D.char s1[] = {"Hello"};
CP1_1_20.执行下列程序,输出的结果是( )。
#include <iostream>
using namespace std;
int main()
{
char s1[10] = "Follow";
char s2[] = "me";
cout<<s1<<" "<<s2;
return 0;
}
A.Follow
B.me
C.Followme
D.Follow me
二、编程题(共2题,每题15分,共30分)
CP1_1_21.编写程序实现功能如下:
温度常用的计量单位有两种,即摄氏度(℃)和华氏度(°F)。它们之间有固定的转换关系,编写程序完成转换。
说明:
- 用“C” 表示摄氏度,用“F” 表示华氏度。转换公式为:
F=(C*1.8)+32 (摄氏度到华氏度)
C=(F-32)/1.8 (华氏度到摄氏度)
- 若给字符型变量输入字母“C”,则进行华氏度到摄氏度的转换,若给字符型变量输入字母“F”,则进行摄氏度到华氏度的转换,否则输出“NO”。
- 输入一个要转换的温度值,按相应公式转换,并输出结果。
样例1:
输入:C //要进行华氏度到摄氏度的转换,注意是大写字母C
90 //表示华氏度为90°F
输出:32.2222 //转换的结果为32.2222℃
样例2:
输入:F //要进行摄氏度到华氏度的转换,注意是大写字母F
30 //表示摄氏度为30℃
输出:86 //转换的结果为86°F
样例3:
输入:A //输入其他字符,则输出NO
90
输出:NO
CP1_1_22.编写程序实现功能如下:
定义一个长度为30的整型数组,用于存储n位学生的学号(学号均为小于1000的正整数)。其中男生的学号为奇数,女生的学号为偶数,编程统计这个班级的男女生人数。如果学生的学号中有小于0或者大于对于1000的情况,则直接输出“NO”。
样例1:
输入:5 //输入学生人数
102 230 33 461 50 //输入学生的学号
输出:2 3 //输出统计的结果,用一个空格分隔
样例2:
输入:4
91 60 8001 110 //输入学生的学号有不正确的,直接输出NO
输出:NO