欢迎来到天天文库
浏览记录
ID:25363193
大小:343.50 KB
页数:35页
时间:2018-11-19
《嵌入式软件工程师笔试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.1、将一个字符串逆序2、将一个链表逆序3、计算一个字节里(byte)里面有多少bit被置14、搜索给定的字节(byte)5、在一个字符串中找到可能的最长的子字符串6、字符串转换为整数7、整数转换为字符串/**题目:将一个字符串逆序*完成时间:2006.9.30深圳极讯网吧*版权归刘志强所有*描述:写本程序的目的是希望练一下手,希望下午去面试能成功,不希望国庆节之后再去找工作拉!*/#includeusingnamespacestd;//#defineNULL((void*)0)char*mystrrev(char*constdest,c
2、onstchar*constsrc){if(dest==NULL&&src==NULL) returnNULL;char*addr=dest;intval_len=strlen(src);dest[val_len]=' ';inti;for(i=0;i3、led";cout<next;while(q!=NULL){temp=q->next;q->next=p;p=q;q=temp;}这样增加个辅助的指针就行乐。ok通过编译的代码:#include#include#includetypedefstructList{intdata;structList*next;}List;List*list_create(void){struct4、List*head,*tail,*p;inte;head=(List*)malloc(sizeof(List));tail=head;printf("ListCreate,inputnumbers(endof0):");scanf("%d",&e);while(e){p=(List*)malloc(sizeof(List));p->data=e;tail->next=p;tail=p;scanf("%d",&e);}tail->next=NULL;returnhead;}List*list_reverse(List*head){...List*p,*q,5、*r;p=head;q=p->next;while(q!=NULL){r=q->next;q->next=p;p=q;q=r;}head->next=NULL;head=p;returnhead;}voidmain(void){structList*head,*p;intd;head=list_create();printf("");for(p=head->next;p;p=p->next)printf("--%d--",p->data);head=list_reverse(head);printf("");for(p=head;p->next;p=6、p->next)printf("--%d--",p->data);} 编写函数数N个BYTE的数据中有多少位是1。解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。#incluede#defineN10//定义BYTE类型别名#ifndefBYTEtypedefunsignedcharBYTE;#endifintcomb(BYTEb[],intn){intcount=0;...intbi,bj;BYTEcc=1,tt;//历遍到第bi个BYTE数据for(bi=0;bi7、TE的8个bit中有多少个1tt=b[bi]; for(bj=0;bj<8;bj++){ //与1相与或模2结果是否是1?测试当前bit是否为1 //if(tt%2==1) if((tt&cc)==1){ count++; } //右移一位或除以2,效果相同//tt=tt>>1;tt=tt/2;}}returncount;}//测试intmain(){BYTEb[10]={3,3,3,11,1,1,1,1,1,1};cout<8、C函数,该函数在一个字符串中找到可能的最长的子字符串
3、led";cout<next;while(q!=NULL){temp=q->next;q->next=p;p=q;q=temp;}这样增加个辅助的指针就行乐。ok通过编译的代码:#include#include#includetypedefstructList{intdata;structList*next;}List;List*list_create(void){struct
4、List*head,*tail,*p;inte;head=(List*)malloc(sizeof(List));tail=head;printf("ListCreate,inputnumbers(endof0):");scanf("%d",&e);while(e){p=(List*)malloc(sizeof(List));p->data=e;tail->next=p;tail=p;scanf("%d",&e);}tail->next=NULL;returnhead;}List*list_reverse(List*head){...List*p,*q,
5、*r;p=head;q=p->next;while(q!=NULL){r=q->next;q->next=p;p=q;q=r;}head->next=NULL;head=p;returnhead;}voidmain(void){structList*head,*p;intd;head=list_create();printf("");for(p=head->next;p;p=p->next)printf("--%d--",p->data);head=list_reverse(head);printf("");for(p=head;p->next;p=
6、p->next)printf("--%d--",p->data);} 编写函数数N个BYTE的数据中有多少位是1。解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。#incluede#defineN10//定义BYTE类型别名#ifndefBYTEtypedefunsignedcharBYTE;#endifintcomb(BYTEb[],intn){intcount=0;...intbi,bj;BYTEcc=1,tt;//历遍到第bi个BYTE数据for(bi=0;bi7、TE的8个bit中有多少个1tt=b[bi]; for(bj=0;bj<8;bj++){ //与1相与或模2结果是否是1?测试当前bit是否为1 //if(tt%2==1) if((tt&cc)==1){ count++; } //右移一位或除以2,效果相同//tt=tt>>1;tt=tt/2;}}returncount;}//测试intmain(){BYTEb[10]={3,3,3,11,1,1,1,1,1,1};cout<8、C函数,该函数在一个字符串中找到可能的最长的子字符串
7、TE的8个bit中有多少个1tt=b[bi]; for(bj=0;bj<8;bj++){ //与1相与或模2结果是否是1?测试当前bit是否为1 //if(tt%2==1) if((tt&cc)==1){ count++; } //右移一位或除以2,效果相同//tt=tt>>1;tt=tt/2;}}returncount;}//测试intmain(){BYTEb[10]={3,3,3,11,1,1,1,1,1,1};cout<8、C函数,该函数在一个字符串中找到可能的最长的子字符串
8、C函数,该函数在一个字符串中找到可能的最长的子字符串
此文档下载收益归作者所有