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

2024年03月02日

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

第1题 以下存储器中的数据不会受到附近强磁场干扰的是( )。

A.硬盘
B.U盘
C.内存
D.光盘

答案:D

第2题 下列流程图,属于计算机的哪种程序结构?( )。

A.顺序结构
B.循环结构
C.分支结构
D.数据结构

答案:C

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

A.double类型的变量占用内存的大小是浮动的
B.bool类型的变量占用1字节内存
C.int类型变量的取值范围不是无限的
D.char类型的变量有256种取值

答案:A

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

A.变量定义后,可以使用赋值语句改变它的值
B.变量定义时,必须指定类型
C.变量名必须为合法标识符
D.合法标识符可以以数字开始

答案:D

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

A.return
B.max
C.else
D.case

答案:B

第6题 以下哪个不是C++语言的运算符?

A.=
B./=
C.-=
D.!=

答案:A

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

A.b = a + 1;
B.b = a + ‘1’;
C.b = ‘a’++;
D.b = a++;

答案:C

第8题 如果a、b、c和d都是int类型的变量,则下列哪个表达式能够正确计算它 们的平均值?

A. (a + b + c + d) / 4
B. (a + b + c + d) % 4
C. (a + b + c + d) / 4.0
D. (a + b + c + d) % 4.0

答案:C

第9题 如果a为char类型的变量,且a的值为’2’,则下列哪条语句执行后,a的 值不会变为’3’?

A.a = a + 1;
B.a + 1;
C.a = 1 + a;
D.++a;

答案:B

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

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

答案:B

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

A.(!a) || (!b)
B.(a == b == 0)
C. (a == 0) && (b == 0)
D.(a == 0) - (b == 0) == 0

答案:A

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

A.a <= a <= z
B.a - ‘a’ <= ‘z’ - ‘a’
C.‘a’ <= a <= ‘z’
D.a >= ‘a’ && a <= ‘z’

答案:D

第13题 在下列代码的横线处填写(),使得输出是50 10

A.a -= b
B.a += b
C.a = b - a
D.a = b

答案:C

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

A.ch < ‘5’
B.ch >= 5
C.ch >= ‘4’
D.ch % 2 == 1

答案:D

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

A.false
B.true
C.0
D.1

答案:C

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

第16题 明明和笑笑在“小庙会”上分别抽到一个4GB和4096MB的U盘,容量大的 盘是笑笑的( )。

答案:错误

第17题 IPv4的地址通常用“点分十进制”的表示形式,形如(a.b.c.d),其中 a、b、c、d都是1~255之间的十进制整数( )。

答案:错误

第18题 在C++语言中,一个程序不能有多个main函数。

答案:正确

第19题 在C++语言中,标识符中可以有下划线_,但不能以下划线_开头。

答案:错误

第20题 如果a是int类型的变量,而且值为1,则表达式’a’的值为’1’。

答案:错误

第21题 在if … else语句中,else子句可以嵌套if … else语句,但if子句 不可以,因为会造成二义性。

答案:错误

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

答案:错误

第23题 C++语言中>=是运算符,但=>不是。

答案:正确

第24题 如果a为char类型的变量,且取值为小写字母,则执行语句a = a - ‘a’ + ‘A’;后,a的值会变为与原值对应的大写字母。

答案:正确

第25题 表达式(10.0 / 2)的计算结果为5.0,且结果类型为double。

答案:正确

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

第26题画三角形

第27题百鸡问题