嵌入式笔试刷题专栏(第四天)

11. 写一个“标准”宏 MIN(A, B),并说明表达式 least = MIN(*p++, b) 返回什么值?

✅ 答案:

#define MIN(A, B) ((A) < (B) ? (A) : (B))

  • 使用宏时需要注意参数的副作用
  • least = MIN(*p++, b) 会出现宏展开:
least = ((*p++) < (b) ? (*p++) : (b));

这会导致 p++ 执行两次,不是你想要的行为,可能造成 未定义行为逻辑错误

✅ 正确做法:使用内联函数或避免带副作用的表达式作为参数。

12. 使用变量 a 给出以下定义:

一个整型数

int a;

一个指向整型数的指针

int *a;

一个指向指针的指针,它指向的指针是指向一个整型数

int **a;

一个有10个整型数的数组

int a[10];

一个有10个指针的数组,该指针是指向一个整型数的

int *a[10];

一个指向有10个整型数数组的指针

int (*a)[10];

一个指向函数的指针,该函数有一个整型参数并返回一个整型数

int (*a)(int);

一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数

int (*a[10])(int);

13. 简要叙述关键字 staticconst 的含义与作用。

✅ 答案:

  • static函数内部变量:保持其值,生命周期延长到程序结束。文件内部函数/变量:限制作用域,仅在当前文件中可见(避免命名冲突)。
  • const用于定义只读变量,防止被修改。例如:const int a = 5; 表示变量 a 不可再被赋值。

14. 全局变量与局部变量的区别?

作用域

文件内或整个程序

函数或语句块内部

生命周期

程序运行期间一直存在

函数运行时创建,用完释放

存储位置

数据段(.data/.bss)

栈区(stack)

初始值

默认值为 0

不初始化为随机值

15. 在不使用第三方变量的情况下交换两个变量的值(3种方法)

✅ 方法一:加法法

a = a + b;
b = a - b;
a = a - b;

✅ 方法二:异或法

a = a ^ b;
b = a ^ b;
a = a ^ b;

✅ 方法三:乘除法(适用于非 0 值)

a = a * b;
b = a / b;
a = a / b;

16. 写出至少 20 个常用 Linux 命令,含用法与例子

ls

列出文件

ls -l

列出详细信息

cd

改变目录

cd /etc

进入 /etc 目录

pwd

显示当前路径

pwd

mkdir

创建目录

mkdir test

创建 test 文件夹

rm

删除文件或目录

rm -rf test

强制删除 test

cp

拷贝文件

cp a.txt b.txt

复制 a 为 b

mv

移动或改名

mv a.txt c.txt

改名为 c.txt

touch

创建空文件

touch a.txt

cat

显示文件内容

cat a.txt

grep

文本搜索

grep "main" a.c

搜索 main

find

查找文件

find . -name "*.c"

ps

显示进程

ps -ef

所有进程

kill

杀死进程

kill -9 1234

chmod

修改权限

chmod +x a.out

chown

修改属主

chown user file

df

查看磁盘空间

df -h

du

查看目录大小

du -sh *

top

实时监控进程

top

ifconfig

查看网络信息

ifconfig

ping

网络测试

ping www.baidu.com

17. 下面的代码输出什么?为什么?

void foo(void) {
    unsigned int a = 6;
    int b = -20;
    (a + b > 6) ? puts("> 6") : puts("<= 6");
}

✅ 答案:

输出结果为:

> 6

解释:

  • a = 6 (无符号), b = -20 (有符号)
  • a + bint 被提升为 unsigned int-20 转换为无符号整数的大数值
  • 所以结果非常大,自然大于 6

18. 比较以下两种方式,哪种更好?并举例说明

#define dPS struct s *
typedef struct s * tPS;

✅ 答案:

推荐使用 typedef

  • #define文本替换,容易出错,不能调试
  • typedef类型定义,可读性更好,有类型检查
  • 例如:
tPS p1, p2;  // 都是 struct s *

而:

#define dPS struct s *
dPS p1, p2;  // 实际是 struct s *p1, p2; ⇒ p2 是 struct s,不是指针!

19. 求下列代码中 a, b, c 的值:

int a = 5, b = 7, c;
c = a+++b;

✅ 答案:

解析:a+++b 被解析为 a++ + b,即先 a+++ b

  • c = 5 + 7 = 12
  • a = 6, b = 7, c = 12

