资源描述:
《华为面试题 - C语言篇》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、华为面试题-C语言篇1、局部变量能否和全局变量重名?y2、如何引用一个已经定义过的全局变量?extern3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?N 4、语句for(;1;)有什么问题?它是什么意思?While(1)的意思,死循环 5、do……while和while……do有什么区别?判定的先后区别 6、请写出下列代码的输出内容 #include main() { inta,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("
2、b,c,d:%d,%d,%d",b,c,d); return0; }b,c,d:10,12,120 7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?能不能被其他文件所用;只赋值一次与否;能否被外界调用。 8、程序的局部变量存在于____栈____中,全局变量存在于___全局数据区_____中,动态申请数据存在于____堆____中。 9、设有以下说明和定义: typedefunion{longi;intk[5];charc;}DATE;
3、structdata{intcat;DATEcow;doubledog;}too; DATEmax; 则语句printf("%d",sizeof(structdate)+sizeof(max));的执行结果是:____18___=4+(2+4+8) 11、写出下列代码的输出内容 #include intinc(inta) { return(++a); } intmulti(int*a,int*b,int*c) { return(*c=*a**b); } typedefint(FUNC1)(in
4、tin); typedefint(FUNC2)(int*,int*,int*); voidshow(FUNC2fun,intarg1,int*arg2) { INCp=&inc; inttemp=p(arg1); fun(&temp,&arg1,arg2); printf("%d",*arg2); } main() { inta; show(multi,10,&a); return0; } 12、请找出下面代码中的所有错误 说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba
5、” 1、#include"string.h" 2、main() 3、{ 4、char*src="hello,world"; 5、char*dest=NULL; 6、intlen=strlen(src); 7、dest=(char*)malloc(len);X 8、char*d=dest; 9、char*s=src[len];X 10、while(len--!=0) 11、d++=s--;X 12、printf("%s",dest); 13、return0; 14、} 1.-1,2,7,28,,126请问28和1
6、26中间那个数是什么?为什么?3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么? 13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现? 19. enumstring { x1, x2, x3=10, x4, x5, }x; 问x=0x801005,0x8010f4; 20. unsignedchar*p1; unsignedlong*p2; p1=(unsignedchar*)0x801000; p2=(unsignedlong*
7、)0x810000; 请问p1+5=; p2+5=; 24. unsignedshorthash(unsignedshortkey) { return(key>>)%256 } 请问hash(16),hash(256)的值分别是: A.1.16;B.8.32;C.4.16;D.1.32 找错题: 25.请问下面程序有什么错误? inta[60][250][1000],i,j,k; for(k=0;k<=1000;k++) for(j=0;j<250;j++) for(i=0;i<60;i++) a[i][j]
8、[k]=0; 26.下面程序会出现什么问题? #defineMax_CB500 voidLmiQueryCSmd(StructMSgCB*pmsg) { unsign