阅读程序题导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。【2.1】以下程序的输出结果是。main(){floata;a=1/100000000;printf(%g,a);}A)0.00000e+00B)0.0C)1.00000e-07D)0【2.2】下面程序的输出结果是____。#includestdio.hmain(){intx=10;{intx=20;printf(%d,,x);}printf(%d\n,x);}A)10,20B)20,10C)10,10D)20,20【2.3】以下程序的输出结果是____。main(){unsignedintn;inti=-521;n=i;printf(n=%u\n,n);}A)n=-521B)n=521C)n=65015D)n=102170103【2.4】以下程序的输出结果是。main(){intx=10,y=10;printf(%d%d\n,x――,――y);}A)1010B)99C)910D)109【2.5】以下程序的输出结果是____。main(){intn=1;printf(%d%d%d\n,n,n++,n--);}A)111B)101C)110D)121【2.6】以下程序的输出结果是____。main(){intx=0x02ff,y=0x0ff00;printf(%d\n,(x&y)4|0x005f);}A)127B)255C)128D)1【2.7】以下程序的输出结果是____。main(){inta=1;charc='a';floatf=2.0;printf(%d\n,(!(a==0),f!=0&&c=='A'));}A)0B)1【2.8】下面程序的输出结果是____。main(){inta=1,i=a+1;do{a++;}while(!~i++3);printf(%d\n,a);}A)1B)2C)3D)4【2.9】下面程序的输出结果是____。main(){inta=111;a=a^00;printf(%d,%o\n,a,a);}A)111,157B)0,0C)20,24D)7,7【2.10】下面程序的输出结果是____。main(){chars[12]=abook;printf(%.4s,s);}A)abook!B)abook!四个空格》C)aboD)格式描述错误,输出不确定【2.11】下面程序的输出结果是____。main(){inta,b;scanf(%2d%3d,&a,&b);printf(a=%db=%d\n,a,b);}A)a=12b=34B)a=123b=45C)a=12b=345D)语句右错误【2.12】以下程序段的输出结果是。inta=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(a=%db=%dc=%d\n,a,b,c);A)a=10b=50c=10B)a=10b=30c=10C)a=50b=30c=10D)a=50b=30c=50【2.13】以下程序的输出结果是。main(){inta=0,b=1,c=0,d=20;if(a)d=d-10;elseif(!b)if(!c)d=15;elsed=25;printf(d=%d\n,d);}A)d=10B)d=15C)d=20D)d=25【2.14】下面程序的输出结果为。main(){inta=1,b=0;switch(a){case1:switch(b){case0:printf(**0**);break;case1:printf(**1**);break;}case2:printf(**2**);break;}}A)**0**B)**0****2**C)**0****1****2**D)有语法错误【2.15】以下程序的输出结果是。main(){char*s=12134211;intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){case'1':v1++;case'3':v3++;case'2':v2++;default:v4++;}printf(v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);}A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=9,v3=3,v4=1C)v1=5,v2=8,v3=6,v4=1D)v1=4,v2=7,v3=5,v4=8【2.16】下面程序的输出是。main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf(a=%d,b=%d\n,a,b);}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2【2.17】下面程序的输出是____。main(){intnum=0;while(num=2){num++;printf(%d\n,num);}}A)1B)1C)1D)1222334【2.18】下面程序的输出结果是____。main(){inta=1,b=0;do{switch(a){case1:b=1;break;case2:b=2;break;default:b=0;}b=a+b;}while(!b);printf(a=%d,b=%d,a,b);}A)1,2B)2,1C)1,1D)2,2【2.19】从键盘上输入446755时,下面程序的输出是____。#includestdio.hmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf(\n);}A)888988B)668966C)88898787D)66898787【2.20】下面程序的输出结果是____。main(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k=k%2;contiue;case'E':k=k+10;break;default:k=k/3;}k++;}while(c'C');printf(k=%d\n,k);}A)k=1B)k=2C)k=3D)k=4【2.21】下面程序的输出结果是____。main(){intx,i;for(i=1;i=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(%d,x);}}A)3981B)4284C)2668D)2870【2.22】下面程序的输出结果是____。#includestdio.hmain(){inti,k,a[10],p[3];k=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)k+=p[i]*2;printf(%d\n,k);}A)20B)21C)22D)23【2.23】假定从键盘上输入3.6,2.4回车,下面程序的输出是____。#includemath.hmain(){floatx,y,z;scanf(%f,%f,&x,&y);z=x/y;while(1){if(fabs(z)1.0){x=y;y=z;z=x/y;}elsebreak;}printf(%f\n,y);}A)1.500000B)1.600000C)2.000000D)2.400000【2.24】下面程序的输出结果是____。main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j-3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);}A)x=4B)x=8C)x=6D)x=12【2.25】下面程序的输出结果是____。main(){inti,j,k=10;for(i=0;i2;i++){k++;{intk=0;for(j=0;j=3;j++){if(j%2)continue;k++;}}k++;}printf(k=%d\n,k);}A)k=4B)k=8C)k=14D)k=18【2.26】下面程序的输出结果是____。#includestdio.hmain(){intn[3][3],i,j;for(i=0;i3;i++)for(j=0;j3;j++)n[i][j]=i+j;for(i=0;i2;i++)for(j=0;j2;j++)n[i+1][j+1]+=n[i][j];printf(%d\n,n[i][j]);}A)14B)0C)6D)不确定【2.27】下面程序的输出结果是____。#includestdio.hmain(){inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};inti,j,n;n=9;i=n/5;j=n-i*5-1;printf(a[%d][%d]=%d\n,i,j,a[i][j]);}A)6B)-3C)2D)不确定【2.28】下面程序的输出结果是____。intm[3][3]={{1},{2},{3}};intn[3][3]={1,2,3};main(){printf(%d\n,m[1][0]+n[0][0]);/*①*/printf(%d\n,m[0][1]+n[1][0]);/*②*/}①A)0B)1C)2D)3②A)0B)1C)2D)3【2.29】下面程序的输出结果是____。#includestdio.hmain(){chars1[50]={somestring*},s2[]={test};printf(%s\n,strcat(s1,s2));}A)somestring*B)testC)somestritestD)somestring*test【2.30】下面程序的输出结果是____。#includestdio.hf(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}main(){printf(%d\n,f(ABCDEF));}A)3B)6C)8D)0【2.31】下面程序的输出结果是____。#includestdio.h#includestring.hmain(){charstr[100]=Howdoyoudo;strcpy(str+strlen(str)/2,esshe);printf(%s\n,str);}A)HowdoyoudoB)essheC)HowareyouD)Howdoesshe【2.32】下面程序的输出结果是____。#includestdio.hfunc(inta,intb){intc;c=a+b;return(c);}main(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf(%d\n,r);}A)11B)20C)21D)31【2.33】下面程序的输出结果是____。#includestdio.hvoidfun(in