#GESP202603C1T1. 单选题(每题 2 分,共 30 分)

单选题(每题 2 分,共 30 分)

一、单选题(每题 2 分,共 30 分)

第 1 题 2026年春节联欢晚会上一个武术表演节目《武BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微跟跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备( )。

{{ select(1) }}

  • 检测重心的重力传感器
  • 预装的AI算法程序
  • 接收动作指令的遥控器
  • 拍摄其他机器人的摄像头

第 2 题 小明学习编程有一段时间了,他想在图形环境下把当前目录(或文件夹)下的文本文件20260314.txt的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态( ):

{{ select(2) }}

  • 单击右键并选择弹出菜单中的“重命名”
  • 双击左键
  • 按功能键F1
  • 按回车键

第 3 题 下面 C++ 代码可以执行,有关说法正确的是( )。

1 double PI = 3.1415926;
2 cout << (PI);

{{ select(3) }}

  • 为了方便初学者,cout<<(PI)cout<<(pi) 效果相同,即变量的大小写不敏感
  • cout<<(PI) 修改为 cout<<(Pi) 能正常执行
  • 不能用PI做变量名,因为要保存圆周率这个常量
  • 将程序中全部PI都改写为Pai,将能正常执行,不会报错

第 4 题 C++ 表达式 3*3%2 的值为( )。

{{ select(4) }}

  • 81
  • 27
  • 4
  • 1

第 5 题 整型变量a、b的初值都是4,则下面的 C++ 代码执行后的输出是( )。

1 a,b=3,4;
2 cout<<(a+2)<<(b-2)<<endl;
3 cout<<a<<b<<endl;

{{ select(5) }}

  • 61
    43
    
  • 52
    34
    
  • 62
    44
    
  • 62
    32
    

第 6 题 下面 C++ 代码的相关说法,正确的是( )。

1 int N = 0;
2 cin>>N;
3 cout<<(N);

{{ select(6) }}

  • 执行时如输入10,则将输出10
  • 执行时如输入3.14,将报错
  • 执行时如输入ABC,将报错
  • 执行时如输入-10,将报错

第 7 题 下面 C++ 代码执行时,其说法正确的是( )。

1 int M = 0, N = 0;
2 cin>>M; cin>>N;
3 if (N > M)
4     cout<<(N-M);
5 else
6     cout<<(M-N);

{{ select(7) }}

  • 如果输入一个正数和一个负数,其输出结果肯定是大于0
  • 不管是负整数、正整数亦或0,其结果肯定是大于等于0
  • 如果N和M是相等的整数,将不会有输出
  • 如果N和M输入带有小数点的数,将按整数部分计算

第 8 题 下面 C++ 代码执行后的输出是( )。

1 int i, tnt = 1;
2 for (i = 0; i < 5; i++)
3     tnt += i;
4 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。下面说法中正确的是( )。

1 int N, tnt, i;
2 cout << "请输入正整数:";
3 cin >> N;
4
5 tnt = 0;
6 for (i = 1; i < N + 1; i++) // L1
7     if (i % 3 == 1) // L2
8         tnt += -i;
9     else
10        tnt += i;
11 cout << tnt;

{{ select(9) }}

  • L1行中 i < N + 1 应该改为 i < N 才会符合预期
  • L2行中 i % 3 == 1 应修改为 i % 3 == 0 才会符合预期
  • L2行中 i % 3 == 1 修改为 i % 3 与当前程序效果相同
  • 当前代码能实现题目所描述计算目标

第 10 题 下面 C++ 代码的相关说法,正确的是( )。

1 int i;
2 for (i = 1; i < 10; i++){
3     if (i % 2 == 0){
4         continue; // L1
5     }
6     else
7         cout << i << "#";
8 }
9 cout << i << "END";

