#GESP1351. [GESP202603二级] 客观题
[GESP202603二级] 客观题
一、单选题(每题 2 分,共 30 分)
第 1 题 年春节联欢晚会上一个武术表演节目《武 》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备 ( )
{{ select(1) }}
- 检测重心的重力传感器
- 预装的 算法程序
- 接收动作指令的遥控器
- 拍摄其他机器人的摄像头
第 2 题 下面代码用来找出输入的 个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应
该使用的图形是 ( )
01 int N, max=0, val;
02 cin >> N;
03
04 while(N){
05 cin >> val;
06 if(val > max) // L1
07 max = val;
08 N--;
09 }
10
11 cout << max;
{{ select(2) }}
- 圆形框
- 椭圆形框
- 平行四边形框
- 菱形框
第 3 题 下面 C++ 代码可以执行,有关说法正确的是 ( )
01 double PI = 3.1415926;
02 cout << (PI);
{{ select(3) }}
- 为了方便初学者,
cout<(PI)和cout<<(pi)效果相同,即变量的大小写不敏感 cout<<(PI)修改为cout<<(Pi)能正常执行- 不能用 做变量名,因为要保存圆周率这个常量
- 将程序中全部 都改写为 ,将能正常执行,不会报错
第 4 题 下面选择项中,与 C++ 表达式 !(x>5 &&y<=10) 等价的是 ( )
{{ select(4) }}
x <= 5 && y > 10x > 5 || y <= 10x <= 5 || y > 10!x > 5 && !y <= 10
第 5 题 某同学执行 C++ 代码cout<<((0.1+0.2)==0.3) 时输出 ,下面最可能的原因是 ( )
{{ select(5) }}
C++的+运算符在处理小数时存在bug0.1、0.2和0.3在计算机中无法用二进制浮点数精确表示,导致0.1+0.2的结果与0.3存在微小误差==运算符不能用于比较浮点数,只能用于整数- 因为
0.1+0.2的数学结果不等于0.3
第 6 题 下面的 C++ 代码段执行后其输出是 ( )
01 tnt = 0;
02 for (int i = 0; i < 5; i++){
03 for (int j = 0; j < i; j++)
04 tnt += 1;
05 cout << tnt << "#";
06 }
07 cout << tnt;
{{ select(6) }}
0#1#3#6#10#101#2#3#4#5#6#7#8#9#10#1010#1010
第 7 题 下面的 C++ 代码执行之后的输出是 ( )
01 for ( int i = -2; i < 2; i++)
02 if (not i % 3)
03 cout << i << "#";
{{ select(7) }}
0#-2#-1#1#-1#0#-2#0#1#
第 8 题 下面的 C++ 代码执行后其输出是 ( )
01 int cnt = 0, i, j;
02 for (i =1; i < 5; i++){
03 for (j =0; j < i; j++)
04 cout << j << "#";
05 break;
06 }
07 if(i >= 5)
08 cout << (i*j);
{{ select(8) }}
0#0#1#0#1#2#0#1#2#3#120#0#1#0#1#2#0#1#2#3#0#1#
第 9 题 下面 C++ 代码执行后其输出是 ( )
01 int count = 0;
02 for (int i = 1; i < 4; i++)
03 for (int j = 1; j < 5; j++){
04 if (j == 3)
05 continue;
06 if (i == 2)
07 break;
08 count += 1;
09 }
10 cout << (count);
{{ select(9) }}
第 10 题 下面 个选项中,与下面C++ 代码段具有相同效果的是 ( )
01 i = 0;
02 while (i < 5){
03 cout << i;
04 i += 1;
05 }
{{ select(10) }}
-
01 for (i = 0; i < 5; i++) 02 cout << i; -
01 for (i = 1; i < 5; i++) 02 cout << i; -
01 for (i = 0; i < 6; i++) 02 cout << i; -
01 for (i = 1; i < 6; i++) 02 cout << i;
第 11 题 下面 C++ 代码执行后输出是 ( )
01 int n = 10;
02 while (n > 0){
03 n -= 1;
04 if (n % 3 == 0)
05 continue;
06 if (n == 5)
07 break;
08 }
09 cout << n;
{{ select(11) }}
第 12 题 下面 C++ 代码段执行后,其输出是 ( )
01 int i, j, cnt;
02 cnt = 0;
03 for (i = 0; i < 5; i++){
04 i = -i;
05 for (j = i; j < -i; j++)
06 cnt += 1;
07 i = -i;
08 }
09 cout << cnt;
{{ select(12) }}
第 13 题 某学校图书馆的借阅卡号由 位整数组成。前 位是顺序编号,第 位是校验码,用于防止输错。校验码规则如下:将前 位数字相加,然后除以 的余数,就是第 位数字。如卡号 的前 位之和为 ,除以 的余数是 ,故第 位为 。下面的 C++ 代码段用于判断卡号是否正确,横线处应填入的代码是 ( )
01 cout << "请输入卡号:";
02 cin >> N;
03 order_num = N / 10; // 获得前5位顺序号,假设录入一定为6位正整数
04 check_num = N % 10; // 获得最后一位
05
06 tnt = 0; // 保存前5位之和
07 for (i = 0; i < 5; i++){
08 ________________;
09 order_num /= 10;
10 }
11
12 if (__________________)
13 cout << "符合校验规则";
14 else
15 cout << "不符合校验规则";
{{ select(13) }}
-
01 tnt += order_num / 10 02 tnt / 10 == check_num -
01 tnt += order_num % 10 02 tnt % 10 == check_num -
01 tnt = order_num / 10 + tnt 02 tnt % 10 == check_num -
01 tnt = order_num % 10 02 tnt / 10 == check_num
第 14 题 下面的 C++ 代码段正常执行后其输出的数字图形是 ( )
01 for (i = 1; i < 5; i++){
02 for (j = 1; j < i+1; j++)
03 cout << j;
04 cout << endl;
05 }
{{ select(14) }}
-
1 12 123 1234 -
1 22 333 4444 -
1 21 321 4321 -
4 34 234 1234
第 15 题 某学校举办“校园演讲比赛”,每位选手由 位评委打分(分数为 的整数),且每位评委必须打分。计分规则:若至少有 位评委给出大于等于 分,则成绩有效,最终得分为所有 位评委的总分;如给出低于 分的评委数量超过 位,则记为 分。以下核心程序段依次输入 个分数,并计算最终得分。横线处应填入 ( )
01 total_score = 0; // 所有分数之和
02 high_count = 0; // ≥6分的评委数量
03
04 for (i = 0; i < 8; i++){
05 cout << "请输入评委分数: ";
06 cin >> score;
07 ____________________;
08 if (score >= 6)
09 ________________;
10 }
11
12 if (high_count >= 5)
13 cout << total_score;
14 else
15 cout << 0;
{{ select(15) }}
-
01 total_score += score 02 high_count += 1 -
01 total_score += score 02 high_count += score -
01 high_count += 1 02 total_score += score -
01 total_score *= score 02 high_count *= 1
二、判断题(每题 2 分,共 20 分)
第 1 题 小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。
{{ select(16) }}
- 正确
- 错误
第 2 题 C++ 语句 cout<<('4’%'2'=='2'*'2'%2); 执行后的输出是 。
{{ select(17) }}
- 正确
- 错误
第 3 题 下面的 C++ 代码段执行时将报错,因为 是整数类型, 是布尔类型。由于类型不同,不能进行加法运
算。
01 bool a = true;
02 cout << (10 + a);
{{ select(18) }}
- 正确
- 错误
第 4 题 下面 C++ 代码段执行后将输出 0-3-6-9-。
01 for (int i = 0; i < 10; i++){
02 if (i % 3)
03 continue;
04 cout << i << "-";
05 }
{{ select(19) }}
- 正确
- 错误
第 5 题 执行下面的 C++ 代码段,如果 是基本数据类型,则语句cout<<(N); 将被执行 次或无数次(即死循环)。
01 cin >> N;
02 while (N)
03 cout << (N);
{{ select(20) }}
- 正确
- 错误
第 6 题 下面的 C++ 代码段可正常执行,删除 continue 不影响执行效果。
01 for (i = 0; i < 10; i++){
02 i += 1;
03 continue;
04 }
05 cout << (i);
{{ select(21) }}
- 正确
- 错误
第 7 题 下面的 C++ 代码段用于计算 到 之间且包含 的所有数字中含有的 的个数,如 到 含有 个 ,而 到 则只含有 个 。如果将 while (i!= 0)改为 while(abs(i)),则执行结果相同。
01 cout << "请输入正整数N:";
02 cin >> N;
03 cnt = 0; // 保存3的个数
04 for (k = 1; k < N + 1; k++){
05 i = k;
06 while (i != 0){
07 if (i % 10 == 3)
08 cnt += 1;
09 i /= 10;
10 }
11 }
12 cout << cnt;
{{ select(22) }}
- 正确
- 错误
第 8 题 下面的 C++ 代码段执行将不会有输出,因为内层循环 j 总是 开始,i*j%10 == 0 将会被满足,执行break,故而 i 小于 ,不会满足if 判断条件。
01 for (i = 1; i < 10; i++)
02 for (j = 0; j < i; j++)
03 if (i * j % 10 == 0)
04 break;
05 if(i >= 10)
06 cout << (i*j);
{{ select(23) }}
- 正确
- 错误
第 9 题 下列 C++ 代码执行后将输出 1#4#9#16#16。
01 cnt = 0;
02 for (i = 1; i < 5; i++){
03 for (j = 1; j < i + 1; j++)
04 if (i * j % 10 == 0)
05 break;
06 if (j >= i + 1)
07 cout << (i * j) << "#";
08 }
09 if(i >= 5)
10 cout << (i * j);
{{ select(24) }}
- 正确
- 错误
第 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
*/
01 for (i = 1; i < 10; i++){
02 for (j = 1; j < 10; j++)
03 printf(" %d", i*j);
04 printf("\n");
05 }
{{ select(25) }}
- 正确
- 错误