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

Base64 编码将每3字节的输入数据编码为4字节的输出数据。如果输入数据长度不是3的倍数,会用=号填充。在Base64编码中,如果输入字符串的长度为10字节,编码后的字符串长度是多少( )

2.

UTF-8编码规则如下: 

1字节:0xxxxxxx 

2字节:110xxxxx 10xxxxxx 

3字节:1110xxxx 10xxxxxx 10xxxxxx 

4字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 

以下哪个字节序列是合法的 UTF-8编码( )

3.

8位二进制原码表示中,八进制数-5的二进制形式是什么( )

4.

十进制数111.111的二进制表示可以是下面的( )。

5.

C++中,补码的主要作用是()

6.

C++中,一个8位有符号整数(使用补码表示)的范围是()

7.

C++中,以下代码的输出是什么()

1 int a = -5;
2 unsigned int b = a; 
3 cout << b;
8.

下列程序的作用是()

1 int main() {
2  int decimal = 25; 
3  cout << oct << decimal; 
4  return 0; 
5 }

9.

下面程序是将十进制转十六进制,横线处应该填入的是()

1 #include <iostream>
2 using namespace std; 
3
4 int main() { 
5  int decimal = 255; 
6  —————————————————— 
7  return 0; 
8 }

10.

以下代码的说法正确的是什么( )

1 #include <iostream>
2 using namespace std; 
3
4 int main() { 
5  int a = 0b1101; 
6  int b = 0b1011; 
7  cout << (a ^ b); 
8  return 0; 
9 }
10

11.

下面枚举法查找最大值索引程序中,横线处应该填写的是()

1 #include <iostream>
2 using namespace std; 
3
4 int main() { 
5  int arr[] = {3, 7, 2, 9, 5}; 
6  int maxIndex = 0; 
7  for (int i = 1; i < 5; i++) { 
8   ———————————————————————————————— 
9   { 
10    maxIndex = i; 
11   } 
12  } 
13  cout << maxIndex; 
14  return 0; 
15 }

12.

以下代码的功能是将数组中的奇数和偶数分别放在数组的前半部分和后半部分,横线处应该填入的是()

1 #include <iostream>
2 using namespace std; 
3
4 int main() { 
5  int arr[] = {1, 2, 3, 4, 5}; 
6  int left = 0, right = 4; 
7  while (left < right) { 
8   while (arr[left] % 2 == 1 && left < right) left++; 
9   ———————————————————————————————————————————————————— 
10   if (left < right) { 
11    swap(arr[left], arr[right]); 
12   } 
13  } 
14  for (int i = 0; i < 5; i++) { 
15   cout << arr[i] << " "; 
16  } 
17  return 0; 
18 }

13.

下面程序最后能够得到HelloC++的是()

1
2 int main() { 
3  string str = "HelloWorld"; 
4  ___________________ 
5  cout << str; 
6  return 0; 
7 }

14.

想要得到字符串world,下面程序横线处应该填入的是()

1 #include <iostream>
2 #include <string> 
3 using namespace std; 
4
5 int main() { 
6  string str = "HelloC++"; 
7  _________________ 
8  _________________ 
9  return 0; 
10 }

15.

n个正整数,假设一个正整数是美丽数字当且仅当该正整数是9的倍数但不是8的倍数。下面的程序是编写计算n个正整数中美丽数字的数量,横线处应该填入的是()

1 for (int i = 1; i <= n; i++) {
2  cin >> a; 
3  __________________________ 
4   cnt++; 
5 }

判断题 共 10 题
1.

判断一个三角形是否成立的条件只有:任意两边长度之和大于第三条边的长度

2.

这段程序进行的是判断一个从键盘输入的字符的ASCII是否是奇数,若是,输出 YES,否则,输出NO

1 int main()
2 { 
3  char x; 
4  scanf("%c", &x); 
5  int ASCII = (int)x; 
6  cout << (x & 1 ? "YES" : "NO") << '\n'; 
7  return 0; 
8 }

3.

闰年的定义: 

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如 2004 年、2020 年等就是闰年)。 

世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000 年是闰年)。 

下面程序是判断是否是闰年的正确程序

1  cin>>n;
2  cout<<((n%4==0&&n%100!=0)||(n%400==0))?1:0; 
3  return 0;
4.

C++语句cout<<(n%15==0?"YES":"NO");能够判断一个整数能否被35同时整除

5.

n个同学,从中抽取任意个人数来参加学校组织的大合唱,共有2n次幂个方法

6.

若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数是偶数的这类二进制数称为A类数,否则就称其为B类数。 

例如:

(13)10=(1101)2 ,其中1的个数为3则称此数为B类数;

(10)10=(1010)2 ,其中1的个数为2,称此数为A类数; 

判断(202510化为二进制后,1的个数为偶数个,因此2025A类数。

7.

该段程序将n不停地除以2,并输出此时的商和余数,直到n=0为止。

1 long long n; 
2 cin >> n; 
3 while(n != 0) { 
4  cout << n/2 << ' ' << n%2 << '\n'; 
5  n /= 2; 
6 }

8.

两个13进制的数AB,在10进制下分别表示1011。(A+B13=1813,也就是说13进制数A加上13制数B,和是13进制数18

9.

k进制,逢k进第二位,进百位,进千位;

10.

CCF(十九进制) = 21AC(十三进制)(不区分大小写)

问答题 共 2 题
1.

3.1 编程题 1

时间限制:1.0 s

内存限制:512.0 MB

3.1.1 2025

3.1.2 题目描述

A有一个整数 ,他想找到最小的正整数 使得下式成立:

   (x and y)+(x or y)=2025

其中and表示二进制按位与运算, 表示二进制按位或运算。如果不存在满足条件的y,则输出-1

3.1.3 输入格式

一行,一个整数x

3.1.4 输出格式

一行,一个整数,若满足条件的y存在则输出y,否则输出-1

3.1.5 样例

3.1.5.1 输入样例 1

3.1.5.2 输出样例 1

3.1.6 数据范围

对于所有测试点,保证0x2025

3.1.7 提示

   (x and y)+(x or y)=2025

其中:

and表示按位与运算,运算符为&

or表示按位或运算,运算符为|

2.

3.2 编程题 2

时间限制:1.0 s

内存限制:512.0 MB

3.2.9 词频统计

3.2.10 题目描述

在文本处理中,统计单词出现的频率是一个常见的任务。现在,给定n个单词,你需要找出其中出现次数最多的单词。在本题中,忽略单词中字母的大小写(即 AppleappleAPPLEaPPle等均视为同一个单词)。

请你编写一个程序,输入n个单词,输出其中出现次数最多的单词。

3.2.11 输入格式

第一行,一个整数n,表示单词的个数;

接下来n行,每行包含一个单词,单词由大小写英文字母组成。

输入保证,出现次数最多的单词只会有一个。

3.2.12 输出格式

输出一行,包含出现次数最多的单词(输出单词为小写形式)。

3.2.13 样例

3.2.13.3 输入样例 1

3.2.13.4 输出样例 1

3.2.14 数据范围

对于所有测试点,1n100,每个单词的长度不超过30,且仅由大小写英文字母组成。

C++ 编辑器
输入
输出