2021年09月06日 计算机_编程基础2
考点1:左移运算符
代码int i=3;i<<=4;
i的值等于多少?()
- A 40
- B 110000(二进制)
- C 12
- D -48
解析
显示答案/隐藏答案
正确答案: B<<
是左移运算符的意思,左移运算符是用来将一个数的各二进制位全部左移若干位。
这里可以理解为把3化为2进制,然后统一左移4位。
比如3的二进制 0000 0011
左移4位 0011 0000
= 48
考点2:循环条件
下面的程序中, int32_t
表示一个有符号的 32 位整数,程序的入口是 main 函数,问最终 res 的结果是多少?
1 | int32_t f(int32_t a,int32_t b){ |
- A
–(2^31+2^30+…+2^2+2^1+2^0)
- B
0
- C
-1
- D
程序会死循环
解析
显示答案/隐藏答案
正确答案: D考点3:C语言指针 内存图
下列代码段将打印出 ().
1 |
|
- A 3,2,3
- B 2,2,2
- C 3,3,3
- D 3,3,2
解析
显示答案/隐藏答案
正确答案: C首先经过a++,a变成了3;
p1是指向a的地址的,因此*p1
就是a的值,即为3;
p2是指向p1的地址的,因此*p2
就是p1的值,即a的地址,那么**p2
就是a的值,也就是3
考点4:自增运算
i=2,(i++)/3
的结果是()
- A 0
- B 2
- C 0.67
- D 1
解析
显示答案/隐藏答案
正确答案: A后++,先取值,再加一
因为i++操作是在i/3完成之后,再对i进行加1操作的,所以结果是2/3,又因为2个int型相除,所以结果是0;
验证
1 | int i = 2, b = (i++) / 3; |
运行结果:
1 | 3 |
考点5:重载要求:参数列表不同
下面哪个方法是 public void example(){...}
的重载方法? ( )
- A
public void Example( int m){...}
- B
public int example(){...}
- C
public void example2(){...}
- D
public int example ( int m, float f){...}
解析
显示答案/隐藏答案
正确答案: D两同一不同
- 在同一个类中
- 方法名相同
- 参数列表不同
- 参数类型不同
- 参数位置不同
- 参数个数不同
考点6:二进制的表示范围
中国人口数量在10亿~20亿,如果用二进制记录人口数量,则至少需要_____位的长度。
- A 30
- B 31
- C 33
- D 63
- E 64
- F 65
解析
显示答案/隐藏答案
正确答案: B$2^{32}=42 9496 7295$约等于42亿
$2^{31}=21 4748 3647$约等于21亿
10个亿就是1 000 000 000
20个亿就是2 000 000 000
要求:「如果用二进制记录人口数量,则至少需要_____位的长度」
给出的四个选项中
A.$2^{30}=10 7374 1824$ 满足了10个亿但是显然不满足20亿
B.$2^{31}=21 4748 3648$ 满足20个亿完全符合题意。所以选B
C.D.E.F嫌大
考点7:计算机的存储系统一般指
计算机的存储系统一般指( )
- A
ROM
- B 内存(主存)
- C
RAM
- D 外存(辅存)
- E 控制器
解析
显示答案/隐藏答案
正确答案: BD内存:包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)。
外存:磁盘、光盘、固态存储器等等。