n=0 都好高了....
1 1

相关推荐

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处。以上内容摘自牛客官方专刊《嵌入式岗位笔试面试真题讲解》,该专刊不仅有真题讲解,还有经验分享,不清楚嵌入式该学什么的同学,想找嵌入式实习/正式工作的同学,都可以来看看:    https://blog.nowcoder.net/zhuanlan/v0ELPM嵌入式公司推荐:华为、小米、  OPPO、VIVO、荣耀、一加、   CVTE、   大疆 、insta360影石、  美的 、   TCL 、 海信、创维、烽火、比亚迪、吉利、长安、大众、  经纬恒润 、小鹏、  图森未来、  百度 、   滴滴、蔚来、理想、 联发科、  紫光展锐 、全志、   寒武纪 、  晶晨半导体 、汇顶、   华为、  中兴、   浪潮 、  TP-LINK、讯飞、商汤、   海康威视 、浙江 大华   、360、小马智行、  元戎启行   、  深信服   、移动、联通、电信、旷视、四维图新、中芯国际、复旦微电子。  #嵌入式找工作#
点赞 评论 收藏
分享
从事嵌入式,纯技术涉及到的内容主要是C语言、arm、STM32驱动、FreeRTOS、Lwip等等。电子电气方向涉及到的主要是:485、232、串口、DCDC\ACDC、网络通信、数据处理。C语言:1.static 关键字的作用、使用方式:全局静态变量:全局静态变量使用范围是该.c文件所有位置。局部静态变量:局部静态变量使用范围是该函数,且只会在初始化时申明一次,后续变化只能通过赋值。静态函数:函数调用范围只限制于该.c。2.volatile关键字的作用:笼统的讲,volatile关键字就是让程序每次都去寄存器中获取该字段的值,保证了数据变量的准确性。什么时候用到该关键字?1.变量是全局变量,且多个线程同时操作该变量的时候。2.中断中处理的数据变量。3.硬件寄存器中的数据。3.const关键字的作用:4.main函数之前进行了什么操作?简单来说就是各种初始化操作。5.堆和栈有什么区别?什么是堆?什么是栈?他们之间有什么区别和联系? -STM32:1.串口数据接收是怎么处理的?串口数据处理有两种方式:1.通过串口中断接收到数据后,将数据放置环形缓存或队列中,待数据处理函数进行处理时进行处理。(RTOS)2.通过轮询,时间片方式调度串口寄存器判断是否有数据,有数据则放入缓存待处理。(裸机)FreeRTOS:1.简述一下什么是RTOS系统FreeRTOS为例,RTOS系统是以抢占优先级为主,时间片为辅实现任务调度的操作系统,主要核心上实现的是任务调度的功能,使任务具有实时性。2.在任务中怎么进行数据传输?什么方式?任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。1.消息队列发送数据的方式可以是发送数据本身和发送数据的地址指针。2.全局变量使用供所有任务获取和处理,但全局变量占用内存较多,而且不好管理。3.信号量一般作为标志位使用。附面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
01-03 01:40
门头沟学院 Java
测开的简历这样子写可以吗各位大佬给点建议,谢谢
在看数据的傻狍子很忙碌:校招后端简历就行了,最多技能哪里改改
点赞 评论 收藏
分享
牛客网
牛客企业服务