嵌入式面试题
c语言开发面试题总结 来源 : 未知     2018-08-29

嵌入式开发学习的人据调查,每年都有20%的人去学嵌入式开发,可以说是很多的,对于嵌入式学习来说,最为基础的就是C语言了,而c语言也是很多公司面试时最常见的,出现的面试题的次数也是最多的了,在这里总结了一些常出现的c开发面试题,大部分是华三的面试题哦,可以收藏来学习哦

1.关于结构的大小,以下描述正确的有()

struct A_S struct B_S

{ {

unsigned short us1; unsigned char uc1;

unsigned short us2; unsigned int uc2;

unsigned short us3; unsigned short us3;

}; };

struct C_S struct D_S

{ {

unsigned int ui1 unsigned char uc2;

unsigned char uc2; unsigned short us3;

unsigned short us3; unsigned int ui1;

}; };

结构struct A_S的大小是6

结构struct B_S的大小是12

联合union C_U的大小是12

联合union D_U的大小是12

2.关于以下代码,描述正确的有()

代码Ⅰ: 代码Ⅲ

const char * pcStr=”abcdefg”; char*pcStr=”abcdefg”

pcStr[3]=”a”;

代码Ⅱ:

void string_sizeof(char szStr1[10]) 代码Ⅳ

{ unsigned int uiA=100;

char szStr2[10]=”12345”; printf(“%s\r\n,”, uiA);

printf(“%u,”, sizeof(szStr1));

printf(“%u\r\n,”, sizeof(szStr2));

return;

}

Int main( )

{

string_ sizeof =(”12345”);

return 0;

}

代码Ⅰ,const修饰符表明pcStr指针不能再次被赋值,也就是说不能指向其他缓冲区.

代码Ⅱ,程序的运行结果是“4,10”.

代码Ⅲ,对pcStr[3]的赋值会导致程序访问非法地址.

代码Ⅳ,打印unsigned int时不应该使用“%s”,会导致程序访问非法地址。

3.以下语句中,能够判断uiNum(unsigned int)可以被8整除的有( )

If (((uiNum / 8)*8)== uiNum)

if ((uiNum % 8)== 1)

if ((uiNum &θ×θ7) ==θ)

if (((uiNum >> 3) << 3 )==uiNum )

4.编程题

数据的节点定义如下面的tagData所列,该数据节点有两个索引值,分别是index1和index2,请编写程序,有如下要求:

1)据上下文,由于需要分别以index1和index2索引查找,请建立两个单向链表,分别以index1和index2,索引值唯一,且均为从小到大

2)提供增加节点的函数和删除节点的操作,请注意增加和删除节点的操作均会影响这两个链表。

3)删除操作数据是依据index2删除的

/*节点数据*/

typedef struct tagData

{

Int index1;

Int index2;

Int iData;

}NODE_S;

/*Description:链表初始化*/void init( );

/*De scription:加入节点*/void add( int index1,int index2,int iData);

/*De scription:删除节点*/void delete( int index2 );

请写冒泡排序算法,a指向数组第一个元素,n为数组长度

Bubble_sort(int*a,int n)

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:嵌入式开发面试题(中软国际)

下一篇:嵌入式C语言面试综合题,都很经典

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号