#GESP1350. [GESP202603一级] 客观题
[GESP202603一级] 客观题
一、单选题(每题 2 分,共 30 分)
第 1 题 年春节联欢晚会上一个武术表演节目《武》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备 ( )
{{ select(1) }}
- 检测重心的重力传感器
- 预装的 算法程序
- 接收动作指令的遥控器
- 拍摄其他机器人的摄像头
第 2 题 小明学习编程有一段时间了,他想在图形环境下把当前目录(或文件夹)下的文本文件 20260314.txt 的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态 ( )
{{ select(2) }}
- 单击右键并选择弹出菜单中的“重命名”
- 双击左键
- 按功能键
- 按回车键
第 3 题 下面 C++ 代码可以执行,有关说法正确的是 ( )
01 double PI = 3.1415926;
02 cout << (PI);
{{ select(3) }}
- 为了方便初学者,
cout<<(PI)和cout<<(pi)效果相同,即变量的大小写不敏感 cout<<(PI)修改为cout<<(Pi)能正常执行- 不能用
PI做变量名,因为要保存圆周率这个常量 - 将程序中全部
PI都改写为Pai,将能正常执行,不会报错
第 4 题 C++ 表达式 3*3%2 的值为 ( )
{{ select(4) }}
第 5 题 整型变量 a、b 的初值都是 ,则下面的 C++ 代码执行后的输出是 ( )
01 a, b = 3, 4;
02 cout << (a + 2) << (b - 2) << endl;
03 cout << a << b << endl;
{{ select(5) }}
-
01 61 02 43 -
01 52 02 34 -
01 62 02 44 -
01 62 02 32
第 6 题 下⾯ C++ 代码的相关说法,正确的是 ( )
01 int N = 0;
02 cin >> N;
03 cout << (N);
{{ select(6) }}
- 执行时如输入
10,则将输出10 - 执行时如输入
3.14,将报错 - 执行时如输入
ABC,将报错 - 执行时如输入
-10,将报错
第 7 题 下面 C++ 代码执行时,其说法正确的是 ( )
01 int M = 0, N = 0;
02 cin >> M;
03 cin >> N;
04
05 if (N > M)
06 cout << (N - M);
07 else
08 cout << (M - N);
{{ select(7) }}
- 如果输入一个正数和一个负数,其输出结果肯定是大于
- 不管是负整数、正整数亦或 ,其结果肯定是大于等于
- 如果
N和M是相等的整数,将不会有输出 - 如果
N和M输入带有小数点的数,将按整数部分计算
第 8 题 下面 C++ 代码执行后的输出是 ( )
01 int i, tnt = 1;
02 for (i = 0; i < 5; i++)
03 tnt *= i;
04 printf("%2d%2d\n", tnt, i);
{{ select(8) }}
-
24 5 -
10 5 -
0 4 -
0 5
第 9 题 执行下面 C++ 代码段求序列 -1+2+3-4+5+6-7+8+9-10+11+12.....
之值。例如输入 4,则计算序列前 4
项的值,规律如序列所示,输出为 0。下面说法中正确的是 ( )
01 int N, tnt, i;
02 cout << "请输入正整数:";
03 cin >> N;
04
05 tnt = 0;
06 for (i = 1; i < N + 1; i++) // L1
07 if (i % 3 == 1) //L2
08 tnt += -i;
09 else
10 tnt += i;
11 cout << tnt;
{{ select(9) }}
- 行中
i<N+1应该修为i<N才会符合预期 - 行中
i%3==1应修改为i%3==0才会符合预期 - 行中
i%3==1修改为i%3与当前程序效果相同 - 当前代码能实现题目所描述计算目标
第 10 题 下面 C++ 代码的相关说法,正确的是 ( )
01 int i;
02 for (i = 1; i < 10; i++){
03 if (i % 2 == 0){
04 continue; // L1
05 }
06 else
07 cout << i << "#";
08 }
09 cout << i << "END";
{{ select(10) }}
- 上述代码执行后,其输出是
1#3#5#7#9#9END - 删除
else后的执行效果与当前代码相同 - 删除
else且将cout<<i<<"#"移入 行下面,则执行效果与当前代码相同 - 在
cout<<i<<"END"前增加判断if(i>10),其执行效果与当前代码相同
第 11 题 一个正整数的每位都是个位数,称为数位,最高位非 。下面的 C++ 代码用于求正整数的所有数位之和,简称数位和。如 123 的各数位分别是 、、,则其数位和为 1+2+3,结果为 。为实现该目标,横线处应该填写的代码是 ( )
01 int N;
02 cin >> N;
03 int tnt = 0;
04 while (N != 0){
05 ____________;
06 ____________;
07 }
08 cout << "N的数位和为:" << tnt;
{{ select(11) }}
-
01 tnt += N/10 02 N /= 10 -
01 tnt += N%10 02 N /= 10 -
01 tnt += N/10 02 N %= 10 -
01 tnt = tnt + N%10 02 N %= 10
第 12 题 小明想要快速知道任给一个正整数中有多少个奇数位(数位值是奇数),下面的 C++ 代码是其实现,横线处应
该填入的代码是 ( )
01 int N;
02 cin >> N;
03
04 int odd_count = 0; // 记录奇数的个数
05 int old_number = N; // 保存原数
06
07 while (N != 0){
08 if (_________________)
09 odd_count += 1;
10
11 N = (N - N % 10) / 10;
12 }
13 cout << old_number << "中共有 " << odd_count << " 个奇数";
{{ select(12) }}
N%10%2 == 0N%10%2 == 1N/10/2 == 1N/2/10 == 0
第 13 题 小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数M 和 N;然后将较大的数字放在较小的前面,拼成一个 位数;将这个 位数除以 的余数添加到 位数的后面,得到一个 位数;最后判断这个 位数能否被 整除。下面的 C++ 代码用于判断 M 和 N 是否符合全部要求,如果符合则输出 Y 否则输出 N。例如输入 和 ,可以拼出 .恰好是 的倍数,则输出 Y。关于下面代码描述正确的是 ( )
01 int M, N, Q;
02 cin >> M >> N;
03
04 if(M > N) // L1
05 Q = M*100+N;
06 else
07 Q = N*100+M;
08
09 if((Q*10+Q%3) % 14 == 0) //L2
10 cout << "Y";
11 else
12 cout << "N";
{{ select(13) }}
- 代码段不能完成正确判断
- 行代码中条件应该改为
M<=N - 行代码应该改为
if ((Q*10+0/3)%14 == 0) - 代码段可以不使用变量
Q,而是在区分M和N大小后分别直接用它们来判断
第 14 题 执行下面 C++ 代码可以判断一个 位正整数 N 的高 位和低 位的差是否是 的倍数。例如 就符合要求。横线处应该填入 ( )
01 cin >> N;
02 if (___________________________)
03 cout << N << "符合条件" << endl;
{{ select(14) }}
((N % 1000)- (N / 1000)) / 314 == 0((N / 1000) - (N % 1000)) % 314 == 0((N % 1000)- (N / 1000))/ 314((N / 1000) - (N % 1000)) % 314
第 15 题 N 是一个正整数。如果 N 的所有奇数位的数位和等于所有偶数位的数位和,则称它是一个“双螺旋数”。例如 的所有奇数位的数位和是 ,同时它的所有偶数位的数位和也是 ,则 就是一个双螺旋数。下面的 C++ 代码用于判断输入的 是否为双螺旋数。空白处应该填入的代码是 ( )
01 int i, N, N1=0, N2=0, N0;
02 cin >> N;
03 N0 = N;
04 while (N){
05 _________________________
06 _________________________
07 }
08 if(N1 == N2)
09 cout << N0 << "是双螺旋数" << endl;
{{ select(15) }}
-
01 N1 += N%10, N /= 10; 02 N2 += N%10, N /= 10; -
01 N1 += N/10, N /= 10; 02 N2 += N/10, N /= 10; -
01 N1 += N%10, N %= 10; 02 N2 += N%10, N %= 10; -
01 N1 += N/10, N %= 10; 02 N2 += N/10, N %= 10;
二、判断题(每题 2 分,共 20 分)
第 1 题 小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息, 那么可以推测这块手表中装有一款特定操作系统。
{{ select(16) }}
- 正确
- 错误
第 2 题 C++ 表达式 4%2 和2*2%2 的结果相同。
{{ select(17) }}
- 正确
- 错误
第 3 题 下面 C++ 代码段成功执行后将输出 。
01 for (i = 1; i < 10; i++)
02 if (i % 3 == 0)
03 break;
04 cout << i;
{{ select(18) }}
- 正确
- 错误
第 4 题 下面能够正常执行的 C++ 代码段用于求 到 之和, 为正整数。因为 i<N+1,所以是 到 且包含 之和。
01 tnt = 0;
02 cout << "请输入正整数:";
03 cin >> N;
04 total = 0;
05 for (i =1; i < N + 1; i++) ;
06 total += i;
07 cout << total;
{{ select(19) }}
- 正确
- 错误
第 5 题 执行下面的 C++ 代码段,其语句 cout<<(N) 将被执行 次或无数次(即死循环)。
01 cin >> N;
02 while (N)
03 cout << (N);
{{ select(20) }}
- 正确
- 错误
第 6 题 下面的 C++ 代码段的变量都是整型,它能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同。例如,121 和 414 都是对称数,而 123 不是对称数。
01 cout << "请输入正整数:";
02 cin >> n;
03
04 old_number = n;
05 new_number = 0;
06 while (n != 0){
07 new_number = new_number * 10 + n % 10;
08 n /= 10;
09 }
10
11 if (old_number == new_number)
12 cout << "对称数";
13 else
14 cout << "非对称数";
{{ select(21) }}
- 正确
- 错误
第 7 题 执行下面的 C++ 代码段,如果变量都为整型变量,输入为大于 的整数,则输出数值一定为 -N 的值。
01 cin >> N;
02 total = 0;
03 for (i = -N; i < N; i +=2)
04 total += i;
05 cout << total;
{{ select(22) }}
- 正确
- 错误
第 8 题 执行 C++ 语句printf("%d\n",3.14) 将报错。
{{ select(23) }}
- 正确
- 错误
第 9 题 执行下面的 C++ 代码后将输出 2500
01 int cnt = 0;
02 for (int i = 1; i < 100; i++)
03 cnt += i++;
04 cout << cnt;
{{ select(24) }}
- 正确
- 错误
第 10 题 小明在测试 C++ 的printf 的功能时执行了printf(“%-5d\n",314),则代码输出的结果是 -5314。
{{ select(25) }}
- 正确
- 错误