佛大附属信奥 在线评测 · 分级学习
登录

GESP C++ 二级 · 2025 年 6 月认证理论卷

登录 后作答才能记录成绩

一、单选题(每题 2 分)

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

二、判断题(每题 2 分)

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