嵌入式笔试刷题(第60天)
11.【多选】若有定义:int a[3][4]; 能够表示 a[1][1] 的是( )
选项:A. *(a[1] + 1)B. *(&a[1][1])C. (*(a+1))[1]D. *(a + 5)
答案:A B C
解析:
- A:
a[1]是指向第2行的首地址,加1为第2行的第2个元素 - B:
&a[1][1]取地址再解引用等价于值 - C:
a+1是第2行地址,(*(a+1))[1]是第2行第2列 - D:
a + 5超出了二维数组范围
12.【多选】int a; int *p = &a; 以下说法正确的是( )
选项:A. *(p++) == a++B. &*p == &aC. (*p)++ == a++D. *&a == a
答案:B C D
解析:
- A:
p++后 p 不再指向 a,错误 - B:
&*p与&a等价 - C:解引用后自增,与
a++比较无误 - D:
*&a等价于a
13.【多选】以下表达式中,哪些是正确的( )
选项:A. a += (a++)B. a += (++a)C. (a++) += a;D. (++a) += (a++);
答案:A B D
解析:
- A 和 B:虽存在顺序问题但语法允许
- C:
a++是右值,不能作为左值 - D:前置++结果为左值,合法表达式
14.【多选】下列关于进程和线程的叙述中,错误的是( )
选项:A. 一个进程只可拥有一个线程B. 一个线程只可拥有一个进程C. 一个进程可拥有若干个线程D. 一个线程可拥有若干个进程
答案:A B D
解析:
- C 正确
- A 错,进程可拥有多个线程
- B 错,线程属于进程,不能拥有进程
- D 错,线程是进程中的执行单元,不拥有进程
15.【多选】死锁的必要条件是( )
选项:A. 互斥B. 请求又保持C. 非剥夺D. 循环等待
答案:A B C D
解析:四个条件为死锁必要条件,称为“死锁产生的四个必要条件”。
16. 判断题
① 宏定义返回
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。
