试卷 2023年6月CCF GESP编程能力认证C++等级考试(二级)试卷
2023年6月CCF GESP编程能力认证C++等级考试(二级)试卷
选择题
第 1 题    单选题

高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的 可执行代码。

A.

编辑

B.

保存

C.

调试

D.

编译

第 2 题    单选题

以下哪个是C++语言的关键字?( )

A.

main

B.

max

C.

double

D.

sqrt

第 3 题    单选题

下列关于C++语言的叙述,不正确的是( )。

A.

if 语句中的判断条件必须用小括号‘(’和‘)’括起来。

B.

for 语句中两个‘;’之间的循环条件可以省略,表示循环继续执行的条件一 直满足。

C.

 循环体包含多条语句时,可以用缩进消除二义性。

D.

除了“先乘除、后加减”,还有很多运算符优先级。 

第 4 题    单选题

下列关于C++语言的叙述,正确的是( )。

A.

char 类型变量不能赋值给 int 类型的变量。

B.

两个 int 类型变量相乘,计算结果还是 int 类型。

C.

计算两个 int 类型变量相乘时,如果乘积超出了 int 类型的取值范围,程序 会报错崩溃。

D.

计算两个 double 类型变量相除时,如果除数的值为 0.0,程序会报错崩溃。

第 5 题    单选题

在下列代码的横线处填写( ),使得输出是9

A.

 (a + b)

B.

(a + b - '0')

C.

(char)(a + b)

D.

(char)(a + b - '0') 

第 6 题    单选题

如果 为 char 类型的变量,下列哪个表达式可以正确判断“是数字”? ()

A.

'0' <= a && a <= '9'

B.

'1' <= a && a <= '0'

C.

'0' <= a <= '9'

D.

'1' <= a <= '0'

第 7 题    单选题

如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于 1 且 b 等于1”的是( )。

A.

 (a == b) && (b == 1)

B.

(a && b)

C.

(a == b == 1)

D.

(a * b == 1)

第 8 题    单选题

如果 a 为 char 类型的变量,且 a 的值为'C'(已知'C'的 ASCII 码为 67), 则执行cout<<(a+2);会输出( )。

A.

E

B.

 C+2

C.

C2

D.

69

第 9 题    单选题

以下哪个循环语句会无限次执行?

A.

for (int a = 0; a; a++) ;

B.

for (bool b = false; b <= true; b++) ;

C.

for (char c = 'A'; c < 'z'; c++) ;

D.

for (double d = 0.0; d < 10.0; d += 0.001) ;

第 10 题    单选题

如果用两个 int 类型的变量 a 和 b 分别表达平行四边形的两条边长,用 int 类型的变量 h 表达 a 边对应的高,则下列哪个表达式不能用来计算 b 边对应的 高?( )

A.

a / b * (0.0 + h)

B.

(0.0 + a * h) / b

C.

a * h / (b + 0.0) 

D.

 (a + 0.0) * h / b 

第 11 题    单选题

如果 a 为 int 类型的变量,b 为 char 类型的变量,则下列哪个语句不符合C++语法?

A.

a = a + 1.0;

B.

a = (int)(b - '0');

C.

b = (char)(a + '0');

D.

(int)b = a;

第 12 题    单选题

以下哪个不是C++语言的运算符?( )

A.

>=

B.

 /=

C.

||

D.

<>

第 13 题    单选题

在下列代码的横线处填写( ),可以使得输出是42

A.

i % 3 == 0

B.

20 % i == 0

C.

i <= 8

D.

i >= 18

第 14 题    单选题

执行以下C++语言程序后,输出结果是( )。

A.

A

B.

B

C.

C

D.

D

第 15 题    单选题

能够实现下面流程图功能的伪代码是( )。

A.

if 条件判断 then 语句块

B.

if 条件判断 then 什么也不做 else 语句块

C.

while 条件判断 do 语句块

D.

while not 条件判断 do 语句块

