5295:[GESP202603一级] 客观题

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:文本裁判
金币值:
命题人:
提交:2 解决:0

题目描述

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

来源/分类