20. 下列代码打印的值是多少?

#include<stdio.h>

int main() {
    unsigned long long b = 1;
    int a = 100;
    printf("%d,%d", b, a);
    return 0;
}

✅ 答案:

输出:未定义行为

  • %d 用于打印 int,但 bunsigned long long,类型不匹配
  • 正确写法:
printf("%llu, %d", b, a);

全部评论

相关推荐

自动驾驶方向(超详细真题+复盘)🔥&nbsp;个人背景:985本硕,一段自动驾驶相关实习,刚走完文远知行算法岗(感知方向)的全流程,热乎的面经分享!📌&nbsp;面试流程概览笔试:4道编程题(中等难度,动态规划+图遍历为主)。技术一面:代码手撕&nbsp;+&nbsp;项目深挖(50分钟)。技术二面:数学题&nbsp;+&nbsp;场景设计题(40分钟)。技术三面(总监面):技术视野&nbsp;+&nbsp;业务理解(30分钟)。HR面:常规问题(薪资/职业规划)。全程周期:约3周(中间有等美国面试官时差协调)。💻&nbsp;技术面真题回忆1.&nbsp;手撕代码题题目1:零钱兑换变种题干:给定硬币面额数组和总金额,求恰好凑成金额的最少硬币数,若无法凑出返回-1。Follow-up:如果要求输出所有可能的组合,如何优化空间?坑点:面试官追问了滚动数组优化和剪枝策略。题目2:线段交点算法题干:给定二维平面上两条线段(由端点坐标表示),判断是否相交,若相交返回交点坐标。边界情况:线段平行但不重合、端点重合、浮点数精度处理。解法:参数方程法,注意分母为0的情况!题目3(系统设计):实现&nbsp;shared_ptr&nbsp;的引用计数要求:线程安全、支持拷贝构造和赋值操作。考点:RAII思想、锁的使用(面试官让对比mutex和atomic的性能差异)。2.&nbsp;项目深挖问题问题1:你在点云处理项目中提到的循环推断问题是什么?如何解决?答:详细解释了OD(目标检测)与跟踪模块的相互依赖导致误差累积,最后引入卡尔曼滤波的先验估计做修正。追问:为什么不用粒子滤波?对比过效果吗?问题2:激光雷达与相机的时间戳不同步,会导致哪些问题?你们怎么做的同步?答:提到了硬件触发同步+软件插值法,面试官让手写伪代码描述插值逻辑。3.&nbsp;场景设计题题目:设计一个停车场车辆调度系统,支持实时路径规划(车辆从入口到车位的最优路径)。要求:如何表示停车场地图?如何处理动态障碍物(如行人)?路径最优的定义(时间最短&nbsp;vs&nbsp;转向最少)?我的思路:用栅格地图+A算法,动态障碍物用局部重规划(D&nbsp;Lite),面试官让分析时间复杂度。🚀&nbsp;备考建议(血泪总结)刷题重点:力扣动态规划(背包问题)、几何计算题(线段/矩形相交)、系统设计(智能指针/线程池)。项目复盘:务必理清项目的技术链条(输入-处理-输出-优化)。准备1-2个失败案例,说明如何定位和解决问题(面试官超爱问这个!)。自动驾驶知识:必看文远知行的技术文章(如多传感器融合方案)。了解行业竞对方案(如Waymo、Cruise的路径规划特点)。💡&nbsp;最后的小吐槽三面总监疯狂追问:“如果特斯拉FSD和我们的方案在十字路口相遇,谁的决策更优?为什么?”HR面被压力测试:“如果给你发offer,你会多快离职当前实习?”(差点没接住😅)欢迎讨论!&nbsp;大家有面过文远或其他自动驾驶公司的吗?求分享经验~✨✨现在文远知行还在招实习!最后附上学长给的内推码以及内推链接,可以更快筛选简历&nbsp;!✨内推链接:https://app.mokahr.com/m/campus_apply/jingchi/2137?recommendCode=DSvUVMDa#/jobs【内推码】DSvUVMDa #实习#&nbsp;&nbsp;&nbsp;#校招#&nbsp;&nbsp;&nbsp;#内推#&nbsp;&nbsp;&nbsp;#自动驾驶#&nbsp;&nbsp;&nbsp;#应届#&nbsp;&nbsp;&nbsp;#文远知行#
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务