202603 GESP认证 C++编程 一级真题试卷
剩余时间 --:--:--
单选题 共 15 题
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

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

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

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

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

1 int i, tnt = 1;
2 for (i = 0; i < 5; i++)
3  tnt *= i;
4 printf("%2d%2d\n", tnt, i);
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;


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";


11.

一个正整数的每位都是个位数,称为数位,最高位非0。下面的C++代码用于求正整数的所有数位之和,简称数位和。如 123 的各数位分别是123,则其数位和为 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;
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
11  N = (N - N % 10) / 10;
12 }
13 cout << old_number << "中共有 " << odd_count << " 个奇数";
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";


14.

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

1 cin >> N; 
2 if (___________________________) 
3  cout << N << "符合条件" << endl;
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;
判断题 共 10 题
1.

小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。

2.

C++表达式 4 % 2 2 * 2 % 2 的结果相同。

3.

下面C++代码段成功执行后将输出 0

1 for (i = 1; i < 10; i++)
2  if (i % 3 == 0)
3   break;
4 cout << i;


4.

下面能够正常执行的C++代码段用于求1N之和,N为正整数。因为 i < N + 1 ,所以是1N且包含N和。

1 tnt = 0;
2 cout << "请输入正整数:";
3 cin >> N;
4 total = 0;
5 for (i =1; i < N + 1; i++) ;
6  total += i;
7 cout << total;


5.

执行下面的C++代码段,其语句 cout << (N) 将被执行0次或无数次(即死循环)。

1 cin >> N; 
2 while (N) 
3  cout << (N);
6.

下面的C++代码段的变量都是整型,它能用于判断输入的正整数是否为对称数。所谓对称数是指从左到右和从右到左读该数,其值相同。例如, 121 414 都是对称数,而 123 不是对称数。( )

1 cout << "请输入正整数:";
2 cin >> n;
3
4 old_number = n;
5 new_number = 0;
6 while (n != 0){
7  new_number = new_number * 10 + n % 10;
8   n /= 10;
9 }
10
11 if (old_number == new_number)
12  cout << "对称数";
13 else
14  cout << "非对称数";


7.

执行下面的C++代码段,如果变量都为整型变量,输入为大于0的整数,则输出数值一定为 -N 的值。

1 cin >> N;
2 total = 0;
3 for (i = -N; i < N; i +=2)
4  total += i;
5 cout << total;
8.

执行C++语句 printf("%d\n", 3.14) 将报错。

9.

执行下面的C++代码后将输出 2500

1 int cnt = 0;
2 for (int i = 1; i < 100; i++)
3  cnt += i++;
4 cout << cnt;
10.

小明在测试C++printf 的功能时执行了 printf("%-5d\n", 314) ,则代码输出的结果是 -5314

问答题 共 2 题
1.

试题名称:交朋友 

时间限制1.0 s 

内存限制512.0 MB 

3.1.1 题目描述 

Alice 班上共有 4 个小朋友,身高分别为H1,H2,H3,H4,其中 Alice 的身高为H1。 

Alice 想要和身高最接近她的人交朋友,如果有多个人符合条件,则 Alice 想和其中较矮的那一人做朋友,你能告诉她这个人的身高是多少吗? 

3.1.2 输入格式 

输入共4行,第i行包含一个整数Hi,表示班上小朋友的身高。

3.1.3 输出格式 

输出1行,包含一个整数h,表示 Alice 想交的朋友的身高。 

3.1.4 样例 

3.1.4.1 输入样例 

3.1.4.2 输出样例 

3.1.5 样例解释 

样例 1 中,Alice 身高为 150,第 23 个小朋友与 Alice 身高差距为 15,同样最接近,Alice 选较矮的一个即第 3 身高为 135 的小朋友交朋友。 

3.1.6 数据范围 

保证100≤Hi≤199Hi互不相同。

2.

试题名称:数字替换 

时间限制1.0 s 

内存限制512.0 MB 

3.2.1 题目描述 

Alice 不喜欢数字 4,但觉得数字 8 寓意好,她想把数中的 4 全都替换成 8,若数中不含 4 则无需修改,你能帮帮她吗? 

3.2.2 输入格式 

输入一行,包含一个整数A,表示替换前的数。 

3.2.3 输出格式 

输出一行,包含一个整数B,表示替换后的数。 

3.2.4 样例 

3.2.4.1 输入样例 #1 

3.2.4.2 输出样例 #1 

3.2.4.3 输入样例 #2 

3.2.4.4 输出样例 #2 

3.2.4.5 样例解释 

对于样例1,输入 8459045 中有两个 4,都将其替换为了 8,得到 8859085。 

对于样例2,输入 123 中不包含 4,无需修改输入数字,输出 123。 

3.2.5 数据范围 

0≤A≤108

C++ 编辑器
输入
输出