#GESP2306C2. c++二级客观题2023年6月GESP真题

c++二级客观题2023年6月GESP真题

image

单选题(每题 2 分,共 30 分)

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

{{ select(1) }}

  • 编辑
  • 保存
  • 调试
  • 编译

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

image

{{ select(2) }}

  • if 条件判断 then 语句块
  • if 条件判断 then 什么也不做 else 语句块
  • while 条件判断 do 语句块
  • while not 条件判断 do 语句块

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

{{ select(3) }}

  • char 类型变量不能赋值给 int 类型的变量。
  • 两个 int 类型变量相乘,计算结果还是 int 类型。
  • 计算两个 int 类型变量相乘时,如果乘积超出了 int 类型的取值范围,程序会报错崩溃。
  • 计算两个 double 类型变量相除时,如果除数的值为 0.0,程序会报错崩溃。

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

{{ select(4) }}

  • if 语句中的判断条件必须用小括号‘(’和‘)’括起来。
  • for 语句中两个‘;’之间的循环条件可以省略,表示循环继续执行的条件一 直满足。
  • 循环体包含多条语句时,可以用缩进消除二义性。
  • 除了“先乘除、后加减”,还有很多运算符优先级。

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

{{ select(5) }}

  • main
  • max
  • double
  • sqrt

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

{{ select(6) }}

  • > =
  • /=
  • ||
  • <>

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

{{ select(7) }}

  • a = a + 1.0;
  • a = (int)(b - '0');
  • b = (char)(a + '0');
  • (int)b = a;

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

{{ select(8) }}

  • a / b * (0.0 + h)
  • (0.0 + a * h) / b
  • a * h / (b + 0.0)
  • (a + 0.0) * h / b

9. 以下哪个循环语句会无限次执行?( )

{{ select(9) }}

  • for (int a = 0; a; a++) ;
  • for (bool b = false; b <= true; b++) ;
  • for (char c = 'A'; c < 'z'; c++) ;
  • for (double d = 0.0; d < 10.0; d += 0.001) ;

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

{{ select(10) }}

  • E
  • C+2
  • C2
  • 69

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

{{ select(11) }}

  • (a == b) && (b == 1)
  • (a && b)
  • (a == b == 1)
  • (a * b == 1)

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

{{ select(12) }}

  • '0' <= a && a <= '9'
  • '1' <= a && a <= '0'
  • '0' <= a <= '9'
  • '1' <= a <= '0'

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

image

{{ select(13) }}

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

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

image

{{ select(14) }}

  • i % 3 == 0
  • 20 % i == 0
  • i <= 8
  • i >= 18

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

image

{{ select(15) }}

  • A
  • B
  • C
  • D

、判断题(每题 2 分,共 20 分)

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

{{ select(16) }}

  • 正确
  • 错误

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

{{ select(17) }}

  • 正确
  • 错误

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

{{ select(18) }}

  • 正确
  • 错误

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

{{ select(19) }}

  • 正确
  • 错误

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

{{ select(20) }}

  • 正确
  • 错误

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

{{ select(21) }}

  • 正确
  • 错误

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

{{ select(22) }}

  • 正确
  • 错误

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

{{ select(23) }}

  • 正确
  • 错误

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

{{ select(24) }}

  • 正确
  • 错误

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

{{ select(25) }}

  • 正确
  • 错误

编程题(每题 25 分,共 50 分)