嵌入式笔试刷题(第24天)
11. 双向循环链表插入节点操作
在
p
所指结点之后插入s
所指结点
正确顺序为:
s->prior = p; s->next = p->next; p->next->prior = s; p->next = s;
答案: D
12. 栈的可能出栈序列
进栈:a, b, c。栈是后进先出
- A. a b c ✅(先进先出,合理)
- B. b c a ❌(a 未出前,c 不可能先出)
- C. b a c ✅(进 a b,出 b,再进 c,出 a,出 c,合理)
- D. c b a ✅(先进 a b c,后出 c b a,合法)
答案: A、C、D 都合法,但题目只让选一个 → 最合理常规出栈顺序是
答案: A
13. 初始化 int 数组 a[100] 的方式
- A.
memset(a, 0, 100);
❌(只清前 100 个字节,int 共 400 字节) - B.
memset(a, 0, sizeof(a));
✅(正确) - C.
strlen(a)
❌(不是字符串) - D.
memset(a, 0, 100*sizeof(int));
✅
答案: B、D 均正确
14. 指针交换失败
void swap(int *a, int *b) { int *t; t = a; a = b; b = t; }
只是交换了形参指针,不影响外部实参
主函数:
int *p = &x, *q = &y; swap(p, q); printf("%d %d", *p, *q);
p、q 的值未变 → 输出 x=1, y=2
答案: B. 1 2
15. 运算符优先级判断
- %(取模) > +(加)✅
- &&(逻辑与) > =(赋值)✅
- [](下标) > ++(后缀自增)❌(后缀 ++ 优先级高)
- <<(左移)
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式笔试专栏 文章被收录于专栏
本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。