2023年GESP9月认证C++五级试卷解析
一、单选题(每题2分,共30分)
| 题号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
| 答案 |
A |
D |
C |
C |
A |
B |
A |
C |
C |
D |
B |
C |
B |
A |
C |
1、近年来,线上授课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括⽐较常用的手写板,那么它属于哪类设备?( )。
A.输⼊
B.输出
C.控制
D.记录
【答案】A
【考纲知识点】 计算机基础知识
【解析】本题属于考察计算机基础知识知识。手写板是输入信息的设备,选A。
2、如果a和b均为int类型的变量,且b的值不为0,那么下列能正确判断“a是b的3倍”的表达式是( )。
A. (a >> 3 == b)
B. (a - b) % 3 == 0
C. (a / b == 3)
D. (a == 3 * b)
【答案】D
【考纲知识点】 运算表达式和位运算
【解析】本题属于考察运算表达式和位运算知识。b不等于0,a是b的3倍。A选项中,a右移3位,相当于除以8;B是取余运算;如果a=7,b=2,a/b的结果也等于3,因为是整型,C选项也不正确;选D。
3、如果变量 a 和 b 分别为 double 类型和 int 类型,则表达式(a = 6,b = 3 * (7 + 8) / 2,b += a) 的计算结果为( )。
A.6
B.21
C.28
D.不确定
【答案】C
【考纲知识点】 数据类型和运算表达式
【解析】本题属于考察数据类型、逗号表达式、运算表达式知识。逗号表达式从左到右依次计算每一个表达式,整个逗号表达式的结果是最后一个表达式的计算结果,a=6,b=3*15/2=22,b=6+22=28,选C。
4、有关下⾯C++代码说法错误的是( )。

A.sumA() ⽤循环⽅式求从1到N之和,sumB()⽤递归⽅式求从1到N之和。
B.默认情况下,如果输⼊正整数1000,能实现求从1到1000之和。
C.默认情况下,如果输⼊正整数100000,能实现求从1到100000之和。
D.一般说来,sumA()的效率⾼于sumB()。
【答案】C
【考纲知识点】 函数和递归算法
【解析】本题属于考察递归和函数知识。sumA用循环求的是1到n的总和;sumB用递归的方式求1到n的总和。1加到100000的和大于int类型最大值,2147483647,会溢出,选C。
5、下⾯C++代码以递归⽅式实现字符串反序,横线处应填上代码是( )。

A. sIn[sIn.length() - 1] + sReverse(sIn.substr(0, sIn.length() - 1));
B. sIn[0] + sReverse(sIn.substr(1, sIn.length() - 1));
C. sReverse(sIn.substr(0, sIn.length() - 1)) + sIn[sIn.length() - 1];
D. sReverse(sIn.substr(1, sIn

最低0.47元/天 解锁文章
633

被折叠的 条评论
为什么被折叠?



