GESP 2024年12月_C++二级试卷

从PDF导入:GESP 2024年12月_C++二级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选

2024年10月8日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是( )。

A. 天体物理
B. 流体力学
C. 人工智能
D. 量子理论
第2题 中级 2.0分 单选
计算机系统中存储的基本单位用B来表示,它代表的是( ),比如某个照片大小为3MB。
A. Byte
B. Block
C. Bulk
D. Bit
第3题 中级 2.0分 单选
C++语句cout << (3 + 3 % 3 * 2 - 1) 执行后输出的值是( )。
A. -1
B. 4
C. 56
D. 2
第4题 中级 2.0分 单选
下面C++代码执行后其输出是( )。

A. 123456789
B. 0123456789
C. 12345678910
D. 012345678910
第5题 中级 2.0分 单选
下面C++代码的相关说法中,正确的是( )。

A. 上述代码执行后其输出相当于求1-10的和(包含10)
B. 上述代码执行后其输出相当于求1-10的和(不包含10)
C. 上述代码执行后其输出相当于求0-10的和(不包含10)
D. 上述代码执行后将输出不确定的值
第6题 中级 2.0分 单选
下面C++代码执行后输出是( )。

A. 1
B. 2
C. 9
D. 10
第7题 中级 2.0分 单选
下面C++代码执行后的输出是( )。

A. 0#0#0#0#0#0#0#1#
B. 0#0#0#0#0#0#1#
C. 0#0#0#0#1#
D. 0#0#0#0#
第8题 中级 2.0分 单选
下面C++代码用于输出0-100之前(包含100)能被7整除但不能被3整除的数,横线处填入的代码是( )。

A. i % 7 == 0 && i % 3 != 0
B. !(i % 7) && i % 3 != 0
C. i % 7 && i % 3
D. i % 7 == 0 && !(i % 3 == 0)
第9题 中级 2.0分 单选
下面C++代码用于求正整数各位数字之和,横线处不应填入代码是( )。

A. tnt = tnt + N % 10
B. tnt += N % 10
C. tnt = N % 10 + tnt
D. tnt = N % 10
第10题 中级 2.0分 单选
下图的C++程序执行后的输出是( )。

A. 0010120123
B. 01012012301234
C. 001012012301234
D. 01012012301234012345
第11题 中级 2.0分 单选
下面C++代码用于实现图示的九九乘法表。相关说法错误的是( )。

/* 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 */ for (int Hang=1; Hang<10; Hang++){ for (int Lie=1; Lie 9) printf("%d*%d=%d ", Lie, Hang, Lie*Hang); else printf("%d*%d=%d ", Lie, Hang, Lie*Hang); // L2 } printf("\n"); // L1 }

A. 将L1注释的printf("\n") 移到L2注释所在行,效果相同
B. 将L1注释的printf("\n") 修改为print("%c", '\n') 效果相同
C. 将Lie * Hang > 9 修改为Lie * Hang >= 10 效果相同
D. 将Lie * Hang > 9 修改为Hang * Lie > 9 效果相同
第12题 中级 2.0分 单选
在数学中N!表示N的阶乘,即1到N的乘积。下面的C++用于求1-N的阶乘之和。其中不能实现阶乘和的选项是( )。

A. nowNum *= i; tnt += nowNum;
B. nowNum = nowNum * i; tnt = tnt + nowNum;
C. nowNum *= i; tnt = nowNum + tnt;
D. nowNum = nowNum + i; tnt *= nowNum;
第13题 中级 2.0分 单选

下面C++代码用于输出N和M之间(可以包括N和M)的孪生素数。孪生素数是指间隔为2的两个数均为素数,如11和13分别是素数,且间隔为2。isPrime(N)用于判断N是否为素数的函数。为完成上述功能,横线处应填上的代码是( )。

A. M - 2
B. M - 1
C. M
D. M + 1
第14题 中级 2.0分 单选
下面C++代码实现输出如下图形,横线应填入的代码是( )。

/* 高度:5 * *** ***** ******* ********* */ int height; cout << "高度: "; //获取用户输入的高度 cin >> height; for (i=0; i

A. height-i, 2*i
B. height, 2*i
C. height-i-1, 2*i+1
D. height-i-1, 2*i+1
第15题 中级 2.0分 单选
下面C++代码执行后的输出是30,则横线处不能填入( )。

A. max(max(a, b), c)
B. min(a+b, c)
C. sqrt(a+b+c)
D. (a+b+c)/2
第16题 中级 2.0分 判断
在Windows的资源管理器中为已有文件A建立副本的操作是Ctrl+C,然后Ctrl+V。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
在C++代码中,假设N为正整数,则cout << (N - N / 10 * 10) 将获得N的个位数。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
在C++语句cout << (10 <= N <= 12) 中,假设N为12,则其输出为1。( )
T. 正确
F. 错误
第19题 中级 2.0分 判断
如果C++表达式int(sqrt(N))*int(sqrt(N)) == N 的值为True,则说明N为完全平方数,如4、9、25等。( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
下面C++代码执行后将输出2*3=6。( )

T. 正确
F. 错误
第21题 中级 2.0分 判断
以下C++代码因为循环变量为_将导致错误,即不能作为变量名称,不符合C++变量命名规范。( )

T. 正确
F. 错误
第22题 中级 2.0分 判断
下面C++代码执行后因为有break,将输出0。( )

T. 正确
F. 错误
第23题 中级 2.0分 判断
下面的C++代码执行后将输出18行"OK"。( )

T. 正确
F. 错误
第24题 中级 2.0分 判断
将下面C++代码中的i = 1 调整为i = 0 的输出结果相同。( )

T. 正确
F. 错误
第25题 中级 2.0分 判断
下面两段C++代码都是用于求1-10的和,其运行结果相同。通常说来,for循环都可以用while循环实现。( )

T. 正确
F. 错误
第26题 中级 25.0分 编程
寻找数字

小杨有一个正整数a,小杨想知道是否存在一个正整数b满足a=b^4。 【数据范围】对于全部数据,保证有1<=t<=10^5。

【输入格式】
第一行包含一个正整数t,代表测试数据组数。
对于每组测试数据,第一行包含一个正整数代表a。
【输出格式】
对于每组测试数据,如果存在满足条件的正整数b,则输出b,否则输出-1。
【样例输入】
3
16
81
10
【样例输出】
2
3
-1
第27题 中级 25.0分 编程
数位和

小杨有n个正整数,小杨想知道这些正整数的数位和最大值是多少。 "数位和"指的是一个数字中所有数位的和。例如: 对于数字12345,它的各个数位分别是1, 2, 3, 4, 5。将这些数位相加,得到:1+2+3+4+5=15 因此,12345的数位和是15。 【数据范围】 对于全部数据,保证有1<=n<=10^5,每个正整数不超过10^9。

【输入格式】
第一行包含一个正整数n,代表正整数个数。
之后n行,每行包含一个正整数。
【输出格式】
输出这些正整数的数位和的最大值。
【样例输入】
3
16
81
10
【样例输出】
9
💬