嵌入式笔试刷题(第11天)

1. 十进制数226转换成二进制和十六进制

十进制 226:

  • 二进制:111000100b11100010
  • 十六进制:E20xE2

正确答案:D. 0b11100010 , 0xE2

2. 宏定义计算题

宏定义:

#define MOD(x, y) x%y

执行语句:

int a = 13, b = 94;
printf("%d\n", MOD(b, a+4)); 

会展开为:

printf("%d\n", b % a + 4); // 相当于 (b % a) + 4

但是这不是我们想要的,应是:

b % (a + 4) = 94 % 17 = 9

但原宏未加括号,实际运行为:

94 % 13 + 4 = 3 + 4 = 7

正确答案:B. 7

3. strcmp("2.56", "4.728") 的值类型

字符串比较函数 strcmp 比较 ASCII 值:

  • '2'(50) vs '4'(52) → 前者小于后者,结果为负数(非零)

正确答案:A. 非零整数

4. 结构体大小计算

struct { short a; char b; float c; } st;

内存布局(假设 32 位系统):

  • short a: 2 字节
  • char b: 1 字节
  • 对齐需要填充 1 字节
  • float c: 4 字节

总大小:2 + 1 + 1(填充) + 4 = 8

正确答案应为:未给出,应该是 8(选项有误)

5.

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式笔试专栏 文章被收录于专栏

本专栏系统整理了嵌入式方向笔试中常见的知识点和高频考题,涵盖基础理论、常用算法、C语言陷阱、操作系统原理、驱动开发、常见外设通信协议(如 I2C/SPI/UART)、RTOS、Linux 内核、以及实用电路知识等内容。

全部评论
接好运
点赞 回复 分享
发布于 04-25 21:44 黑龙江
点赞 回复 分享
发布于 04-25 21:41 山西
😄😄😄😄
点赞 回复 分享
发布于 04-25 16:24 上海
#define N 3 #define Y(n) ((N+1)*n) 表达式为: 2*(N+Y(5+1)) → 2*(3 + ((3+1)*(5+1))) = 2*(3 + 4*6) = 2*(3 + 24) = 2*27 = 54 这个答案明显错了!应该是48😵
点赞 回复 分享
发布于 04-14 19:43 陕西

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务