2023年09月CCF-GESP编程能力等级认证C++编程三级真题

2024年03月02日

一、单选题(共15题,共30分)

第1题 人们所使用的手机上安装的App通常指的是( )。

A:一款操作系统
B:一款应用软件
C:一种通话设备
D:以上都不对

答案:B

第2题 下列流程图的输出结果是?( )

A:60
B:20
C:5
D:1

答案:B

第3题 已知大写字符 ‘A’ 的ASCII编码的十六进制表示为 0x41 ,则字符 ‘L’ 的ASCII编码的十六进制表示为( )。

A:4A
B:4B
C:4C
D:52

答案:C

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

A:~
B:~~
C:<
D:<<

答案:B

第5题 如果数组定义为 long long array[] = {3, 5, 7, 2}; ,则数组 array 占用的字节数为( )。

A:32
B:16
C:8
D:4

答案:A

第6题 一个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最大为( )。

A:2
B:3
C:23
D:24

答案:A

第7题 以下数组定义,符合C++语言语法的是( )。

A:double a[];
B:double b[] = {1, 2.0, ‘3’};
C:double c[3.0];
D:double[] d = new double[3];

答案:B

第8题 下列关于进制的叙述,正确的是( )。

A:只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。
B:常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。
C:对任意正整数,其二进制表示不会比它的十进制表示更短。
D:正整数的八进制表示中,每一位可能出现的最大数字是8。

答案:C

第9题 下列关于C++语言中数组的叙述,不正确的是( )。

A:可以定义 0 个元素的数组。
B:不能定义 -1 个元素的数组。
C:数组下标越界访问会产生编译错误。
D:程序运行时发生数组下标的越界访问,程序依然可能正常结束。

答案:C

第10题 如果 a 是 int 类型的变量,下列哪个表达式的值一定为 true ?( )

A:a + 1000 - 1000 == a
B:a * 2 / 2 == a
C:(a & 1) == 1
D:(a | 1) == a + 1

答案:A

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

A:((a >= b) && (a <= b))
B:((a >> 1) == (b >> 1))
C:((a + b) == (a + a))
D:((a ^ b) == 0)

答案:B

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

A:a - ‘A’ <= 26
B:‘A’ <= a <= ‘Z’
C:‘A’ <= ‘a’ <= ‘Z’
D:(‘A’ <= a) && (a <= ‘Z’)

答案:D

第13题 在下列代码的横线处填写( ),可以使得输出是“20 10”。

A:a = a >> 8; b = a & 0xff
B:b = a >> 8; a = a & 0xff;
C:a = b; b = a & 0xff;
D:b = a; a = b;

答案:B

第14题 在下列代码的横线处填写( ),可以使得输出是“120”。

A:res += array[i];
B:res *= array[i]
C:res = array[i]
D:以上均不对。

答案:D

第15题 在下列代码的输出是( )。

A:15
B:28
C:45
D:55

答案:B

二、判断题(共10题,共20分)

第16题 二进制数 101.101 在十进制下是 5.005。

答案:错误

第17题 在C++语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。

答案:正确

第18题 字符常量 ‘3’ 的值和 int 类型常量 3 的值是相同的,只是占用的字节数不同。

答案:错误

第19题 在C++语言中,长度为n的数组,访问下标为n的元素会引起编译错误。

答案:错误

第20题 在C++语言中,所有 int 类型的值,经过若干次左移操作( << )后,它们的值总会变为 0 。

答案:正确

第21题 在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。

答案:错误

第22题 在C++语言中,定义数组时, [] 中必须指定元素个数。

答案:错误

第23题 著名的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。

答案:错误

第24题 在C++语言中,表达式 (0xff == 255) 的值为 true 。

答案:正确

第25题 如果 a 为 int 类型的变量,且表达式 ((a & 1) == 0) 的值为 true ,则说明 a 是偶数。

答案:正确

三、编程题(共2题,共50分)

第26题小杨的储蓄

第27题进制判断