选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

739 202506GESP C++二级试卷-考试
选择题 共15道
01 2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。
比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,
那么这类传感器类似于计算机的( )。
2分
登录后查看选项
02 小明购置的计算机使用一年后觉得内存不够用了,想购置一个容量更大的内存条,这时他需要的内存条是( )。 2分
登录后查看选项
03 下面C++代码执行后的输出是( )。
int a=3;
float b = 3.5;
cout << (a *= b);
2分
登录后查看选项
04 下面C++代码用于获得正整数的第3位数,如1234则输出2。如果是一位数或两位数,则输出0。横线处应填入的代码是( )。 2分
登录后查看选项
05 下面C++代码执行,其输出是( )。
int a, b = (6, 28);
b == a;
a = b;
cout << a << ' ' << b;
2分
登录后查看选项
06 今天星期六,其后第四天星期几?如果是星期一到星期六输出形如:星期1、星期2等,星期天则输出星期天。下面的C++代码用于完成上述要求,横线处应填上的代码是( )。
int N,remainder;
cin>>N;
remainder=________________;
if(remainder==0)
	printf("星期六后第%d天是星期天\n",N);
else
	printf("星期六后第%d天是星期%d\n",N,remainder);
2分
登录后查看选项
07 下面的C++代码执行后其输出是( )。
int i, Sum = 0;
for (i = 1; i < 10; i++) {
    Sum += i;
    if(i % 2) continue;
    if(i % 7) break;
}
cout << Sum;
2分
登录后查看选项
08 下面C++代码执行后其输出是( )。
int i, j;
for(i = 1; i < 12; i++) 
	for(j = 1; j < i; j++) 
		if(i * j % 2 == 1) 
			break; 
cout << i * j;
2分
登录后查看选项
09 下面C++代码执行后输出是( )。
int i, cnt = 0;
for(i = -99; i < 100; i += 2)
	cnt = 1 + cnt;
cout << cnt;
2分
登录后查看选项
10 下面C++代码执行后输出是( )。
int i;
for(i = 1; i < 10; i++){
	if(i % 3 != 0){
		printf("A#");
		continue;
	}
	else
		break;
	printf("0#");
}
if(i == 10)
	cout << "1";
2分
登录后查看选项
11 下面C++代码执行后的输出是( )。
int i,j;
for(i = 0; i < 3; i++)
    for(j = 0; j < i; j++)
		printf("%d#%d-", i, j);
printf("END");
2分
登录后查看选项
12 下面C++代码执行后,将输出不能被3整除且除以5余数为2的数。下列选项不能实现的是( )。 2分
登录后查看选项
13 下面C++代码用于判断一个大于0的正整数是几位数,横线处应填入代码先后是( )。 2分
登录后查看选项
14 判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,
如25的平方是625,其尾数是25,所以25是自守数。相关说法错误的是( )。
2分
登录后查看选项
15 下面C++代码实现输出如下图形,相关说法错误的是( )。
请输入层数:10
0
12
345
6789
01234
567890
1234567
89012345
678901234
5678901234

int line_number,now_number;
int i,row;
cout<<"请输入行数:";
cin>>line_number;
now_number=0;

for(row=1;row< line_number+1,row++) //L1
	for(i=0;i< row;i++){ //L2
		cout<< now_number;
		now_number+=1;
		if(now_number==1)now_number=0; //L3
	}
	cout<< endl;
}
2分
登录后查看选项
判断题 共10道
16 人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( ) 2分
登录后查看选项
17 在C++代码中,假设N为正整数,则 N / 10 含弃个位数。如果 N 小于10,则其值为0,大于10则是含弃个位数的数。( ) 2分
登录后查看选项
18 下列C++代码执行后,其输出为 10 20,即 a = b 和 b = a 对 a 和 b 的值没有任何影响。( )
int a = 10, b = 20;
a = b;
b = a;
cout << (a, b);
2分
登录后查看选项
19 a 和 b 分别是C++的整型变量,如果表达式 max(a, b) == min(a, b) 的值为真,则说明 a 和 b 相等。( ) 2分
登录后查看选项
20 下面C++代码编译时将报错,因为字符变量 a 被赋值了浮点值。( )
char a = '1';
a = 45.6;
cout << a;
2分
登录后查看选项
21 下面C++代码执行时如输入59.99,将输出及格两个汉字。( )
int score;
cout << "请输入学生成绩:";
cin >> score;
if (score < 60)
	cout << "不及格";
else
	cout << "及格";
2分
登录后查看选项
22 在下面的C++代码中,因为 continue 将被执行,因此不会有输出。( )
int i;
for (i = 1; i < 10; i++)
	if (i % 2 == 0)
		continue;
	if(i == 10)
		cout << "END";
2分
登录后查看选项
23 下面的C++代码执行后将输出15。( )
int Sum = 0;
for (int i = 0; i < 5; i++) 
	Sum += i;
cout << Sum;
2分
登录后查看选项
24 将下面C++代码中的 (int i = 5; i > 1; i--) 调整为 (int i = 1; i < 5; i++) 输出结果相同,因为5到1与1到5的求和相同。( )
int tnt;
tnt = 0;
for (int i = 5; i > 1; i--) 
	tnt += i;
cout << tnt;
cout << endl;
2分
登录后查看选项
25 为实现如下效果,即N行N列字符。当输入是奇数时,中间列为 *,其他是-;当输入是偶数时,则中间两列是 *,其他是-。字符阵列后的代码能实现其效果。( )
/*
5
--*--
--*--
--*--
--*--
--*--
*/
int N;
cin>>N;

int i,j;
for(i=0; i < N; i++){
	for(j=0;j < N; j++)
		if((j==N/2)||(j==(N-1)/2))
			cout<<"*";
		else
			cout<<"-";
	cout<< endl;
2分
登录后查看选项
编程题 共2道
26

数三角形


题目描述

直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为 a, b,则直角三角形的面积为 ab/2。


请你计算当直角边长 a, b 取不超过 n 的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为 a, b 和 a', b' 的两个直角三角形相同,当且仅当 a = a', b = b' 或者 a = b', b = a'。


输入格式

一行,一个整数n,表示直角边长的最大值。


输出格式

输出一行,一个整数,表示不同的直角三角形数量。


输入样例1
3

输出样例1
3

输入样例2
5

输出样例2
9

数据范围

对于所有测试点,保证1<=n<=1000


25分
登录后作答
27

幂和数


题目描述

对于正整数 n,如果 n 可以表为两个 2 的次幂之和,即 n = 2x + 2y(x, y 均为非负整数),那么称 n 为幂和数。给定正整数 l,r,请你求出满足 l ≤ n ≤ r 的整数 n 中有多少个幂和数。


输入格式

一行,两个正整数l,r,含义如上。


输出格式

输出一行,一个整数,表示l,r之间的幂和数的数量。


输入样例1
2 8

输出样例1
6

输入样例2
10 100

输出样例2
20

数据范围

对于所有测试点,保证1<=l<=r<=104

25分
登录后作答