《C语言复习60题附答案.docx》由会员分享,可在线阅读,更多相关《C语言复习60题附答案.docx(8页珍藏版)》请在优知文库上搜索。
1、Ol计算机本身最擅长的能力是A.推理B.想像C.重复D.分析正确答案:C、重复。02计算机(CPU)可以直接运行人类编写的程序A.JB.X正确答案:B、,03编程语言是和计算机交谈的语言A.JB.X正确答案:B、15以下语句是否可以通过编译:if(l=n=10);A.B.X正确答案:A、16以下语句是否表示Ii属于1,10:if(l=n=10);A.JB.X正确答案:B、ij);正确答案是:1。18写出程序的输出结果:inti,j,k;i=2=3;k=i*j=6;printf(,%dn,k);正确答案是:1。19写出程序的输出结果:inti,j,k;i=3;j=2;k=l;printf(%di
2、j=j50)printf(,A,);if(a40)printf(B);if(a30)printf(Cu);正确答案是:ABCo22while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就完毕了A.B.X正确答案:B、X。23以下代码片段执行完毕后,变量i的值是多少inti=10;while(i0)i=2;)正确答案是:Oo24以下代码片段执行完毕后,变量i的值是多少inti=1;do(i+=5;)while(i17);正确答案是:21。25以下哪种运算能从变量X中取得十进制最低位的数字A.x10B.x%10C.x*IOD.lOx正确答案:B.x%IOo26当需要累加一些
3、值的时候,用来记录累加结果的变量应该被初始为:正确答案是:Oo27以下哪个循环和其他三条循环不等价(假设循环体都是一样的)A.for(i=0;iIO;i+).)B.for(i=0;iIO;+i).C.for(i=0;i+10;).D.for(i=0;i=9;i+).)正确答案:C、for(i=0;i+1;i=2)printf(%d,i+);正确答案是:10532。29以下代码段的输出是:intSUm=0;for(inti=0;i10;i+)(if(i%2)continue;sum+=i;1printf(,%dn,sum);正确答案是:20。30以下代码段的输出是:intsum=0;for(in
4、ti=0;i10;i+)(if(i%2)break;sum+=i;)printf(,%dn,sum);正确答案是:Oo31以下哪个数字占据的空间最大A.32768B.3C.32768.0D.32768.0F正确答案:C、32768.032以下哪个字母不能在数字后面表示类型A.FB.UC.LD.X正确答案:D、X。33以下哪个数字的值最大A.10B.010C.0xl0D.10.0正确答案:C、OxIOo34以下哪种类型不能用在switch-case的判断变量中:A.charB.shortC.intD.double正确答案:D、double35以下哪些是有效的字符A.”B.,C.*DA正确答案:A
5、、。B、C、36以下表达式的结果是:,+3正确答案是:52或,4,37以下哪个表达式的结果是trueA.!(42|4=4&!0C.34=33&!falseDJfalse正确答案:D、!false。38以下哪个表达式,当a和b中只有一个是true的时候结果为true,而如果两个都是false或都是true的时候,结果为falseA.a&bB.aHbC.a!=bD.!a&!b正确答案:C、a!=bo39以下哪个表达式,当a和b都是true或者都是false的时候,表达式的结果为trueoA.a&bB.aHbC.a=bD.ab正确答案:C、a=bo40以下哪个表达式与!(a&b)是等价的A.!a&!
6、bB.!a|!bC.a&bD.a|b正确答案:B、!a!b41以下代码执行后,i的值是:i=3/2,3*2;正确答案是:L42以下哪句不是正确的原型A.intf();B.intf(inti);C.intf(int);D.intf(inti)正确答案:D、intf(inti)043以下哪个函数的定义是错误的A.voidf()B.voidf(inti)(returni+1;)C.voidf(inti)()D.intf()return0;)正确答案:B、voidf(inti)returni+1;)(,44对于不返回值而且只有一个int类型的参数的函数,以下哪些函数原型是正确的A.voidf(intX
7、)BVoidf();C.voidf(int);D.voidf(x);正确答案:A、voidf(intx);0B、voidf();C、voidf(int);o45以下程序的输出是什么#includevoidswap(inta,intb);intmain()inta=5;intb=6;swap(a,b);printf(,%d-%dna,b);return0;1voidswap(inta,intb)(intt=a;a=b;b=t;)正确答案是:5-6o46假设有定义:inta;那么以下选项中不越界的正确的访问有:A.a20B.a23C.al20D.a03正确答案:C、al20o47以下程序片段的输出
8、结果是:mtm3=l,4,7,286,9,;intij,k=2;for(i=0;i3;i+)printf(,%dn,mki);)A.369B.不能通过编译C.789D.能编译,但是运行时数组下标越界了正确答案:A、369。48假设int类型变量占用4个字节,定义数组intx101=0,2,4;那么X在内存中占据几个字节正确答案是:40O49假设有:i11ta3=0,l,2);那么al2的值是正确答案是:Oo50对于:inta=5,15,34,54,14,2,52,72);int*p=&af5;那么:p2的值是A.编译出错,因为数组下标越界了B.运行出错,因为数组下标越界了C.54D.2正确答案
9、:C、54。51如果:inta=0;int*p=a;那么以下哪些表达式的结果为真A.p=a0B.p=&a0|C.*p=a0D.pLO=a0正确答案:B、p=&a0oCn*p=a0D、p0=a052以下变量定义:int*p,q;中,P和q都是指针。A.B.X正确答案:B、53对于:inta=5,15,34,54,14,2,52,72);int*p=&al;那么:p2的值是正确答案是:54。54对于以下代码段,正确的说法是:char*p;while(1)p=malloc(l);*p=0;)A.最终程序会因为没有没有空间了而退出B.最终程序会因为向0地址写入而退出C.程序会一直运行下去D.程序不能被编译正确答案:B、最终程序会因为向。地址写入而退出55对于以下代码段:inta=1,2,3,4,5,;int*p=a;int*q=&a5;printf(,%d,q-p);当SiZeof(int)为4时,以下说法正确的选项是:A.因为第三行的错误不能编译B.因为第三行的错误运行时崩溃C.输出5D.输出20正确答案:C、输出5。56使用malloc就可以做出运行时可以随时改变大小的数组A.B.正确答案:B、O