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

GESP C++ 二级 · 2026 年 3 月认证理论卷

登录 后作答才能记录成绩

一、单选题(每题 2 分)

1. 2026年春节联欢晚会上一个武术表演节目《武 BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。
2. 下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应该使用的图形是( )。 ```cpp int N, max=0, val; cin >> N; while(N){ cin >> val; if(val > max) // L1 max = val; N--; } cout << max; ```
3. 下面 C++ 代码可以执行,有关说法正确的是( )。 ```cpp double PI = 3.1415926; cout << (PI); ```
4. 下面选择项中,与C++表达式`!(x > 5 && y <= 10)`等价的是( )。
5. 某同学执行C++代码`cout << ((0.1 + 0.2) == 0.3)`时输出0,下面最可能的原因是( )。
6. 下面的 C++ 代码段执行后其输出是( )。 ```cpp tnt = 0; for (int i = 0; i < 5; i++){ for (int j = 0; j < i; j++) tnt += 1; cout << tnt << "#"; } cout << tnt; ```
7. 下面的 C++ 代码执行之后的输出是( )。 ```cpp for ( int i = -2; i < 2; i++) if (not i % 3) cout << i << "#"; ```
8. 下面的 C++ 代码执行后其输出是( )。 ```cpp int cnt = 0, i, j; for (i =1; i < 5; i++){ for (j =0; j < i; j++) cout << j << "#"; break; } if(i >= 5) cout << (i*j); ```
9. 下面 C++ 代码执行后其输出是( )。 ```cpp int count = 0; for (int i = 1; i < 4; i++) for (int j = 1; j < 5; j++){ if (j == 3) continue; if (i == 2) break; count += 1; } cout << (count); ```
10. 下面4个选项中,与下面 C++ 代码段具有相同效果的是( )。 ```cpp i = 0; while (i < 5){ cout << i; i += 1; } ```
11. 下面 C++ 代码执行后输出是( )。 ```cpp int n = 10; while (n > 0){ n -= 1; if (n % 3 == 0) continue; if (n == 5) break; } cout << n; ```
12. 下面 C++ 代码段执行后,其输出是( )。 ```cpp int i, j, cnt; cnt = 0; for (i = 0; i < 5; i++){ i = -i; for (j = i; j < -i; j++) cnt += 1; i = -i; } cout << cnt; ```
13. 某学校图书馆的借阅卡号由6位整数组成。前5位是顺序编号,第6位是校验码,用于防止输错。校验码规则如下:将前5位数字相加,然后除以10的余数,就是第6位数字。如卡号123455的前5位之和为15,除以10的余数是5,故第6位为5。下面的C++代码段用于判断卡号是否正确,横线处应填入的代码是( )。 ```cpp cout << "请输入卡号:"; cin >> N; order_num = N / 10; // 获得前5位顺序号,假设录入一定为6位正整数 check_num = N % 10; // 获得最后一位 tnt = 0; // 保存前5位之和 for (i = 0; i < 5; i++){ ________________; order_num /= 10; } if (__________________) cout << "符合校验规则"; else cout << "不符合校验规则"; ```
14. 下面的 C++ 代码段正常执行后其输出的数字图形是( )。 ```cpp for (i = 1; i < 5; i++){ for (j = 1; j < i+1; j++) cout << j; cout << endl; } ```
15. 某学校举办"校园演讲比赛",每位选手由8位评委打分(分数为 0~10 的整数),且每位评委必须打分。计分规则:若至少有5位评委给出大于等于6分,则成绩有效,最终得分为所有8位评委的总分;如给出低于6分的评委数量超过5位,则记为0分。以下核心程序段依次输入8个分数,并计算最终得分。横线处应填入( )。 ```cpp total_score = 0; // 所有分数之和 high_count = 0; // >=6分的评委数量 for (i = 0; i < 8; i++){ cout << "请输入评委分数: "; cin >> score; ____________________; if (score >= 6) ________________; } if (high_count >= 5) cout << total_score; else cout << 0; ```

二、判断题(每题 2 分)

1. 小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。( )
2. C++ 语句`cout << ('4' % '2' == '2' * '2' % 2);`执行后的输出是1。( )
3. 下面的 C++ 代码段执行时将报错,因为10是整数类型,a是布尔类型。由于类型不同,不能进行加法运算。( ) ```cpp bool a = true; cout << (10 + a); ```
4. 下面C++代码段执行后将输出0-3-6-9-。( ) ```cpp for (int i = 0; i < 10; i++){ if (i % 3) continue; cout << i << "-"; } ```
5. 执行下面的 C++ 代码段,如果N是基本数据类型,则语句`cout << (N);`将被执行 0 次或无数次(即死循环)。( ) ```cpp cin >> N; while (N) cout << (N); ```
6. 下面的 C++ 代码段可正常执行,删除continue不影响执行效果。( ) ```cpp for (i = 0; i < 10; i++){ i += 1; continue; } cout << (i); ```
7. 下面的 C++ 代码段用于计算1到N之间且包含N的所有数字中含有的3的个数,如1到40含有14个3,而1到20则只含有2个3。如果将`while (i != 0)`改为`while (abs(i))`,则执行结果相同。( ) ```cpp cout << "请输入正整数N:"; cin >> N; cnt = 0; // 保存3的个数 for (k = 1; k < N + 1; k++){ i = k; while (i != 0){ if (i % 10 == 3) cnt += 1; i /= 10; } } cout << cnt; ```
8. 下面的 C++ 代码段执行将不会有输出,因为内层循环j总是0开始,`i * j % 10 == 0`将会被满足,执行break,故而i小于10,不会满足if判断条件。( ) ```cpp for (i = 1; i < 10; i++) for (j = 0; j < i; j++) if (i * j % 10 == 0) break; if(i >= 10) cout << (i*j); ```
9. 下列 C++ 代码执行后将输出1#4#9#16#16。( ) ```cpp cnt = 0; for (i = 1; i < 5; i++){ for (j = 1; j < i + 1; j++) if (i * j % 10 == 0) break; if (j >= i + 1) cout << (i * j) << "#"; } if(i >= 5) cout << (i * j); ```
10. 下面 C++ 代码执行后输出如左图所示,将`" %d"`修改为`"%3d"`即可实现右图输出。( ) ``` // 左图 // 右图 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 9 18 27 36 45 54 63 72 81 ``` ```cpp for (i = 1; i < 10; i++){ for (j = 1; j < 10; j++) printf(" %d", i*j); printf("\n"); } ```