大学计算机 C语言模拟试题三 附带答案.docx
《大学计算机 C语言模拟试题三 附带答案.docx》由会员分享,可在线阅读,更多相关《大学计算机 C语言模拟试题三 附带答案.docx(13页珍藏版)》请在冰豆网上搜索。
大学计算机C语言模拟试题三附带答案
大学计算机C语言模拟试题及答案(三)《附带答案》
一、选择题
(1)有以下程序段
int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while(t!
=n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数
(2)设变量已正确定义,则以下能正确计算f=n!
的程序段是
A)f=0; B)f=1;
for(i=1;i<=n;i++)f*=i; for(i=1;i C)f=1; D)f=1; for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i;(3)有以下程序main(){int k=5,n=0; while(k>0) { switch(k) { default : break; case 1 : n+=k; case 2 : case 3 : n+=k; } k--; } printf("%d\n",n);}程序运行后的输出结果是 A)0 B)4 C)6 D)7(4)有以下程序main(){ int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) { a+=5; continue;} a-=3; } printf("%d\n",b);}程序运行后的输出结果是 A)3 B)4 C)5 D)6(5)有以下程序main(){int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是 A)-1 B)-3 C)-5 D)0(6)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;则与上述程序段功能等价的赋值语句是 A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;(7)有以下程序main(){int k=4,n=4;for(;n{ n++;if(n%3!=0) continue;k--;}printf("%d,%d\n",k,n);}程序运行后的输出结果是 A)1,1 B)2,2 C)3,3 D)4,4(8)要求以下程序的功能是计算: main(){int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;print("%6.4f\n",s);}程序运行后输出结果错误,导致错误结果的程序行是 A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf("%6.4f/n",s);(9)有以下程序main(){ inti;for(i=0;i<3;i++) switch(i) {case1:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); }}执行后输出结果是 A)011122 B)012 C)012020 D)120(10)有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}执行后输出结果是 A)16 B)12 C)28 D)21(11)以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){ intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n<=10;n++){ for(k=1;k<=4;k++){ scanf(“%f”,&score); sum+=score;}ave=sum/4.0;printf(“NO%d:%f\n”,n,ave); }}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 A)sum=0.0; B)sum+=score; C)ave=sun/4.0; D)printf(“NO%d:%f\n”,n,ave);(12)有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是 A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3 C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3(13)以下程序中,while循环的循环次数是main(){int i=0;while(i<10){ if(i<1) continue;if(I==5) break; i++;}......} A)1 B)10 C)6 D)死循环,不能确定次数(14)以下程序的输出结果是main(){int a=0,i;for(i=;i<5;i++){ switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);} A)31 B)13 C)10 D)20(15)以下程序的输出结果是#include main(){int i=0,a=0;while(i<20){ for(;;){if((i%10)==0) break;else i--;}i+=11; a+=i;}printh("%d\n",a);} A)21 B)32 C)33 D)11(16) t为int类型,进人下面的循环之前,t的值为0while(t=l){…… }则以下叙述中正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对(17)以下程序的输出结果是main(){ int num=0;while(num<=2){ num++; printf(“%d\n”,num);} A)1 B)1 C)1 D)l 2 2 2 3 3 4(18)以下程序的输出结果是main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);} A)101 B)6 C)5 D)4(19)有以下程序段int k=0while(k=1)k++;while 循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次(20)以下程序执行后sum的值是 A)15 B)14 C)不确定 D)0min(){int i, sum; for(i=1;i<6;i++)sum+=i; printf(“%d\n”,sum);}(21)有以下程序段int x=3do{ printf(“%d”,x-=2); }while(!(--x));其输出结果是 A)中1 B)3 0 C)1 -2 D)死循环(22)有如下程序main0{ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是 A)6 B)3 C)死循环 D)0(23)有如下程序main0{ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环(24)有如下程序main0{ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是 A)987 B)876 C)8765 D)9876(25)以下循环体的执行次数是 A)3 B)2 C)1 D)0 main() {inti,j; for(i=0,j=1; i<=j+1;i+=2,j--)printf("%d\n",i);(26)以下叙述正确的是 A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。(27)以下程序段的执行结果是 A)a=12y=12 B)a=12y=12 a=14y=16 a=16y=28 a=16y=20 a=18y=24 C)a=12y=12 D)a=12y=12 a=14y=26 a=14y=44 int a,y; a=10;y=0; do {a+=2;y+=a; printf("a=%dy=%d\n",a,y); if(y>20)break; {while(a=14);(28)以下程序的输出结果是 A)10192 B)9876 C)10990 D)101091 main( ) { int x=10,y=10,I; for(i=0;x>8;y=++i) printf("%d,%d",x--,y);(29)以下程序的输出结果是 A)2 0 B)3 1 C)3 2 1 D)2 1 0 main( ) { int n=4; while(n--)printf("%d",--n);(30)以下程序的输出结果是 A)#*#*# B)##### C)***** D)*#*#* main( ) { int i; for(i=1;i<6;i++) { if(i%2){printf("#");continue;} printf("*"); } printf("\n");(31)执行以下程序段时 A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 X=-1; do {x=x*x; } while(!x);(32)执行以下程序后,输出的结果是 A)-1 B)1 C)8 D)0 main() { int y=10; do {y--;} while(--y); printf("%d\n",y--);(33)在下列选项中,没有构成死循环的程序段是 A)int i=100 B) for(;;); while(1) { i=i%100+1; if(i>100)break; C)intk=1000; D) int s=36; do{++k;}while(k>=10000); while(s);--s;(34)执行语句: for(i=l:i++<4:);后,变量i的值是 A)3 B)4 C)5 D)不定(35)以下程序的输出结果是 A)x=4 B)x=8 C)x=6 D)x=12 main() { int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x);(36)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为: A)m=3 B)m=2 C)m=1 D)m=1 main() { int m,n; printf("Enterm,n;"); scanf("%d%d",&m,&n): while(m!=n) {while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m);(37)设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y<=50;y++) {if(x>=10))break; if(x%2==1) { x+=5; continue;} x-=3; A)2 B)4 C)6 D)8(38)假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a; a++; }while(b--<0); A)9 B)-2 C)-1 D)8(39)设j为int型变量,则下面for循环语句的执行结果是 for(j=10;j>3;j--) { if(j%3)j--; --j; --j; printf("%d ",j); A)6 3 B)7 4 C)6 2 D)7 3(40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是 for(i=5;i;i--) for(j=0;j<4;j++){...} A)20 B)25 C)24 D)30(41)执行下面的程序后,a的值为main(){ inta,b;for(a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1) {b+=3; continue;}b-=5; } } A)7 B)8 C)9 D)10(42)以下程序段的输出结果是intx=3; do { printf("%3d",x-=2);} while(!(--x)); A)1 B)30 C)1-2 D)死循环(43)定义如下变量:intn=10;则下列循环的输出结果是while(n>7){ n--; printf("%d\n",n); } A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6(44)下面的程序 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环main(){intx=3;do{printf("%d\n",X-=2);}while(!(--x));}(45)下面程序的输出是 A)741 B)852 C)963 D)875421main(){inty=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}(46)若x是int型变量,且有下面的程序片段:for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x);上面程序片段的输出结果是 A)**3 B)##3 C)##3 D)**3##4 ##4 **4 **4##5 **5 **5 ##5(47)请读程序片段:#includemain(){inta,b;for(a=1;b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);上面程序的输出结果是 A)7 B)8 C)9 D)10(48)请读程序:#includemain(){intmun=0;while(num<=2){num++;printf("%d\n",num);}上面程序的输出结果是 A)1 B)1 C)1 D)1 2 2 2 3 3 4(49)请读程序:#include#includemain(){floatx,y,z;scan("%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);}若运行时从键盘上输入3.62.4(表示回车),则输出的结果是 A)1.500000 B)1.600000 C)2.000000 D)2.400000(50)执行下面程序片段的结果是intx=23;do{printf("%2d",x--);}while(!x); A)打印出321 B)打印出23 C)不打印任何内容
C)f=1; D)f=1;
for(i=n;i>1;i++)f*=i; for(i=n;i>=2;i--)f*=i;
(3)有以下程序
main()
{int k=5,n=0;
while(k>0)
{ switch(k)
{ default :
break;
case 1 :
n+=k;
case 2 :
case 3 :
}
k--;
printf("%d\n",n);
程序运行后的输出结果是 A)0 B)4 C)6 D)7
(4)有以下程序
{
int a=1,b;
for(b=1;b<=10;b++)
if(a>=8) break;
if(a%2==1) { a+=5; continue;}
a-=3;
printf("%d\n",b);
程序运行后的输出结果是 A)3 B)4 C)5 D)6
(5)有以下程序
{int s=0,a=1,n;
scanf("%d",&n);
do
{ s+=1; a=a-2; }
while(a!
printf("%d\n",s);
若要使程序的输出值为2,则应该从键盘给n输入的值是
A)-1 B)-3 C)-5 D)0
(6)若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++)s=s+1;
则与上述程序段功能等价的赋值语句是 A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;
(7)有以下程序
{int k=4,n=4;
for(;n{ n++;if(n%3!=0) continue;k--;}printf("%d,%d\n",k,n);}程序运行后的输出结果是 A)1,1 B)2,2 C)3,3 D)4,4(8)要求以下程序的功能是计算: main(){int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;print("%6.4f\n",s);}程序运行后输出结果错误,导致错误结果的程序行是 A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf("%6.4f/n",s);(9)有以下程序main(){ inti;for(i=0;i<3;i++) switch(i) {case1:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); }}执行后输出结果是 A)011122 B)012 C)012020 D)120(10)有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}执行后输出结果是 A)16 B)12 C)28 D)21(11)以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){ intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n<=10;n++){ for(k=1;k<=4;k++){ scanf(“%f”,&score); sum+=score;}ave=sum/4.0;printf(“NO%d:%f\n”,n,ave); }}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是 A)sum=0.0; B)sum+=score; C)ave=sun/4.0; D)printf(“NO%d:%f\n”,n,ave);(12)有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是 A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3 C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3(13)以下程序中,while循环的循环次数是main(){int i=0;while(i<10){ if(i<1) continue;if(I==5) break; i++;}......} A)1 B)10 C)6 D)死循环,不能确定次数(14)以下程序的输出结果是main(){int a=0,i;for(i=;i<5;i++){ switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);} A)31 B)13 C)10 D)20(15)以下程序的输出结果是#include main(){int i=0,a=0;while(i<20){ for(;;){if((i%10)==0) break;else i--;}i+=11; a+=i;}printh("%d\n",a);} A)21 B)32 C)33 D)11(16) t为int类型,进人下面的循环之前,t的值为0while(t=l){…… }则以下叙述中正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对(17)以下程序的输出结果是main(){ int num=0;while(num<=2){ num++; printf(“%d\n”,num);} A)1 B)1 C)1 D)l 2 2 2 3 3 4(18)以下程序的输出结果是main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);} A)101 B)6 C)5 D)4(19)有以下程序段int k=0while(k=1)k++;while 循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次(20)以下程序执行后sum的值是 A)15 B)14 C)不确定 D)0min(){int i, sum; for(i=1;i<6;i++)sum+=i; printf(“%d\n”,sum);}(21)有以下程序段int x=3do{ printf(“%d”,x-=2); }while(!(--x));其输出结果是 A)中1 B)3 0 C)1 -2 D)死循环(22)有如下程序main0{ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是 A)6 B)3 C)死循环 D)0(23)有如下程序main0{ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环(24)有如下程序main0{ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是 A)987 B)876 C)8765 D)9876(25)以下循环体的执行次数是 A)3 B)2 C)1 D)0 main() {inti,j; for(i=0,j=1; i<=j+1;i+=2,j--)printf("%d\n",i);(26)以下叙述正确的是 A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。(27)以下程序段的执行结果是 A)a=12y=12 B)a=12y=12 a=14y=16 a=16y=28 a=16y=20 a=18y=24 C)a=12y=12 D)a=12y=12 a=14y=26 a=14y=44 int a,y; a=10;y=0; do {a+=2;y+=a; printf("a=%dy=%d\n",a,y); if(y>20)break; {while(a=14);(28)以下程序的输出结果是 A)10192 B)9876 C)10990 D)101091 main( ) { int x=10,y=10,I; for(i=0;x>8;y=++i) printf("%d,%d",x--,y);(29)以下程序的输出结果是 A)2 0 B)3 1 C)3 2 1 D)2 1 0 main( ) { int n=4; while(n--)printf("%d",--n);(30)以下程序的输出结果是 A)#*#*# B)##### C)***** D)*#*#* main( ) { int i; for(i=1;i<6;i++) { if(i%2){printf("#");continue;} printf("*"); } printf("\n");(31)执行以下程序段时 A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次 D)系统将提示有语法错误 X=-1; do {x=x*x; } while(!x);(32)执行以下程序后,输出的结果是 A)-1 B)1 C)8 D)0 main() { int y=10; do {y--;} while(--y); printf("%d\n",y--);(33)在下列选项中,没有构成死循环的程序段是 A)int i=100 B) for(;;); while(1) { i=i%100+1; if(i>100)break; C)intk=1000; D) int s=36; do{++k;}while(k>=10000); while(s);--s;(34)执行语句: for(i=l:i++<4:);后,变量i的值是 A)3 B)4 C)5 D)不定(35)以下程序的输出结果是 A)x=4 B)x=8 C)x=6 D)x=12 main() { int i,j,x=0; for(i=0;i<2;i++) {x++; for(j=0;j<=3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x);(36)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为: A)m=3 B)m=2 C)m=1 D)m=1 main() { int m,n; printf("Enterm,n;"); scanf("%d%d",&m,&n): while(m!=n) {while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m);(37)设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y<=50;y++) {if(x>=10))break; if(x%2==1) { x+=5; continue;} x-=3; A)2 B)4 C)6 D)8(38)假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a; a++; }while(b--<0); A)9 B)-2 C)-1 D)8(39)设j为int型变量,则下面for循环语句的执行结果是 for(j=10;j>3;j--) { if(j%3)j--; --j; --j; printf("%d ",j); A)6 3 B)7 4 C)6 2 D)7 3(40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是 for(i=5;i;i--) for(j=0;j<4;j++){...} A)20 B)25 C)24 D)30(41)执行下面的程序后,a的值为main(){ inta,b;for(a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1) {b+=3; continue;}b-=5; } } A)7 B)8 C)9 D)10(42)以下程序段的输出结果是intx=3; do { printf("%3d",x-=2);} while(!(--x)); A)1 B)30 C)1-2 D)死循环(43)定义如下变量:intn=10;则下列循环的输出结果是while(n>7){ n--; printf("%d\n",n); } A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6(44)下面的程序 A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环main(){intx=3;do{printf("%d\n",X-=2);}while(!(--x));}(45)下面程序的输出是 A)741 B)852 C)963 D)875421main(){inty=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}(46)若x是int型变量,且有下面的程序片段:for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x);上面程序片段的输出结果是 A)**3 B)##3 C)##3 D)**3##4 ##4 **4 **4##5 **5 **5 ##5(47)请读程序片段:#includemain(){inta,b;for(a=1;b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);上面程序的输出结果是 A)7 B)8 C)9 D)10(48)请读程序:#includemain(){intmun=0;while(num<=2){num++;printf("%d\n",num);}上面程序的输出结果是 A)1 B)1 C)1 D)1 2 2 2 3 3 4(49)请读程序:#include#includemain(){floatx,y,z;scan("%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);}若运行时从键盘上输入3.62.4(表示回车),则输出的结果是 A)1.500000 B)1.600000 C)2.000000 D)2.400000(50)执行下面程序片段的结果是intx=23;do{printf("%2d",x--);}while(!x); A)打印出321 B)打印出23 C)不打印任何内容
{ n++;
if(n%3!
=0) continue;
k--;}
printf("%d,%d\n",k,n);
程序运行后的输出结果是 A)1,1 B)2,2 C)3,3 D)4,4
(8)要求以下程序的功能是计算:
{int n; float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
print("%6.4f\n",s);
程序运行后输出结果错误,导致错误结果的程序行是
A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf("%6.4f/n",s);
(9)有以下程序
{ inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
default:
执行后输出结果是 A)011122 B)012 C)012020 D)120
(10)有以下程序
{inti=0,s=0;
do{
if(i%2){i++;continue;}
i++;
s+=i;
}while(i<7);
执行后输出结果是 A)16 B)12 C)28 D)21
(11)以下程序的功能是:
按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
{ intn,k;
floatscore,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score); sum+=score;}
ave=sum/4.0;
printf(“NO%d:
%f\n”,n,ave);
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是
A)sum=0.0; B)sum+=score; C)ave=sun/4.0; D)printf(“NO%d:
(12)有以下程序段
intn=0,p;
do{scanf(“%d”,&p);n++;}while(p!
=12345&&n<3);
此处do—while循环的结束条件是
A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3
C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于3
(13)以下程序中,while循环的循环次数是
{int i=0;
while(i<10)
{ if(i<1) continue;
if(I==5) break;
......
} A)1 B)10 C)6 D)死循环,不能确定次数
(14)以下程序的输出结果是
{int a=0,i;
for(i=;i<5;i++)
{ switch(i)
{case0:
case3:
a+=2;
case1:
a+=3;
a+=5;
printf("%d\n",a);
} A)31 B)13 C)10 D)20
(15)以下程序的输出结果是
#include
{int i=0,a=0;
while(i<20)
{ for(;;)
{if((i%10)==0) break;
else i--;
i+=11; a+=i;
printh("%d\n",a);
} A)21 B)32 C)33 D)11
(16) t为int类型,进人下面的循环之前,t的值为0
while(t=l)
{…… }
则以下叙述中正确的是 A)循环控制表达式的值为0 B)循环控制表达式的值为1
C)循环控制表达式不合法 D)以上说法都不对
(17)以下程序的输出结果是
{ int num=0;
while(num<=2)
{ num++; printf(“%d\n”,num);
A)1 B)1 C)1 D)l 2 2 2 3 3 4
(18)以下程序的输出结果是
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if(b>=10) break;
if(b%3==1)
{ b+=3; continue; }
printf(“%d\n”,a);
} A)101 B)6 C)5 D)4
(19)有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是
A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次
(20)以下程序执行后sum的值是
A)15 B)14 C)不确定 D)0
min()
{int i, sum;
for(i=1;i<6;i++)sum+=i;
printf(“%d\n”,sum);
(21)有以下程序段
int x=3
{ printf(“%d”,x-=2); }
while(!
(--x));
其输出结果是 A)中1 B)3 0 C)1 -2 D)死循环
(22)有如下程序
main0
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
该程序的执行结果是 A)6 B)3 C)死循环 D)0
(23)有如下程序
{ int x=23;
{ printf(“%d”,x--);}
x);
该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环
(24)有如下程序
{ int n=9;
while(n>6) {n--;printf(“%d”,n);}
该程序段的输出结果是 A)987 B)876 C)8765 D)9876
(25)以下循环体的执行次数是
A)3 B)2 C)1 D)0
{inti,j;
for(i=0,j=1; i<=j+1;i+=2,j--)printf("%d\n",i);
(26)以下叙述正确的是
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
(27)以下程序段的执行结果是
A)a=12y=12 B)a=12y=12
a=14y=16 a=16y=28
a=16y=20
a=18y=24
C)a=12y=12 D)a=12y=12
a=14y=26
a=14y=44
int a,y;
a=10;y=0;
{a+=2;y+=a;
printf("a=%dy=%d\n",a,y);
if(y>20)break;
{while(a=14);
(28)以下程序的输出结果是 A)10192 B)9876 C)10990 D)101091
main( )
{ int x=10,y=10,I;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
(29)以下程序的输出结果是
A)2 0
B)3 1
C)3 2 1
D)2 1 0
{ int n=4;
while(n--)printf("%d",--n);
(30)以下程序的输出结果是
A)#*#*# B)##### C)***** D)*#*#*
{ int i;
for(i=1;i<6;i++)
{ if(i%2){printf("#");continue;}
printf("*");
printf("\n");
(31)执行以下程序段时
A)循环体将执行一次 B)循环体将执行两次
C)循环体将执行无限次 D)系统将提示有语法错误
X=-1;
do {x=x*x; } while(!
(32)执行以下程序后,输出的结果是
A)-1 B)1 C)8 D)0
{ int y=10;
do {y--;} while(--y);
printf("%d\n",y--);
(33)在下列选项中,没有构成死循环的程序段是
A)int i=100 B) for(;;);
while
(1)
{ i=i%100+1;
if(i>100)break;
C)intk=1000; D) int s=36;
do{++k;}while(k>=10000); while(s);--s;
(34)执行语句:
for(i=l:
i++<4:
);后,变量i的值是
A)3 B)4 C)5 D)不定
(35)以下程序的输出结果是
A)x=4 B)x=8 C)x=6 D)x=12
{ int i,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{ if(j%2)continue;
x++;
printf("x=%d\n",x);
(36)运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为:
A)m=3 B)m=2 C)m=1 D)m=1
{ int m,n;
printf("Enterm,n;"); scanf("%d%d",&m,&n):
while(m!
=n)
{while(m>n)m-=n;
while(n>m)n-=m;
printf("m=%d\n",m);
(37)设x和y均为int型变量,则执行下的循环后,y值为
for(y=1,x=1;y<=50;y++)
{if(x>=10))break;
if(x%2==1)
{ x+=5; continue;}
x-=3;
A)2 B)4 C)6 D)8
(38)假定a和b为int型变量,则执行以下语句后b的值为
a=1; b=10;
{ b-=a; a++; }
while(b--<0);
A)9 B)-2 C)-1 D)8
(39)设j为int型变量,则下面for循环语句的执行结果是
for(j=10;j>3;j--)
{ if(j%3)j--;
--j; --j;
printf("%d ",j);
A)6 3 B)7 4 C)6 2 D)7 3
(40)若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
for(i=5;i;i--)
for(j=0;j<4;j++){...}
A)20 B)25 C)24 D)30
(41)执行下面的程序后,a的值为
{ inta,b;
{ if(b>=20)break;
if(b%3==1) {b+=3; continue;}
b-=5; } }
A)7 B)8 C)9 D)10
(42)以下程序段的输出结果是
intx=3;
do { printf("%3d",x-=2);} while(!
A)1 B)30 C)1-2 D)死循环
(43)定义如下变量:
intn=10;则下列循环的输出结果是
while(n>7)
{ n--;
printf("%d\n",n); }
A)10 B)9 C)10 D)9
9 8 9 8
8 7 8 7
7 6
(44)下面的程序
A)输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环
{intx=3;
printf("%d\n",X-=2);
}while(!
(--x));}
(45)下面程序的输出是
A)741 B)852 C)963 D)875421
{inty=9;
for(;y>0;y--)
{if(y%3==0)
{printf("%d",--y);continue;}
(46)若x是int型变量,且有下面的程序片段:
for(x=3;x<6;x++)printf((x%2)?
("**%d"):
("##%d\n"),x);
上面程序片段的输出结果是
A)**3 B)##3 C)##3 D)**3##4
##4 **4 **4##5 **5
**5 ##5
(47)请读程序片段:
{inta,b;
for(a=1;b=1;a<=100;a++)
{if(b>=20)break;
{b+=3;
continue;
b-=5;
上面程序的输出结果是 A)7 B)8 C)9 D)10
(48)请读程序:
{intmun=0;
{num++;printf("%d\n",num);}
上面程序的输出结果是
A)1 B)1 C)1 D)1
2 2 2
3 3
4
(49)请读程序:
{floatx,y,z;
scan("%f%f",&x,&y);
z=x/y;
{if(fabs(z)>1.0)
{x=y;y=z;z=x/y;
elsebreak
printf("%f\n",y);
若运行时从键盘上输入3.62.4(表示回车),则输出的结果是
A)1.500000 B)1.600000 C)2.000000 D)2.400000
(50)执行下面程序片段的结果是
intx=23;
{printf("%2d",x--);}
A)打印出321 B)打印出23 C)不打印任何内容
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1