资源描述:
《华为软件工程师笔试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华为软件笔试题一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。(正确)2、int(*ptr)(),则ptr是一维数组的名字。(错误)3、指针在任何情况下都可进行>,<,>=,<=,==运算。(正确)4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。(错误)5、#defineprint(x)printf("theno,"#x",is")(正确)二
2、、填空题(共30分)1、在windows下,写出运行结果,每空2分,共10分。charstr[]="Hello";char*p=str;intn=10;sizeof(str)=(6)sizeof(p)=(4)sizeof(n)=(4)voidfunc(charstr[100]){}sizeof(str)=(4)2、voidsetmemory(char**p,intnum){*p=(char*)malloc(num);}voidtest(void){char*str=NULL;getmemory(&
3、str,100);strcpy(str,"hello");printf(str);}运行test函数有什么结果?(hello)10分3、设intarr[]={6,7,8,9,10};int*ptr=arr;(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));(8,8)10分二、编程题(第一小题20,第二小题30分)1、不使用库函数,编写函数intstrcmp(char*source,char*dest)相等返回0,不等返回-1;2、写一函数intfun(char*
4、p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。(2)char*constpcharconst*pconstchar*p上述三个有什么区别?答案:char*constp;//常量指针,p的值不可以修改charconst*p;//指向常量的指针,指向的常量值不可以改constchar
5、*p;//和charconst*p(3)charstr1[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";char*str7="abc";char*str8="abc";cout<<(str1==str2)<6、<<(str7==str8)<7、[i]-=('a'-'A');}charstr[]="aBcDe";cout<<"str字符长度为:"<