资源描述:
《C语言综合练习题及详解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、综合练习题一、从下列四个供选择的答案中选出正确的一个答案1、语句printf(“%%d%d”,123);将输出:A)%123%dB)%%d123C)%d123D)上述语句语法有错“%%”格式表示输出一个“%”。2、执行下列程序段后,a值为:inta,b;a=15;b=12;a=(a--==b++)?a%5:a/5;A)0B)2.8C)4D)2先计算a--==b++的值:a--的值为15,执行后a=14;b++的值为12,执行后b=13;15==12为假执行a/5即14/5值为2结果:a=23、判断字符
2、变量c的值为数字(’0’---’9’)则返回1,否则返回0,可用表达式:A)‘0’<=c<=‘9’B)‘0’<=c&&c<=‘9’C)‘0’<=c
3、
4、c<=‘9’D)以上均不是4、对于intx,y;语句if(x<0)y=-1;elseif(!x)y=0;elsey=1;等价于:A)y=0;if(x>=0)if(x)y=1;elsey=-1;B)if(x!=0)if(x>0)y=1;elsey=-1;elsey=0;C)if(x<0)y=-1;if(x!=0)y=1;elsey=0;D)y=-1;if(
5、x!=0)if(x>0)y=1;elsey=0;语句if(x<0)y=-1;elseif(!x)y=0;elsey=1;等价于:if(x<0)y=-1;else{if(!x)y=0;elsey=1;}即:-1x<0y=0x=01x>05、循环for(i=0,j=5;++i!=--j;)printf(“%d%d”,i,j);将执行A)6次B)3次C)0次D)无限次i=0,j=5,(++iè1)!=(--jè4)成立:i=1,j=4i=1,j=4,(++iè2)!=(--jè3)成立:i=2,j=3i=2
6、,j=3,(++iè3)!=(--jè2)成立:i=3,j=2……6、下列程序段执行后s值为:inti=5,s=0;doif(i%2)continue;elses+=i;while(--i);A)15B)9C)6D)以上均不是写成规范形式:doif(i%2)continue;elses+=i;while(--i);i=5,s=0:i%2=1:i=4i=4,s=0:i%2=0:s=0+4=4;i=3i=3,s=4:i%2=1:i=2i=2,s=4:i%2=0:s=4+2=6;i=1i=1,s=6:i%2
7、=1:i=07、对于inta,要使((1<<2>>1)
8、a)==a;则a可以是:A)2B)6C)10D)2,6,10均可1:00000000000000011<<2:00000000000001001<<2>>1:0000000000000010(1<<2>>1)
9、2:0000000000000010(2)(1<<2>>1)
10、6:0000000000000110(6)(1<<2>>1)
11、10:0000000000001010(10)8、对于以下宏定义:#defineSQ(x)x*x#defineDD(
12、x,y)SQ(x)-SQ(y)宏调用DD(2*3,2+3)执行后值为:A)43B)11C)25D)以上均不是DD(2*3,2+3)èSQ(2*3)-SQ(2+3)è2*3*2*3-2+3*2+3è439、对于以下结构定义:struct{intlen;char*str;}*p;*p->str++中的++加在A)指针str上B)指针p上C)str所指的内容上D)以上均不是优先级:“->”>“*”=“++”,++是右结合*p->str++çè*((p->str)++)例子:假如有plen12strHello
13、,world! 则*p->str++的值为‘H’,执行后,str指向’e’单元.10、将s所指节点加到p所指节点之后(如下图),其语句应为:next.........pnextsA)s->next=p+1;p->next=s;B)p->next=s;s->next=p->next;C)s->next=p->next;p->next=s->next;D)s->next=p->next;p->next=s;11、语句if(a>b)k=0;elsek=1;(inta,b,k)等价于:A)k=(a>b)?1
14、:0;B)k=a>b;C)k=a<=b;D)以上均不是12、对于inti;charc,s[20];从输入序列123ab45efg中将123读入i;’b’读入c;“45efg”读入s,则scanf语句应写为:A)scanf(“%da%c%s”,i,c,s)B)scanf(“%d%*c%c%s”,&i,&c,s);C)scanf(“%da%c%s”,&i,&c,&s)D)scanf(“%d%c%c%s”,&i,&c,s);13、若有以下说明和语句,已知int