1 / 35
文档名称:

嵌入式软件工程师笔试题.doc

格式:doc   大小:198KB   页数:35页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式软件工程师笔试题.doc

上传人:小健 2021/8/21 文件大小:198 KB

下载得到文件列表

嵌入式软件工程师笔试题.doc

相关文档

文档介绍

文档介绍: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-l);
return addr;
main()
{
char *str=〃asdfa〃;
char *strl二NULL;
strl =(char *)malloc(20);
if (strl = NULL)
cout<<z,malloc failed”;
cout«mystrrev (strl, str); free(strl);
str 1二NULL; //杜绝野指针 p=head;
q二p一〉next;
while(q!=NULL)
{
temp=q->next;
q->next=p;
P=q;
q二temp;
}
这样增加个辅助的指针就行乐。
ok通过编译的代码:
#include <stdio. h>
ftinclude <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)
I
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 TV);
for (p二head;p->next;p=p->next)
printf(〃--%d--〃, p->data);
}
编写函数数N个BYTE的数据中有多少位是lo
解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。
ttincluede <ios tream)
^define N 10
〃定义BYTE类型别名
ttifndef BYTE
typedef unsigned char BYTE;
ttendif
int comb (BYTE b[], int n) int count=0;
in t bi, b j;
BYTE cc=l, tt;
〃历遍到第bi个BYTE数据
for (bi=O; bi ; bi ++)
{