您的浏览器Javascript被禁用,需开启后体验完整功能, 请单击此处查询如何开启
网页 资讯 视频 图片 知道 贴吧 采购 地图 文库 |

2014年嵌入式系统开发工程师笔试必会_IT认证_资格考试/认证_教育专区

529人阅读|1次下载

2014年嵌入式系统开发工程师笔试必会_IT认证_资格考试/认证_教育专区。2014年嵌入式系统开发工程师笔试必会


2014 年嵌入式系统开发工程师笔试必会 百手整理 起驾为您 1、将一个字符串逆序 2、将一个链表逆序 3、计算一个字节里(byte)里面有多少 bit 被置 1 4、搜索给定的字节(byte) 5、在一个字符串中找到可能的最长的子字符串 6、字符串转换为整数 7、整数转换为字符串 /* * 题目:将一个字符串逆序 * 完成时间:2006.9.30 深圳极讯网吧 * 版权归刘志强所有 * 描述:写本程序的目的是希望练一下手,希望下午去面试能成功,不希望国庆节之后再去找工作拉! */ #include <iostream> using namespace std; //#define NULL ((void *)0) char * mystrrev(char * const dest,const char * const src) { if (dest==NULL && src==NULL) return NULL; char *addr = dest; int val_len = strlen(src); dest[val_len] = '\0'; int i; for (i=0; i<val_len; i++) { *(dest+i) = *(src+val_len-i-1); } return addr; } main() { char *str=asdfa; char *str1=NULL; str1 = (char *)malloc(20); if (str1 == NULL) cout<<malloc failed; cout<<mystrrev(str1,str); free(str1); str1=NULL;//杜绝野指针 } p=head; q=p->next; while(q!=NULL) { temp=q->next; q->next=p; p=q; q=temp; } 这样增加个辅助的指针就行乐。 ok 通过编译的代码: #include <stdio.h> #include <ctype.h> #include <stdlib.h> typedef struct List{ int data; struct List *next; }List; List *list_create(void) { struct List *head,*tail,*p; int e; head=(List *)malloc(sizeof(List)); tail=head; printf(\nList Create,input numbers(end of 0):); scanf(%d,&e); while(e){ p=(List *)malloc(sizeof(List)); p->data=e; tail->next=p; tail=p; scanf(%d,&e);} tail->next=NULL; return head; } List *list_reverse(List *head) { List *p,*q,*r; p=head; q=p->next; while(q!=NULL) { r=q->next; q->next=p; p=q; q=r; } head->next=NULL; head=p; return head; } void main(void) { struct List *head,*p; int d; head=list_create(); printf(\n); for(p=head->next;p;p=p->next) printf(--%d--,p->data); head=list_reverse(head); printf(\n); for(p=head;p->next;p=p->next) printf(--%d--,p->data); } 编写函数数 N 个 BYTE 的数据中有多少位是 1。 解:此题按步骤解:先定位到某一个 BYTE 数据;再计算其中有多少个 1。叠加得解。 #incluede<iostream> #define N 10 //定义 BYTE 类型别名 #ifndef BYTE typedef unsigned char BYTE; #endif int comb(BYTE b[],int n) { int count=0; int bi,bj; BYTE cc=1,tt; //历遍到第 bi 个 BYTE 数据 for(bi=0;bi<n;bi++) { //计算该 BYTE 的 8 个 bit 中有多少个 1 tt=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; } } return count; } //测试 int main() { BYTE b[10]={3,3,3,11,1,1,1,1,1,1}; cout<<comb(b,N)<<endl; return 0; } 1。编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成 的。 char * search(char *cpSource, char ch) { char *cpTemp=NULL, *cpDest=NULL; int iTemp, iCount=0; while(*cpSource) { if(*cpSource == ch) { iTemp = 0; cpTemp = cpSource; while(*cpSource == ch) ++iTemp, ++cpSource; if(iTemp > iCount) iCount = iTemp, cpDest = cpT
+申请认证

文档贡献者

付晓波

互联网从业者

851 13642009 4.7
文档数 浏览总量 总评分

相关文档推荐

喜欢此文档的还喜欢