嵌入式笔试刷题(第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 内核、以及实用电路知识等内容。

全部评论
点赞 回复 分享
发布于 04-25 21:43 山西
mark一下答案解析
点赞 回复 分享
发布于 04-25 17:32 黑龙江
16题有个疑惑,不应该是把偏移后的ptr2再转十进制输出吗? 0x709014 转换为十进制是 7376916啊,怎么输出 11806932?
点赞 回复 分享
发布于 04-21 18:08 广东

相关推荐

03-31 18:02
门头沟学院 Java
白日梦想家_等打包版:不要的哦佛给我
点赞 评论 收藏
分享
工科女的日常:真诚建议:别再用这种花哨的模板,可以看看我发的那个零经验找实习发帖子
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务