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

11. C语言格式化输出语法错误

float num1 = 1.8495;
unsigned long num2 = 32;
printf(“%.2f”, %4ld%%\n”, num1, num2);

错误:

  • 使用了两个格式字符串:%.2f%4ld%%,但位置不对
  • 应该是:
printf("%.2f, %4ld%%\n", num1, num2);

✅ 修正后输出:1.85, 32%

12. C++ 虚函数、多态调用

程序:

class Father {
public:
    virtual void foo() { cout << "M" << endl; }
    void fun() { cout << "S" << endl; }
};

class Child : public Father {
public:
    void foo() { cout << "T" << endl; }
    void fun() { cout << "R" << endl; }
};

Father fa;
Child ch;
Father *pfa = &fa;
pfa->foo(); // M
pfa->fun(); // S

pfa = &ch;
pfa->foo(); // T(虚函数调用子类)
pfa->fun(); // S(非虚函数仍走父类)

✅ 输出顺序是:M S T S

13. C++ 多态的两种类型与实现方式

  • 多态类型:编译时多态(静态多态)运行时多态(动态多态)
  • 实现方式:静态多态:函数重载、模板动态多态:虚函数 + 基类指针或引用

✅ 填空答案:

编译时多态、运行时多态;函数重载/模板、虚函数机制

14. 链表中删除第 i 个结点的两句

代码:

if(q == NULL) return 0;
(1) p = q->next;
(2) q->next = p->next;
free(p);

解释:

  • q 指向第 i-1 个节点
  • p 指向第 i 个节点
  • q->next 改为 p->next,再释放 p

✅ 答案:

(1) p = q->next;
(2) q->next = p->next;

15. 牧场吃草问题(草生长问题)

题干总结:

  • 27头牛,6天吃光
  • 23头牛,9天吃光

设草地每天生长量为 x,初始草量为 S

列出方程:

27 * 6 = S + 6x → S = 162 - 6x  
23 * 9 = S + 9x → S = 207 - 9x
→ 联立解得 x = 15, S = 72

换成 21 头牛,要解:

21d = 72 + 15d → 6d 

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

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

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

全部评论
点赞 回复 分享
发布于 04-25 21:41 山西
😄😄😄😄
点赞 回复 分享
发布于 04-25 16:25 上海
mark一下
点赞 回复 分享
发布于 04-15 15:09 黑龙江

相关推荐

一只乌鸦:这不才9月吗,26到明年毕业前能一直找啊,能拿下提前批,转正的,offer打牌的都是有两把刷子的,为什么非要跟他们比。如果别人是9本硕+金牌+好几段大厂实习呢?如果别人是双非通天代呢?如果别人是速通哥呢?,做好自己就行了,我们做不到他们一样提前杀死比赛,但晚点到终点也没啥关系吧
双非应该如何逆袭?
点赞 评论 收藏
分享
10-25 19:38
已编辑
门头沟学院 嵌入式工程师
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务