华为嵌入式面试题(3)

2020-05-03 18:07

该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用; static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值; static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

2、程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于( )中。

答案:栈;静态区;堆 另外还有data段和bss段

data段就是全局初始化的,已经给数据分配好空间了

bss段就是全局未初始化的,不给数据分配空间,只记录空间大小,默认指向一页0区

3、设有以下说明和定义: typedef union { long i; int k[5]; char c; } DATE;

struct data { int cat; DATE cow; double dog;} too; DATE max;

则语句 printf(\的执行结果是:__52____

答案:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20 data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32. 所以结果是 20 + 32 = 52. 当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20 4、队列和栈有什么区别?

答案:队列先进先出,栈后进先出÷

6、已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。

答案:slnodetype *Delete(slnodetype *Head,int key){}中if(Head->number==key)

{ Head=Pointer->next; free(Pointer); break; } Back = Pointer; Pointer=Pointer->next; if(Pointer->number==key) { Back->next=Pointer->next; free(Pointer); break; } void delete(Node* p) { if(Head = Node) while(p) } 学会写个单链表很重要 7、请找出下面代码中的所以错误说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” 1、#include\ 2、main()

3、

{ 4、 char*src=\ 5、 char* dest=NULL; 6、 int len=strlen(src);

7、 dest=(char*)malloc(len); 8、 char* d=dest; 9、 char* s=src[len]; 10、 while(len--!=0) 11、 d++=s--;

12、 printf(\ 13、 return 0; 14、 }

答案:

还要加上#include int main() {

char* src = \ int len = strlen(src);

char* dest = (char*)malloc((len+1)*sizeof(char)); //要为\\0分配一个空间 char* d = dest;

char* s = &src[len-1]; //指向最后一个字符 while( len-- != 0 ) *d++=*s--;

*d = 0; //尾部要加\\0 printf(\

free(dest);// 使用完,应当释放空间,以免造成内存汇泄露 哦,这个也要释放 return 0; }

华为笔试题(3) 2006-09-29 19:41

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)

1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( 正确 ) 2、int (*ptr) (),则ptr是一维数组的名字。(错误 int (*ptr) ();定义一个指向函数的指针变量)

3、指针在任何情况下都可进行>, <,>=, <=,==运算。( 错误 ) 4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。( 错,不能用实形,swith中不能用float型的 ) 二、填空题(共30分)

1、在windows下,写出运行结果,每空2分,共10分。

char str[ ]= "Hello"; char *p=str; int n=10;

sizeof(str)=( 6 ) sizeof(p)=( 4 ) sizeof(n)=( 4 ) sizeof(str)=( 4 )

答案:6,4,4,4, 具体解释请参看我的空间里的“C/C++程序员应聘试题剖析” 2、

void getmemory(char **p, int num) {

*p=(char *) malloc(num); }

void test(void) {

char *str=NULL;

getmemory(&str,100); strcpy(str,"hello"); printf(str); }

运行test函数有什么结果?( )10分

答案:输出hello,但是发生内存泄漏。 和第一我没看出来的错误遥相呼应啊

三、编程题(第一小题20,第二小题30分) 1、 不使用库函数,编写函数int strcmp(char 不等返回-1; 答案:

一、int strcmp(char*source, char *dest) {

assert((source!=NULL)&&(dest!=NULL)); int i,j;

for(i=0; source[i]==dest[i]; i++) {

if(source[i]=='\\0' && dest[i]=='\\0') return 0;

else

return -1;

}

相等返回0,

*source, char *dest) }

答案:

二、 int strcmp(char *source, char *dest)

{

while ( (*source != '\\0') && (*source == *dest)) {

source++; dest++; }

return ( (*source) - (*dest) ) ? -1 : 0; }

2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1 答案:一、

int fun(char *p) {

if(p==NULL) return -1; else {

int length = 0; int i = 0; int judge = 1;

length = strlen(p);

for(i=0; i

{ if(p[i]!=p[length-1-i]) judge = 0; break; }

if(judge == 0) return 0; else return 1; } }

答案:二、 int fun(char *p) {

int len = strlen(p) - 1; char *q = p + len; if (!p) return -1;

while (p < q) { if ((*p++) != (*q--)) return 0;

}

return 1; }

华为笔试网络题(3) 2006-09-30 12:48

1.在OSI 7 层模型中,网络层的功能有( )

A.确保数据的传送正确无误 B.确定数据包如何转发与路由 C.在信道上传送比特流 D.纠错与流控

2.FDDI 使用的是___局域网技术。( )

A.以太网; B.快速以太网; C.令牌环; D.令牌总线。 3.下面那种LAN 是应用CSMA/CD协议的()

A.令牌环 B.FDDI C.ETHERNET D.NOVELL 4.TCP 和UDP 协议的相似之处是 ( )

A.面向连接的协议 B.面向非连接的协议 C.传输层协议 D.以上均不对

5.应用程序PING 发出的是___报文.( )

A.TCP 请求报文。 B.TCP 应答报文。 C.ICMP 请求报文。 D.ICMP 应答报文。

发送ping的是什么报文? 6.以下说法错误的是(多) ( )

A.中继器是工作在物理层的设备 B.集线器和以太网交换机工作在数据连路层 C.路由器是工作在网络层的设备 D.桥能隔离网络层广播

7.当桥接收的分组的目的MAC地址在桥的映射表中没有对应的表项时,采取的策略是( )

A.丢掉该分组 B.将该分组分片 C.向其他端口广播该分组 D.以上答案均不对

8.LAN Switch 在网络层次模型中的地位( )

A.物理层 B.链路层 C.网络层 D.以上都不是

9.小于___的TCP/UDP端口号已保留与现有服务一一对应,此数字以上的端口号可自由分配。( )

A.199 B.100 C.1024 D.2048

10.当一台主机从一个网络移到另一个网络时,以下说法正确的是 ( )

A.必须改变它的IP 地址和MAC 地址 B.必须改变它的IP 地址,但不需改动MAC 地址 C.必须改变它的MAC 地址,但不需改动IP 地址 D.MAC 地址.IP 地址都不需改动

答案:1.B; 2.C; 3.C; 4.C; 5.C; 6.BD; 7.C; 8.B; 9.C; 10.B.

华为笔试题(4) 2006-09-30 13:00

1. 找错 void test1()


华为嵌入式面试题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:14、(彭长盛)2017年中考题解析 - 名著阅读(含文段阅读)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: