嵌入式笔试刷题(第54天)
第11题
题目:Assert(bool) 是什么?需要包含什么头文件?如何使 assert 不生效?
答案:
- Assert 是一个宏;
- 需要包含头文件
<assert.h>
; - 若不希望 assert 生效,在头文件前加上
#define NDEBUG
。
解析:assert 宏用于在调试中断言条件成立。定义 NDEBUG
后宏失效,不执行断言。
第12题
题目:面向对象的三个基本特征。
答案:
封装、继承、多态
解析:
- 封装:数据和行为打包成类;
- 继承:子类复用父类属性和行为;
- 多态:相同接口调用不同实现(如虚函数机制)。
第13题
题目:输出什么?
main() { int a[7] = {1,2,3,4,5,6,7}; int *ptr = (int *) (&a + 1); printf("%d %d", *(a+1), *(ptr-1)); }
答案:
2 7
解析:
a + 1
是数组第二个元素:2;&a + 1
跨越整个数组,指向数组结尾后,再减1回到最后一个元素,即 7。
第14题
题目:以下重定向符表示什么意思?
答案:
1> 标准输出重定向到文件 2> 标准错误重定向到文件 2>&1 把标准错误重定向到标准输出 4<&0 把文件描述符4复制为标准输入(fd 0) cat file1 file2 > file3 把 file1 和 file2 合并,重定向输出到 file3(覆盖) cat file1 file2 >> file3 把 file1 和 file2 合并,追加输出到 file3(不覆盖)
第15题
题目:操作符优先级从高到低排列。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。