CCF GESP 2023年6月认证 C++ 2级

单选题
共 15 道 每题 2 分 共计 30 分
第 1 题
高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
A
编辑
B
保存
C
调试
D
编译
第 2 题

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

A

if 条件判断 then 语句块

B

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

C

while 条件判断 do 语句块

D

while not 条件判断 do 语句块

第 3 题
下列关于 C++ 语言的叙述,正确的是( )。
A
char 类型变量不能赋值给 int 类型的变量。
B
两个 int 类型变量相乘,计算结果还是 int 类型。
C
计算两个 int 类型变量相乘时,如果乘积超出了 int 类型的取值范围,程序会报错崩溃。
D
计算两个 double 类型变量相除时,如果除数的值为 0.0,程序会报错崩溃。
第 4 题
下列关于 C++ 语言的叙述,不正确的是( )。
A
if 语句中的判断条件必须用小括号 ‘(’ 和 ‘)’ 括起来。
B
for 语句中两个 ‘;’ 之间的循环条件可以省略,表示循环继续执行的条件一直满足。
C
循环体包含多条语句时,可以用缩进消除二义性。
D
除了“先乘除、后加减”,还有很多运算符优先级。
第 5 题
以下哪个是 C++ 语言的关键字?( )
A
main
B
max
C
double
D
sqrt
第 6 题

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

A

>=

B

/=

C

||

D

<>

第 7 题
如果 a 为 int 类型的变量,b 为 char 类型的变量,则下列哪个语句不符合 C++语法?( )
A
a = a + 1.0;
B
a = (int)(b - '0');
C
b = (char)(a + '0');
D
(int)b = a;
第 8 题
如果用两个 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
第 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 题
如果 a 为 char 类型的变量,且 a 的值为 'C'(已知 'C' 的 ASCII 码为 67),则执行 cout << (a + 2); 会输出( )。
A
E
B
C+2
C
C2
D
69
第 11 题
如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断 “a 等于 1 且 b 等于 1” 的是( )。
A
(a == b) && (b == 1)
B
(a && b)
C
(a == b == 1)
D
(a * b == 1)
第 12 题
如果 a 为 char 类型的变量,下列哪个表达式可以正确判断 “a 是数字”?( )
A
'0' <= a && a <= '9'
B
'1' <= a && a <= '0'
C
'0' <= a <= '9'
D
'1' <= a <= '0'
第 13 题
在下列代码的横线处填写( ),使得输出是 9。
#include <iostream>
using namespace std;
int main() {
    char a = '3', b = '6';
    cout << ________; // 在此处填入代码
    return 0;
}
A
(a + b)
B
(a + b - '0')
C
(char)(a + b)
D
(char)(a + b - '0')
第 14 题
在下列代码的横线处填写( ),可以使得输出是 42。
#include <iostream>
using namespace std;
int main() {
    int sum = 0;
    for (int i = 1; i <= 20; i++)
        if (________) // 在此处填入代码
            sum += i;
    cout << sum << endl;
    return 0;
}
A
i % 3 == 0
B
20 % i == 0
C
i <= 8
D
i >= 18
第 15 题
执行以下 C++ 语言程序后,输出结果是( )。
#include <iostream>
using namespace std;
int main() {
    for (char x = 'A'; x <= 'D'; x++)
        if ((x != 'A') + (x == 'C') + (x == 'D') + (x != 'D') == 3)
            cout << x;
    return 0;
}
A
A
B
B
C
C
D
D
单选题部分已到底了。