{{ select(10) }}

  • 上述代码执行后,其输出是 1#3#5#7#9#9END
  • 删除else后的执行效果与当前代码相同
  • 删除else且将 cout<<i<<"#" 移入L1行下面,则执行效果与当前代码相同
  • cout<<i<<"END" 前增加判断 if(i>10),其执行效果与当前代码相同

第 11 题 一个正整数的每位都是个位数,称为数位,最高位非0。下面的 C++ 代码用于求正整数的所有数位之和,简称数位和。如123的各数位分别是1、2、3,则其数位和为1+2+3,结果为6。为实现该目标,横线处应该填写的代码是( )。

1 int N;
2 cin >> N;
3 int tnt = 0;
4 while (N != 0){
5     ____________
6     ____________
7 }
8 cout << "N的数和为:" << tnt;

{{ select(11) }}

  • tnt += N / 10;
    N /= 10;
    
  • tnt += N % 10;
    N /= 10;
    
  • tnt += N / 10;
    N %= 10;
    
  • tnt = tnt + N % 10;
    N %= 10;
    

第 12 题 小明想要快速知道任给一个正整数中有多少个奇数位(数位值是奇数),下面的 C++ 代码是其实现,横线处应该填入的代码是( )。

1 int N;
2 cin >> N;
3
4 int odd_count = 0; //记录奇数的个数
5 int old_number = N; //保存原数
6
7 while (N != 0){
8     if (____________)
9         odd_count += 1;
10    N = (N - N % 10) / 10;
11 }
12 cout << old_number << "中共有" << odd_count << "个奇数";

{{ select(12) }}

  • N % 10 % 2 == 0
  • N % 10 % 2 == 1
  • N / 10 / 2 == 1
  • N / 2 / 10 == 0

第 13 题 小明和弟弟在玩一个拼数字游戏,游戏规则是:二人各写一个两位正整数M和N;然后将较大的数字放在较小的前面,拼成一个4位数;将这个4位数除以3的余数添加到4位数的后面,得到一个5位数;最后判断这个5位数能否被14整除。下面的 C++ 代码用于判断M和N是否符合全部要求,如果符合则输出Y否则输出N。例如输入85和79,可以拼出85792,恰好是14的倍数,则输出Y。关于下面代码描述正确的是( )。

1 int M, N, Q;
2 cin >> M >> N;
3
4 if(M > N) // L1
5     Q = M * 100 + N;
6 else
7     Q = N * 100 + M;
8
9 if((Q * 10 + Q % 3) % 14 == 0) // L2
10    cout << "Y";
11 else
12    cout << "N";

{{ select(13) }}

  • 代码段不能完成正确判断
  • L1行代码中条件应该改为 M <= N
  • L2行代码应该改为 if((Q * 10 + Q / 3) % 14 == 0)
  • 代码段可以不使用变量Q,而是在区分M和N大小后分别直接用它们来判断

第 14 题 执行下面C++代码可以判断一个6位正整数N的高3位和低3位的差是否是314的倍数。例如628314就符合要求。横线处应该填入( )。

1 cin >> N;
2 if (____________)
3     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的所有奇数位的数位和等于所有偶数位的数位和,则称它是一个“双螺旋数”。例如12375的所有奇数位的数位和是9,同时它的所有偶数位的数位和也是9,则12375就是一个双螺旋数。下面的C++代码用于判断输入的N是否为双螺旋数。空白处应该填入的代码是( )。

1 int i, N, N1=0, N2=0, N0;
2 cin >> N;
3 N0 = N;
4 while (N){
5     ____________
6     ____________
7 }
8 if (N1 == N2)
9     cout << N0 << "是双螺旋数" << endl;

{{ select(15) }}

  • N1 += N % 10, N /= 10;
    N2 += N % 10, N /= 10;
    
  • N1 += N / 10, N /= 10;
    N2 += N / 10, N /= 10;
    
  • N1 += N % 10, N %= 10;
    N2 += N % 10, N %= 10;
    
  • N1 += N / 10, N %= 10;
    N2 += N / 10, N %= 10;