GESP 2025年3月_C++三级试卷

从PDF导入:GESP 2025年3月_C++三级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
Base64编码将每3字节的输入数据编码为4字节的输出数据。如果输入数据长度不是3的倍数,会用=号填充。在Base64编码中,如果输入字符串的长度为10字节,编
A. 12字节
B. 13字节
C. 14字节
D. 16字节
第2题 中级 2.0分 单选
UTF-8编码规则如下:
A. 0xC0 0x80
B. 0xF0 0x90 0x80 0x80
C. 0x80 0x80 0x80
D. 0xFF 0xFE 0xFD
第3题 中级 2.0分 单选
在8位二进制原码表示中,八进制数-5的二进制形式是什么( )
A. 10000101
B. 11111010
C. 11111011
D. 00000101
第4题 中级 2.0分 单选
十进制数111.111的二进制表示可以是下面的( )
A. 1101111.0001110001
B. 1101110.1001110001
C. 1101111.1001110001
D. 1101111.0011110001
第5题 中级 2.0分 单选
在C++中,补码的主要作用是()
A. 提高浮点数的精度
B. 简化整数的加减法运算
C. 增加整数的表示范围
D. 优化内存分配
第6题 中级 2.0分 单选
在C++中,一个8位有符号整数(使用补码表示)的范围是()
A. -128到127
B. -127到128
C. -256到255
D. 0到255
第7题 中级 2.0分 单选
在C++中,以下代码的输出是什么()

A. -5
B. 5
C. 4294967291
D. 编译错误
第8题 中级 2.0分 单选
下列程序的作用是()
A. 将十进制数转换成八进制数
B. 将八进制数转换成十进制数
C. 将二进制数转换成八进制数
D. 将八进制数转换成16进制数
第9题 中级 2.0分 单选
下面程序是将十进制转十六进制,横线处应该填入的是()

A. cout << oct << decimal;
B. cout << decimal << decimal;
C. cout << hex << decimal;
D. 不能正确执行
第10题 中级 2.0分 单选
以下代码的说法正确的是什么()

A. 进行的是整体异或运算
B. 进行的是按位同或运算
C. 进行的是按位与运算
D. 进行的是按位异或运算
第11题 中级 2.0分 单选
下面枚举法查找最大值索引程序中,横线处应该填写的是()

A. if (arr[maxIndex] > arr[i])
B. if (arr[i]-1 > arr[maxIndex])
C. if (arr[i]+1 > arr[maxIndex])
D. if (arr[i] > arr[maxIndex])
第12题 中级 2.0分 单选
以下代码的功能是将数组中的奇数和偶数分别放在数组的前半部分和后半部分,横线处应该填入的是()
A. while (arr[left] % 2 == 0 && left < right) right--;
B. while (arr[right] % 2 == 0 && left < right) left--;
C. while (arr[right] % 2 != 0 && left < right) right--;
D. while (arr[right] % 2 == 0 && left < right) right--;
第13题 中级 2.0分 单选
下面程序最后能够得到HelloC++的是()

A. str.replace(0, 5, "C++");
B. str.replace(5, 5, "C++");
C. str.replace(1, 5, "C++");
D. str.replace(4, 5, "C++");
第14题 中级 2.0分 单选
想要得到字符串world,下面程序横线处应该填入的是()
A. str.insert(4, "World"); cout << str.substr(4, 4);
B. cout << str.substr(5, 5);
C. str.insert("World"); cout << str.substr(5, 5);
D. str.insert(5, "World"); cout << str.substr(5, 5);
第15题 中级 2.0分 单选
有n个正整数,假设一个正整数是美丽数字当且仅当该正整数是9的倍数但不是8的倍数。下面的程序是编写计算n个正整数中美丽数字的数量,横线处应该填入的是()
A. if (a % 9 != 0 && a % 8 != 0)
B. if (a % 9 == 0 & a % 8 == 0)
C. if (a % 9 == 0 && a % 8 != 0)
D. if (a % 9 == 0 & a % 8 != 0)
第16题 中级 2.0分 判断
判断一个三角形是否成立的条件只有:任意两边长度之和大于第三条边的长度( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
这段程序进行的是判断一个从键盘输入的字符的ASCII是否是奇数,若是,输出YES,否则,输出NO( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
闰年的定义:普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年。世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年。下面程序是判断是否是闰年的正确
T. 正确
F. 错误
第19题 中级 2.0分 判断
C++语句cout<<(n%15==0? "YES":"NO"); 能够判断一个整数能否被3和5同时整除( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
有n个同学,从中抽取任意个人数来参加学校组织的大合唱,共有2的n次幂个方法( )
T. 正确
F. 错误
第21题 中级 2.0分 判断
若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数是偶数的这类二进制数称为A类数,否则就称其为B类数。(13)10=(1101)2,其中1的个数为3
T. 正确
F. 错误
第22题 中级 2.0分 判断
该段程序将n不停地除以2,并输出此时的商和余数,直到n=0为止。( )
T. 正确
F. 错误
第23题 中级 2.0分 判断
两个13进制的数A和B,在10进制下分别表示10和11。(A+B)13=(18)13,也就是说13进制数A加上13进制数B,和是13进制数18。( )
T. 正确
F. 错误
第24题 中级 2.0分 判断
k进制,逢k进第二位,k²进百位,k³进千位( )
T. 正确
F. 错误
第25题 中级 2.0分 判断
CCF(十九进制) = 21AC(十三进制)(不区分大小写)( )
T. 正确
F. 错误
第26题 中级 25.0分 编程
2025

时间限制:1.0 s 内存限制:512.0 MB 小A有一个整数x,他想找到最小的正整数k使得下式成立:(x & k) + (x | k) = 2025。其中&表示二进制按位与运算,|表示二进制按位或运算。如果不存在满足条件的k,则输出-1。

【输入格式】
一行,一个整数x。
【输出格式】
一行,一个整数,若满足条件的k存在则输出k,否则输出-1。
【样例输入】

1025
【样例输出】

1000
第27题 中级 25.0分 编程
词频统计

时间限制:1.0 s 内存限制:512.0 MB 在文本处理中,统计单词出现的频率是一个常见的任务。现在,给定n个单词,你需要找出其中出现次数最多的单词。在本题中,忽略单词中字母的大小写(即Apple、apple、APPLE、aPPle等均视为同一个单词)。请你编写一个程序,输入n个单词,输出其中出现次数最多的单词。

【输入格式】
第一行,一个整数n,表示单词的个数;
接下来n行,每行包含一个单词,单词由大小写英文字母组成。
输入保证,出现次数最多的单词只会有一个。
【输出格式】
输出一行,包含出现次数最多的单词(输出单词为小写形式)。
【样例输入】

6
Apple
banana
apple
Orange
banana
apple
【样例输出】

apple
💬