《程序设计》复习题第三章数据类型及运算1、有如下定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为( 1 )。
2、在c语言中,合法的长整型常数是( A )。
A.0LB.4962710C.324562&D.216D3、以下选项中合法的字符常量是(B )。
A.”B”B.‟\010‟C.68D.D4.下面选项中合法的实型常数是(C )。
A.5E2.0B.E-3C.2E0D.1.3E5.请选出可以作为C语言用户标识符的一组标识符号( B )。
A.void define WORDB.a3_b3 _123 IFC.for –abc caseD.2a D0 sizeof6.已知大写字母A的ASCII码是65,小写a的ASCII码是97,则用八进制表示的字符常量‟\101‟是( A )。
A.字符AB.字符aC.字符eD.非法常量7.以下合法的赋值语句是( A )。
A.x=y=100;B.j++;C.x+y;D.c=int(a+b);8.以下程序的输出结果是(-12 )。
main(){int a=3;printf(“%d\n”,(a+=a-=a*a));}9.以下程序输出的结果是(9,10)。
#include<stdio.h>main(){int i=010,j=10;printf(“%d,%d\n”,++i,j--);}10.设有x=11,则表达式(x++*1/3)的值是(3 )。
第四章顺序结构1、若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是:2、有以下程序:main(){int i=10,j=1;printf(“%d,%d\n”,i--, ++ j);}执行后的输出结果是:3、有以下程序:int c1=1,c2=2,c3;c3=c1/c2;c3中的值是:4、有以下程序:main(){int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);}执行后的输出结果是:5、以下程序的输出结果是:main(){int a=2, b=5;printf(“a=%%d,b=%%d\n”,a,b);}6、以下程序段的输出是:float a=3.1415;printf(“|%6.0f\n|”,a);7、下述程序的输出是()#include<stdio.h>main(){int a=011,b=101;printf(“\n%x,%o”,++a,b++);}8、main(){int a=5;printf(“%d\n”,(a=3*5,a*4,a+5));}9、int x=496;printf(“*%-6d*\n”,x);10、x=5.1694;printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);第五章选择结构1、有以下程序main(){int k=-3;if(k<=0)printf(“****\n”);else printf(“&&&&\n”);}该程序运行结果是:****2、有以下程序main(){int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%d\n”,d);else if((c-1>=d)==1)printf(“%d\n”,d+1);else printf(“%d\n”,d+2);}该程序运行结果是:33、有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d\n”,i,j,k);}该程序运行结果是:2,2,24、有如下程序main(){float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/xelse y=1.0;printf(“%f\n”,y);}该程序输出的结果是:0.5000005、若执行以下程序时从键盘上输入3和4,则输出结果是main(){int a,b,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)s=b;s*=s;printf(“%d\n”,s);}166、请写出以下程序的输出结果 1main(){int a=100;if(a>100) printf(“%d\n”,a>100);else printf(“%d\n”,a<=100);}7、以下程序的输出结果是:main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;else if(ok2)x=10;else x=-1;printf(“%d\n”,x);} -18、有以下程序的执行结果是main(){int k=10;switch(k){case 9:k+=1;case 10:k+=1;case 11:k+=1;default:k+=1; break;}printf(“%d”,k);}9、main(){int x=0,y=0,z=0;if(x=y+z)printf(“***”);elseprintf(“###”);}###10、main(){char x=‟A‟x=(x>=‟A‟&&x<=‟Z‟)?(x+32):x;printf(“%c\n”,x);} a11、以下语句段的输出结果是:*#int x=0;y=2,z=3;switch(x){case 0:switch(y==2){ case 1:printf(“*”);break;case 2:printf(“%”);break;}case 1:switch(z){case 1:printf(“$”);case 2:printf(“*”);break;default:printf(“#”);}}12、若在键盘输入58,则以下程序输出的结果是585858 main(){int a;scanf(“%d”,&a);if(a>50) printf(“%d”,a);if(a>40) printf(“%d”,a);if(a>30) printf(“%d”,a);}13、main(){int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是:a=2,b=1第六章循环控制1、下面程序的运行结果是0#include<stdio.h>main(){int y=10;do{y--;}while(--y);printf(“%d\n”,y--);}2、以下程序段的输出结果是987int n=10;while(n>7){n--;printf(“%d”,n);}3、以下程序的输出结果是不确定main(){ int i,sum;for(i=1;i<6;i++)sum+=sum;printf(“%d\n”sum);}4、以下程序的输出结果是852main(){int y=10;for(;y>0;y--){ if(y%3==0){printf(“%d”,--y);continue;}}}5、以下程序的输出结果是011122main(){int i;for(i=0;i<3;i++)switch(i){case 1:printf(“%d”,i);case 2:printf(“%d”,i);default:printf(“%d”,i);}}6、若x是int类型变量,以下程序的输出结果是**3##4**5 for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);7、以下程序的输出结果是<><>##include<stdio.h>main(){int i;for(i=1;i<5;i++){ if(i%2)putchar(…<‟);elsecontinue;putchar(…>‟);}putchar(…#‟);}8、以下程序段的输出结果是10int k,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n”,s);9、以下程序段的输出结果死循环int k,n,m;n=10;m=1;k=1;while(k<=n)m*=2;printf(“%d\n”,m);10、以下程序的输出结果是-1main(){int x=2;while(x--);printf(“%d\n”,x);}11、阅读下面程序,程序执行后的输出结果为0918273645#include “stdio.h”main(){char a,b;for(a=‟ 0‟,b=‟ 9‟;a<b;a++,b--)printf(“%c%c”,a,b);printf(“\n”);}12、main() *#*#*#${int i;for(i=1;i<=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}13、运行以下程序后,如果从键盘上输入china#,则输出结果为:5,5main(){int v1=0,v2=0; char ch;while((ch=getchar())!=‟#‟)switch(ch){case …a‟:case …h‟:default:v1++;case …o‟:v2++;}printf(“%d,%d”,v1,v2);}14、main() 17{int x=15;while(x>10&&x<50){x++;if(x/3){x++;break;}else continue;}printf (“%d\n”,x);}15、main(){int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));}1-2第七章数组1、以下对数组初始化错误的是 BA)int a[2][3]={1,2,3,4}; B) int [2][]={1,2,3,4,5,6};C) int a[2][3]={{1,2,3},{4,5}} D) int a[][3]={1,2,3,4,5,6};2、若有定义语句:char c[5]={…a‟,‟b‟,‟\0‟,‟c‟,‟\0‟};,则执行语句printf(“%s”,s)的结果是 BA)‘a’‘b’B) ab C)ab c D)ab\0c3、以下程序的输出结果是3,5,7,main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);}4、以下程序的输出结果是main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[k]);} 不确定5、执行下面的程序段后,变量k中的值为Aint k=3,s[2];s[0]=k;k=s[1]*10;A)不定值B)33 C)30 D)106、若有以下定义:double w[10];则w数组元素下标的上限是(9),下限是(0)。