判断题
第 16 题    判断题

诞生于1986年的中华学习机CEC-I入选了2021年的CCF计算机历史记忆(一 类),它的内存只有 64KB。当时的汉字编码字符集GB2312 中共有 6763 个汉字, 假如每个汉字用 2 个字节编码,将整个 GB2312 汉字字符集都放入 CEC-I 的内存, 也只占用了不超过 1/5 的内存空间。

A.
正确
B.
错误
第 17 题    判断题

如果 a 为 char 类型的变量,且取值为大写字母'F',则执行语句 a = a + 1; 后,a 的值会变为大写字母'G'。

A.
正确
B.
错误
第 18 题    判断题

++==都是 C++语言的运算符,但+=不是。

A.
正确
B.
错误
第 19 题    判断题

循环语句的循环体有可能无限制地执行下去。

A.
正确
B.
错误
第 20 题    判断题

在 if 语句中,如果条件成立时需要执行多条语句,可以使用大括号‘{’和 ‘}’将这些语句括起来。

A.
正确
B.
错误
第 21 题    判断题

如果 a 是 double 类型的变量,而且值为 3.5,则表达式 a * 10 的计算结果 为 35,且结果类型为 int。

A.
正确
B.
错误
第 22 题    判断题

在 C++语言中,标识符中可以有下划线‘_’。同时,‘_’也是 C++语言的运 算符。

A.
正确
B.
错误
第 23 题    判断题

在使用 C++语言编写程序时,不能使用 sqrtabs 等数学函数,包含<cmath> <math.h>头文件后就能够使用了。

A.
正确
B.
错误
第 24 题    判断题

域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称, CCF 编程能力等级认证官方网站的域名是gesp.ccf.org.cn,其中顶级域名是 gesp。

A.
正确
B.
错误
第 25 题    判断题

表达式 sqrt(9.0)的计算结果为 3,且结果类型为 int

A.
正确
B.
错误
编程题
第 26 题    问答题

CCF-GESP编程能力等级认证C++二级编程题:找素数。

【问题描述】

小明刚刚学习了素数的概念:如果一个大于 1 的正整数,除了 1 和它自身外,不能被其他正整数整除,则这个正整数是素数。现在,小明想找到两个正整数A和B之间(包括A和B)有多少个素数?

【输入描述】

输入 2 行,第一行包含正整数A,第二行包含正整数B。约定 2≤A≤B≤1000。

【输出描述】

输出一行,包含一个整数C,表示找到C个素数。

【样例输入 1】

2

10

【样例输出 1】

4

【样例解释 1】

在 2 和 10 之间有 4 个素数,分别为:2、3、5、7。

【样例输入 2】

98

100

【样例输出 2】

0

第 27 题    问答题

CCF-GESP编程能力等级认证C++二级编程题:自幂数判断。

【问题描述】

自幂数是指,一个N位数,满足各位数字N次方之和是本身。例如,153 是 3位数,其每位数的 3 次方之和,13 + 53 + 33 = 153,因此 153 是自幂数;1634是 4 位数,其每位数的 4 次方之和,14 + 64 + 34 + 44 = 1634,因此 1634 是自幂数。

现在,输入若干个正整数,请判断它们是否是自幂数。

【输入描述】

输入第一行是一个正整数M,表示有M个待判断的正整数。约定 1≤M≤100。

从第 2 行开始的M行,每行一个待判断的正整数。约定这些正整数均小于108。

【输出描述】

输出M行,如果对应的待判断正整数为自幂数,则输出英文大写字母'T',否则输出英文大写字母'F'。

提示:不需要等到所有输入结束在依次输出,可以输入一个数就判断一个数并输出,再输入下一个数。

 

【样例输入 1】

3

152

111

153

【样例输出 1】

F

F

T

【样例输入 2】

5

8208

548834

88593477

12345

5432

【样例输出 2】

T

T

T

F

F

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:90分钟