还剩6页未读,继续阅读
文本内容:
华为1笔试可以选择JAVA和C++2面试一面技术面,40分钟,问的很细,UML,单点登录,J2EE二面综合面,20分钟一个项目完整的经历三面HR,职业规划,优势与劣势,期望工资与工作地点四面老总面.华为面试题及答案
1、局部变量能否和全局变量重名答能,局部会屏蔽全局要用全局变量,需要使用”::“局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内
2、如何引用一个已经定义过的全局变量答extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错•,而在连接期间报错工
3、全局变量可不可以定义在可被多个.C文件包含的头文件中为什么答可以,在不同的C文件中以static形式来声明同名全局变量可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错
4、语句for;l;有什么问题它是什么意思答和whilel相同
6、请写出下列代码的输出内容以下是引用片段:#includemain int a,b,c,d;a=l;b=a++;c=++a;d=10*a++;printfb,c,d%d,%d,%d,b,c,d;return0;}答10,12,
1207、static全局变量与普通的全局变量有什么区别static局部变量和普通局部变量有什么区别static函数与普通函数有什么区别全局变量外部变量的说明之前再冠以static就构成了静态的全局变量全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式这两者在存储方式上并无不同这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能IT人才网it.ad
0.cn使用它由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围static函数与普通函数作用域不同仅在本文件只在当前源文件中使用的函数应该说明为内部函数static,内部函数应该在当前源文件中说明和定义对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件static全局变量与普通的全局变量有什么区别static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别static局部变量只被初始化一次,下一次依据上一次结果值;static函数与普通函数有什么区别static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
8、程序的局部变量存在于堆栈中,全局变量存在于静态区中,动态申请数据存在于堆中
9、设有以下说明和定义typedef union{long i;int kf5];char c;DATE;struct data{int cat;DATE cow;double dog;too;DATE max;则语句printfu%d,sizeofstruct date+sizeofmax;的执行结果是52答DATE是一个union,变量公用空间.里面最大的变量类型是int
[5],占用2个字节.所以它的大小是2data是一个struct,每个变量分开占用空间.依次为int4+DATE20+double8=
32.所以结果是20+32=
52.当然…在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+double8=
2010、队列和栈有什么区别队列先进先出,栈后进先出
11、写出下列代码的输出内容以下是引用片段#includeint incintaretum++a;int multiint*a,int*b,int*creturn*c=*a**b;}typedef intFUNC1int in;typedef intFUNC2int*,int*,int*;void showFUNC2fun,int argl,int*arg2INCp=inc;int temp=pargl;funtemp,arg1,arg2;printf,%d\n,*arg2;}mainint a;showmulti,10,a;return0;答
11012、请找出下面代码中的所以错误说明以下代码是把一个字符串倒序,如“abed”倒序后变为“dcba”以下是引用片段
1、#includestring.h
2、main
3、{
4、char*src=hello,world;
5、char*dest=NULL;
6、int len=strlensrc;
7、dest=char*malloclen;
8、char*d=dest;9^char*s=src[len];
10、whilelen—!=011d++=s—;12printf%s,dest;
13、return0;
14、答方法1以下是引用片段int mainchar*src=hello,world*;int len=strlensrc;char*dest=char*maHoclen+l;〃要为\0分配一个空间char*d=dest;char*s=src[len-l];//指向最后一个字符while len—!=0*d++=*s—;*d=0;〃尾部要加\0prinlf%s\n”,desl;freedest;〃使用完,应当释放空间,以免造成内存汇泄露return0;}方法2以下是引用片段#include#includemainchar str[]=hello,world1;int len=strlenstr;char t;forint i=0;it=str;str=strflen-i-l];str[len-i-l]=t;}printf%sH,str;return0;}
1.-1,2,7,28,,126请问28和126中间那个数是什么为什么第一题的答案应该是4人3・1=63规律是n八3・1当n为偶数0,2,4川人3+1当n为奇数1,3,5答案
632.用两个栈实现一个队列的功能要求给出算法和思路!设2个栈为A,B,一开始均为空.入队将新元素push入栈A;出队1判断栈B是否为空;2如果不为空,则将栈A中所有元素依次pop出并push到栈B;3将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是01,比上面的几种方法要好
3.在c语言库函数中将一个字符转换成整型的函数是atool吗,这个函数的原型是什么函数名atol功能把字符串转换成长整型数用法long atolconstchar*nptr;程序例以下是引用片段#include#includeint mainvoidlong1;char*str=98765432;1=atollstr;printfustring=%s integer=%ld\nu,str,1;returnO;
13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现c用宏定义,C++用inline
14.直接链接两个信令点的一组链路称作什么PPP点到点连接
15.接入网用的是什么接口
16.voip都用了那些协议
17.软件测试都有那些种类黑盒针对系统功能的测试白合测试函数功能,各函数接口
18.确定模块的功能和模块的接口是在软件设计的那个队段完成的概要设计阶段
19.enum string{x I,x2,x3=10,x4,x5,}x;问x=0x801005,0x8010f4;
20.unsigned char*pl;unsigned long*p2;pl=unsigned char*0x801000;p2=unsigned long*0x810000;请问pl+5=;p2+5=;选择题
21.Ethtemet链接到Internet用到以下那个协议A.HDLC;B.ARP;C.UDP;D.TCP;E.ID
22.属于网络层协议的是
23.Windows消息调度机制是A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;
24.unsigned shorthashunsigned shortkeyreturn key»%256}请问hash16,hash256的值分另ij是:找错题
25.请问下面程序有什么错误inta
[60]
[250]
[1000],i,j,k;fork=0;k。