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

2024年03月01日

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

第1题 以下不属于计算机输入设备的有( )。

A.键盘
B.音箱
C.鼠标
D.传感器

答案:B

第2题 计算机系统中存储的基本单位用B来表示,它代表的是( )。

A. Byte
B. Block
C. Bulk
D. Bit

答案:A

第3题 常量7.0的数据类型是()。

A. double
B. float
C. void
D. int

答案:A

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

A. 变量定义时可以不初始化
B. 变量被赋值之后的类型不变
C. 变量没有定义也能够使用
D. 变量名必须是合法的标识符

答案:C

第5题 以下不可以作为C++标识符的是()。

A. x321
B. 0x321
C. x321_
D. _x321

答案:B

第6题 以下哪个不是C++语言的关键字?

A. int
B. for
C. do
D. cout

答案:D

第7题 如果a、b和c都是int类型的变量,下列哪个语句不符合C++语法?

A. c = a + b;
B. c += a + b;
C. c = a = b;
D. c = a ++ b;

答案:D

第8题 如果用两个int类型的变量a和b分别表达长方形的长和宽,则下列哪个表达式不能用来计算长方形的周长?

A. a + b * 2
B. 2 * a + 2 * b
C. a + b + a + b
D. b + a * 2 + b

答案:A

第9题 表达式((3 == 0) + ‘A’ + 1 + 3.0)的结果类型为()。

A. double
B. int
C. char
D. bool

答案:A

第10题 如果a为int类型的变量,且a的值为6,则执行a *= 3;之后,a的值会是()。

A. 3
B. 6
C. 9
D. 18

答案:D

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

A. (a == 0) && (b == 0)
B. (a == b == 0)
C. (!a) && (!b)
D. (a == 0) + (b == 0) == 2

答案:B

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

A. a * 4
B. a / 4 * 4
C. (a + 3) / 4 * 4
D. a - a % 4 + 4

答案:C

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

A. a + b
B. (a + b) * 100
C. b * 100 + a
D. a * 100 + b

答案:D

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

A. i++
B. i *= 2
C. i += 2
D. i * 2

答案:B

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

A. 210
B. 113
C. 98
D. 15

答案:C

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

第16题 在Windows系统中通过键盘完成对选定文本移动的按键组合是先Ctrl+X, 移动到目标位置后按Ctrl+V。

答案:正确

第17题 程序员用C、C++、Python、Scratch等编写的程序能在 CPU 上直接执行。

答案:错误

第18题 在C++语言中,注释不宜写得过多,否则会使得程序运行速度变慢。

答案:错误

第19题 在C++语言中,标识符中可以有数字,但不能以数字开头。

答案:正确

第20题 '3’是一个int类型常量。

答案:错误

第21题 if语句中的条件表达式的结果必须为bool类型。

答案:错误

第22题 for语句的循环体至少会执行一次。

答案:错误

第23题 如果a为int类型的变量,则赋值语句a = a + 3;是错误的,因为这条语句会导致a无意义。

答案:错误

第24题 如果a为int类型的变量,则表达式(a / 4 == 2)和表达式(a >= 8 && a <= 11)的结果总是相同的。

答案:正确

第25题 表达式(3.5 * 2)的计算结果为7.0,且结果类型为double。

答案:正确

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

第26题每月天数

第27题长方形面积