c语言 嵌入式软件面经 笔试题

2.1   用变量  a   给出下面的定义   

(1)一个整型数: int a。 
(2)一个指向整型数的指针(一重指针): int *a。 
(3)一个指向指针的的指针,它指向的指针是指向一个整型数的指针(二重指针): int **a。 
(4)一个有10个整型数的数组 :int a[10]。 
(5)一个有10个指针的数组,这10个指针是指向整型数的(指针数组): int *a[10]。 
(6)一个指向有10个整型数数组的指针(数组指针):int (*a)[10]。 
(7)一个指向函数的指针,该函数有一个整型参数并返回一个整型数(函数指针):int (*a)(int)。 
(8)一个有10个指针的数组,这10个指针均指向函数,该函数有一个整型参数并返回一     个整型数(函数指针数组): int (*a[10])(int)。 


2.2 下面的代码输出是什么,为什么? 

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

答案:输出是  ">6"。 

解读:当运算表达式中存在有符号数和无符号数时,有符号数隐式转换成了无符号数(即底层的补码不变,但是此数从有符号数变成了无符号数)。注意,正数的补码为其本身,负数的补码为其反码+1。因此-20变成了一个非常大的正整数,所以该表达式计算出的结果  ">6"。 


2.3   写出  float x   与"零值"比较的  if   语句。
答案:
if(x >= -0.000001 && x <= 0.000001)

解读:因为计算机在处理浮点数的时候是有误差的,所以不能将浮点型变量用"=="或"!="与数字比较,应该设法转化成">="或"<="此类形式。 


2.4 下面代码有什么错误?

#include 
void  main() 
{
    char *s = "AAA";
    s[0] = 'B';
    printf("%s", s);
}
(1)"AAA"是字符串常量,s是指针,指向这个字符串常量,所以声明s的时候就有问题,应该是cosnt char* s="AAA"。  
(2)然后又因为是常量,所以对是s[0]的赋值操作是不合法的。 

2.5 下面代码输出是什么?

#include 
void  main() 
{
    int *a = (int *)2;
    printf("%d", a + 3);
}

答案:输出是14。 

解读:代码将数值2强制类型转换为int类型指针,int类型指针加3 相当于指向后面第三个int类型变量的首地址,一个int类型变量占4个字节,所以加3相当于指针往后移了12个字节,指向地址14处。


以上内容摘自牛客官方专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:    




引流:华为、小米、  OPPO、VIVO、荣耀、一加、   CVTE、   大疆 、insta360影石、  美的 、   TCL 、 海信、创维、烽火、比亚迪、吉利、长安、大众、  经纬恒润 、小鹏、  图森未来、  百度 、   滴滴、蔚来、理想、 联发科、  紫光展锐 、全志、   寒武纪 、  晶晨半导体 、汇顶、   华为、  中兴、   浪潮 、  TP-LINK、讯飞、商汤、   海康威视 、浙江 大华   、360、小马智行、  元戎启行   、  深信服   、移动、联通、电信、旷视、四维图新、中芯国际、复旦微电子。 
#嵌入式##嵌入式开发工程师##c语言##软件开发##面经#
全部评论

相关推荐

211本科,一年半工作经验。面试体验:差。面试官迟到,麦克风都没调试好,而且比较讲究长幼尊卑。视频面试,让拿纸出来手写。面试题目:1.&nbsp;写一个绝对值宏定义。答案你就手写个#define&nbsp;abs(x)&nbsp;(x&gt;0)?(x):(-x)这种差不多。我是建议你多考虑边界和溢出,他交流的时候挺没耐心的。我面试的时候只想赶紧挂了算了,张嘴一问问题我就觉得他不是来面试的。2.&nbsp;在纸上手写一个字符串复制函数strcpy()。他之后会评价你的耗时、时间复杂度、空间复杂度、代码风格,尽量命名标准一点。多考虑边界问题,多考虑尺寸问题,毕竟是手写而不是键盘打,3分钟之内完成不了他就有点想给你上压力了。3.&nbsp;你怎么看待交流能力问题?莫名其妙的问题,从技术直接跳过来。4.&nbsp;手机是充电重还是不充电重?我回答这个看你用的是不是理想中的绝对精准的秤,若你的秤能做到测量引力波级别的等效质量变化,那么因为E=mc^2充电完的电池会因为锂电池的物理化学结构更具有电动势能,等效出的重量会更高,从而产生更重的读数。5.&nbsp;彩虹为什么是拱形的?我回答彩虹实际上是球形的,只不过彩虹是可见光带是光谱中的一段,看起来就是个环状带。经过地面截取,才会是看起来是拱形。他说听不懂。6.&nbsp;一根手指能不能遮住你眼里的太阳?我说这个看你说的遮住包不包含遮住紫外线,以及接触阴影效应。他跟我扯了半天跟我说这里要讲波长大于手指半径就能绕射到眼睛里。7.&nbsp;红光波长是多少?我没背,我说根据穿透力反推吧。这个我不了解,只能胡说了。8.&nbsp;飞机的移速是多少?我说民航飞机在空天分界线以下顶多飞到一马赫吧,撑死就两马赫了。其他的空天飞船或者战斗机有可能到五马赫,但是高空空气稀薄所以顶多就1000m/s了。面试结果就是没过,一小时内出的,我要价12k。面试过程中还提问我会不会喝酒,酒量多少,抽不抽烟。面试官一边面试一边抽烟,比较不礼貌,而且一直把手机屏幕放在下巴底下用鼻孔对人,偶尔开视频,开了就抽烟。
Mars811:一个敢问,一个敢答😂这问的都是啥问题,根本不想招人吧
查看8道真题和解析
点赞 评论 收藏
分享
评论
9
30
分享

创作者周榜

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