资源描述:
《c语言高级面试题》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、整个测试遵循以下的约定:u 假定在所有的程序中必须的头文件都已经被正确包含。考虑如下的数据类型:u char为1个字节u int为4个字节u longint为4个字节u float为4个字节u double为个8字节u longdouble为8个字节u 指针为4个字节 1.Considerthefollowingprogram:#includestaticjmp_bufbuf; main(){vo
2、latileintb;b=3; if(setjmp(buf)!=0){printf("%d",b);exit(0);}b=5;longjmp(buf,1);}Theoutputforthisprogramis:(a)3(b)5(c)0(d)Noneoftheabove2.Considerthefollowingprogram:main(){structnode{inta;intb;intc;};structnodes={3,5,6};structnode*pt=&s;printf("%d",*(i
3、nt*)pt);}Theoutputforthisprogramis:(a)3(b)5(c)6(d)73.Considerthefollowingcodesegment:intfoo(intx,intn){intval;val=1;if(n>0){if(n%2==1)val=val*x;val=val*foo(x*x,n/2);}returnval;}Whatfunctionofxandniscomputebythiscodesegment?(a)x^n(b)x*n(c)n^x(d)Noneoft
4、heabove4.Considerthefollowingprogram:main(){inta[5]=;int*ptr=(int*)(&a+1); printf("%d%d",*(a+1),*(ptr-1)); }Theoutputforthisprogramis:(a)22(b)21(c)25(d)Noneoftheabove5.Considerthefollowingprogram:voidfoo(int[][3]); main(){inta[3][3]={{1,2,3},{4,5,6},}
5、;foo(a);printf("%d",a[2][1]);} voidfoo(intb[][3]){++b;b[1][1]=9;}Theoutputforthisprogramis:(a)8(b)9(c)7(d)Noneoftheabove6.Considerthefollowingprogram:main(){inta,b,c,d;a=3;b=5;c=a,b;d=(a,b); printf("c=%d",c);printf("d=%d",d); }Theoutputforthisprogrami
6、s:(a)c=3d=3(b)c=5d=3(c)c=3d=5(d)c=5d=57.Considerthefollowingprogram:main(){inta[][3]={1,2,3,4,5,6};int(*ptr)[3]=a; printf("%d%d",(*ptr)[1],(*ptr)[2]); ++ptr;printf("%d%d",(*ptr)[1],(*ptr)[2]);}Theoutputforthisprogramis:(a)2356(b)2345(c)4500(d)Noneofth
7、eabove8.Considerfollowingfunctionint*f1(void){intx=10;return(&x);} int*f2(void){int*ptr;*ptr=10;returnptr;} int*f3(void){int*ptr;ptr=(int*)malloc(sizeof(int));returnptr;}Whichoftheabovethreefunctionsarelikelytocauseproblemwithpointers(a)Onlyf3(b)Onlyf
8、1andf3(c)Onlyf1andf2(d)f1,f2,f39.Considerthefollowingprogram:main(){inti=3;intj; j=sizeof(++i+++i); printf("i=%dj=%d",i,j);}Theoutputforthisprogramis:(a)i=4j=2(b)i=3j=2(c)i=3j=4(d)i=3j=610.Considerthefollowingprogram:voidf1(int*,int);voidf2(in