最好用电脑,谷歌浏览器做题; 页面打开不要超过1天,不然就失效了。

202309C语言3级


1.单选题

1.⼈们所使⽤的⼿机上安装的App通常指的是()。


A.⼀款操作系统

B.⼀款应⽤软件

C.⼀种通话设备

D.以上都不对

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


A.60

B.20

C.5

D.1

3.已知⼤写字符 'A' 的ASCII编码的⼗六进制表⽰为 0x41 ,则字符 'L' 的ASCII编码的⼗六进制表⽰为( )。


A.4A

B.4B

C.4C

D.52

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


A.~

B.~~

C.<

D.<<

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


A.32

B.16

C.8

D.4

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


A.2

B.3

C.23

D.24

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


A.double a[];

B.double b[] = {1, 2.0, '3'};

C.double c[3.0];

D.double[] d = new double[3];

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


A.只有⼗进制和⼆进制能够⽤来表⽰⼩数,⼋进制和⼗六进制不可以。

B.常⽤的进制包括⼆进制、⼋进制、⼗进制、⼗六进制,其他进制在⽇常⽣活中很少使⽤。

C.对任意正整数,其⼆进制表⽰不会⽐它的⼗进制表⽰更短。

D.正整数的⼋进制表⽰中,每⼀位可能出现的最⼤数字是8。

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


A.可以定义 0 个元素的数组。

B.不能定义 -1 个元素的数组。

C.数组下标越界访问会产⽣编译错误。

D.程序运⾏时发⽣数组下标的越界访问,程序依然可能正常结束。

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


A.a + 1000 - 1000 == a

B.a * 2 / 2 == a

C.(a & 1) == 1

D.(a | 1) == a + 1

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)

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


A.a - 'A' <= 26

B.'A' <= a <= 'Z'

C.'A' <= 'a' <= 'Z'

D.('A' <= a) && (a <= 'Z')

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;

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


A.res += array[i];

B.res *= array[i]

C.res = array[i]

D.以上均不对。

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


A.15

B.28

C.45

D.55
 
 
 

2.判断题

1.⼆进制数 101.101 在⼗进制下是 5.005。  ( )


A.正确

B.错误

2.在C++语⾔中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使⽤时应注意合理使⽤括号。( )


A.正确

B.错误

3.字符常量 '3' 的值和 int 类型常量 3 的值是相同的,只是占⽤的字节数不同。( )


A.正确

B.错误

4.在C++语⾔中,长度为n的数组,访问下标为 n的元素会引起编译错误。( )


A.正确

B.错误

5.在C++语⾔中,所有 int 类型的值,经过若⼲次左移操作( << )后,它们的值总会变为 0 。( )


A.正确

B.错误

6.在C++语⾔中,数组下标的⼤⼩决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序⽆关。( )


A.正确

B.错误

7.在C++语⾔中,定义数组时, [] 中必须指定元素个数。()


A.正确

B.错误

8.著名的哥德巴赫猜想:任⼀⼤于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。( )


A.正确

B.错误

9.在C++语⾔中,表达式 (0xff == 255) 的值为 true 。( )


A.正确

B.错误

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


A.正确

B.错误

3.编程题

1.⼩杨的储蓄
 
⼩杨共有N个储蓄罐,编号从0到N-1。从第 1 天开始,⼩杨每天都会往存钱罐⾥存钱。 具体来说,第i天他会
挑选⼀个存钱罐ai,并存⼊i元钱。 过了D天后,他已经忘记每个储蓄罐⾥都存了多少钱了,你能帮帮他吗?
 
输⼊ 2 ⾏,第⼀⾏两个整数 N,D;第⼆⾏D个整数,其中第i个整数为ai(保证0<=ai<=N-1)。每⾏的各个整数之间⽤单个空格分隔。保证1<=N<=1000; 1<=D<=1000
 
输出N个⽤单个空格隔开的整数,其中第i个整数表⽰编号为 
i-1的存钱罐中有多少钱(i=1,...,N)。
 
在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任何提⽰信息。
样例输入 1
2 3
0 1 0
样例输出 1 
4 2
样例解释 1
 
⼩杨在第1天、第2天、第3天分别向0号、  1号、  0号存钱罐存了1元钱、  2元钱、  3元钱,因此0号存钱罐有 
 1+3=4元钱,⽽1 号存钱罐有2元钱。
样例输入 2
 
3 5
0 0 0 2 0
样例输出 2
 
11 0 4





2.N进制数指的是逢N进⼀的计数制。例如,⼈们⽇常⽣活中⼤多使⽤⼗进制计数,⽽计算机底层则⼀般使⽤⼆进
制。除此之外,⼋进制和⼗六进制在⼀些场合也是常⽤的计数制(⼗六进制中,⼀般使⽤字母 A  ⾄ F  表⽰⼗⾄⼗五)。
现在有N个数,请你分别判断他们是否可能是⼆进制、⼋进制、⼗进制、⼗六进制。例如, 15A6F就只可能是⼗六进制,⽽ 1011  则是四种进制皆有可能。







`

1.单选题
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
2.判断题
1 2 3 4 5
6 7 8 9 10
3.编程题
1 2