GESP_C++_三级[2023.3]

题目总数:26
总分数:130
时间:不限时
第 1 题    单选题

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

A.

 编辑

B.

 保存

C.

 调试

D.

 编译

第 2 题    单选题

 二进制数 11.01 在十进制下是( )。

A.

 3.01

B.

 3.05

C.

  3.125

D.

 3.25

第 3 题    单选题

 已知大写字符'A'的 ASCII 编码的十六进制表示为 0x41,则字符'F'的 ASCII 编码 的十六进制表示为( )。

A.

46

B.

47

C.

48

D.

49

第 4 题    单选题

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

A.

 &

B.

 &&

C.

  *

D.

 **

第 5 题    单选题

 如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )。

A.

0

B.

5

C.

6

D.

7

第 6 题    单选题

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

A.

 int a[];

B.

 int b['3'];

C.

  int c[3.0];

D.

 int[3] d;

第 7 题    单选题

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

A.

 正整数的二进制表示中只会出现 0 和 1。

B.

  10 不是 2 的整数次幂,所以十进制数无法转换为二进制数。

C.

 从二进制转换为 8 进制时,可以很方便地由低到高将每 3 位二进制位转换为

对应的一位 8 进制位。
D.

 从二进制转换为 16 进制时,可以很方便地由低到高将每 4 位二进制位转换为

对应的一位 16 进制位。
第 8 题    单选题

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

A.

 数组必须先定义后使用。

B.

  数组的所有元素在内存中是连续存放的。

C.

 除了字符数组,在定义数组时“[]”内必须有常数。

D.

 不能对数组赋值,但可以对数组的每个基础类型的元素赋值

第 9 题    单选题

 一个 int 类型的值,做以下哪个操作,一定会变回原来的值?( )

A.

 左移 3 位,再右移 3 位。

B.

 右移 3 位,再左移 3 位。

C.

  按位或 7,再按位与-8。

D.

 按位异或 7,再按位异或 7。

第 10 题    单选题

 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a

A.

  ((a / b) == 1)

B.

 ((a & b) == a)

C.

 ((a ^ b) == 0)

D.

 ((a | b) == b)

第 11 题    单选题

 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“小于等于 a 且 是 4 的倍数”的整数中最大的?( )

A.

 (a & (~3))

B.

 ((a << 2) >> 2)

C.

 (a ^ 3)

D.

 ((a - 1) | 3) + 1

第 12 题    单选题

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

A.

 a = a ^ b

B.

  b = a ^ b

C.

 a = a + b

D.

 b = a + b

第 13 题    单选题

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

A.

 min > array[i]

B.

 min < array[i]

C.

 min = array[i]

D.

 以上均不对。

第 14 题    单选题

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

A.

 res = res + array[i]

B.

 res = res & array[i]

C.

 res = res | array[i]

D.

 res = res ^ array[i]

第 15 题    单选题

 一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。

A.

24

B.

12

C.

6

D.

3

第 16 题    判断题

 如果 a 为 int 类型的变量,且表达式((a | 3) == 3)的值为 true,则说明 a 在从 0 到 3 之间(可能为 0、可能为 3)

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

 在 C++语言中,表达式(0xf == 015)的值为 true。

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

 在 C++语言中,数组被定义时,它的大小就确定了。

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

  在 C++语言中,可以使用字符(如'0')作为数组下标。

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

 字符常量'\0'常用来表示字符串结束,它和字符常量'0'是不同的。

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

 在 C++语言中,长度为 n 的数组,合理的下标范围是从 0 到 n,包括 0 和 n。

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

 数据编码方式只有原码、反码、补码三种。

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

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

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

 一个算法可以用不同的形式来描述,但要求描述比较规范,因此不能用自然 语言描述。

A.
正确
B.
错误
第 25 题    问答题

  密码合规检测

【问题描述】

网站注册需要有用户名和密码,编写程序以检查用户输入密码的有效性。合 规的密码应满足以下要求:

1、只能由 a-z 之间 26 个小写字母、A-Z 之间 26 个大写字母、0-9 之间 10 个 数字以及!@#$四个特殊字符构成。

2、密码最短长度:6 个字符,密码最大长度:12 个字符。

3、大写字母、小写字母和数字必须至少有其中两种,以及至少有四个特殊 字符中的一个。

查看答案

第 26 题    问答题

 春游

【问题描述】

老师带领同学们春游。已知班上有N位同学,每位同学有从 0 到N− 1 的唯 一编号。到了集合时间,老师确认是否所有同学都到达了集合地点,就让同学们 报出自己的编号。到达的同学都会报出的编号,不会报出别人的编号,但有的同 学很顽皮,会多次报出。你能帮老师找出有哪些同学没有到达吗?

【输入描述】

输入包含 2 行。第一行包含两个整数N和M,表示班级有N位同学,同学们 共有M次报出编号。约定 2 ≤ N, M≤ 1000。

第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范围 内。

查看答案