1、流程控制及答案解析(总分:15.00,做题时间:90 分钟)一、B选择题/B(总题数:7,分数:7.00)1.下列条件语句中,功能与其他语句不同的是_。(分数:1.00)A.if(printf(“%d/n“,;else printf(“%d/n“,;B.if(b=0)printf(“%d/n“,;else printf(“%d/n“,;C.if(b!=0)printf(“%d/n“,;else printf(“%d/n“,;D.if(b=+0)printf(“%d/n“,;else printf(“%d/n“,;2.以下错误的叙述是_。(分数:1.00)A.使用 while和 do-while
2、循环时,循环变量的初始化应该在循环语句之前完成B.while循环是先判断表达式,后执行循环语句C.do-while和 for循环均是先执行循环体语句,后判断表达式D.for、while 和 do-while循环中的循环体均可以由空语句构成3.若 i为整型变量,则以下循环执行次数是_。 for(i=2;i=0;)printf(“%d“,i-);(分数:1.00)A.无限次B.0次C.1次D.2次4.关于下面的程序 #includestdio.h main() int x=3,y=0,z=0; if(x=y+z)printf(“*“); else printf(“); 说法正确的是_。(分数:1.
3、00)A.有语法错误不能通过编译B.输出*C.输出D.可以通过编译,但不能通过连接,无法运行5.如下程序的输出结果是_。 #includestdio.h main() int x,a=3,b=4; for(x=0;x3;x+) switch(x) case 0:a-; case 1:b-; case 2:break; case 3:a-;b-; printf(“a=%d,b=%d/n“,a,B) ; (分数:1.00)A.a=2,b=2B.a=3,b=3C.a=1,b=2D.a=3,b=26.如下程序的输出结果是_。 #includestdio.h main() int x=1,a=3,b=4
4、; switch(x) case 0:a-; case 1:b-; case 2:a-;b-; printf(“a=%d,b=%d/n“,a,b); (分数:1.00)A.a=2,b=2B.a=3,b=3C.a=1,b=2D.a=3,b=27.C语言中 while和 do-while循环的主要区别是_。(分数:1.00)A.do-while的循环体不能是复合语句B.while的循环控制条件比 do-while的循环控制条件更严格C.do-while允许从外部转到循环体内D.do-while的循环体至少五条件执行一次二、B填空题/B(总题数:4,分数:8.00)8.执行以下程序后,输出*号的个数
5、是_。 #includestdio.h main() int i,j; for (i=1;i6;i+) for(j=2;j=i;j+)putchar(*); (分数:2.00)填空项 1:_9.以下程序的输出结果是_。 main() int s,i; for(s=0,i=4;i2;i-,s+=i); printf(“%d/n“,s); (分数:2.00)填空项 1:_10.若从键盘输入 34,则以下程序输出的结果是_。 #includestdio.h main() int a; scanf(“%d“,&a); if(a30)printf(“%d“,a); if(a20)printf(“%d“,
6、a); if(a10)printf(“%d“,a); (分数:2.00)填空项 1:_11.设有以下程序 #includestdio.h main() int n1,n2; scanf(“%d“,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行后,从键盘上输入 1186,则输出结果为_。(分数:2.00)填空项 1:_流程控制答案解析(总分:15.00,做题时间:90 分钟)一、B选择题/B(总题数:7,分数:7.00)1.下列条件语句中,功能与其他语句不同的是_。(分数:1.00)A.if(printf(“%d/n“,;
7、else printf(“%d/n“,;B.if(b=0)printf(“%d/n“,;else printf(“%d/n“,;C.if(b!=0)printf(“%d/n“,;else printf(“%d/n“,;D.if(b=+0)printf(“%d/n“,;else printf(“%d/n“,; 解析:2.以下错误的叙述是_。(分数:1.00)A.使用 while和 do-while循环时,循环变量的初始化应该在循环语句之前完成B.while循环是先判断表达式,后执行循环语句C.do-while和 for循环均是先执行循环体语句,后判断表达式 D.for、while 和 do-wh
8、ile循环中的循环体均可以由空语句构成解析:3.若 i为整型变量,则以下循环执行次数是_。 for(i=2;i=0;)printf(“%d“,i-);(分数:1.00)A.无限次B.0次 C.1次D.2次解析:4.关于下面的程序 #includestdio.h main() int x=3,y=0,z=0; if(x=y+z)printf(“*“); else printf(“); 说法正确的是_。(分数:1.00)A.有语法错误不能通过编译B.输出*C.输出 D.可以通过编译,但不能通过连接,无法运行解析:5.如下程序的输出结果是_。 #includestdio.h main() int x
9、,a=3,b=4; for(x=0;x3;x+) switch(x) case 0:a-; case 1:b-; case 2:break; case 3:a-;b-; printf(“a=%d,b=%d/n“,a,B) ; (分数:1.00)A.a=2,b=2 B.a=3,b=3C.a=1,b=2D.a=3,b=2解析:6.如下程序的输出结果是_。 #includestdio.h main() int x=1,a=3,b=4; switch(x) case 0:a-; case 1:b-; case 2:a-;b-; printf(“a=%d,b=%d/n“,a,b); (分数:1.00)A
10、.a=2,b=2 B.a=3,b=3C.a=1,b=2D.a=3,b=2解析:7.C语言中 while和 do-while循环的主要区别是_。(分数:1.00)A.do-while的循环体不能是复合语句B.while的循环控制条件比 do-while的循环控制条件更严格C.do-while允许从外部转到循环体内D.do-while的循环体至少五条件执行一次 解析:二、B填空题/B(总题数:4,分数:8.00)8.执行以下程序后,输出*号的个数是_。 #includestdio.h main() int i,j; for (i=1;i6;i+) for(j=2;j=i;j+)putchar(*)
11、; (分数:2.00)填空项 1:_ (正确答案:10)解析:9.以下程序的输出结果是_。 main() int s,i; for(s=0,i=4;i2;i-,s+=i); printf(“%d/n“,s); (分数:2.00)填空项 1:_ (正确答案:5)解析:10.若从键盘输入 34,则以下程序输出的结果是_。 #includestdio.h main() int a; scanf(“%d“,&a); if(a30)printf(“%d“,a); if(a20)printf(“%d“,a); if(a10)printf(“%d“,a); (分数:2.00)填空项 1:_ (正确答案:343434)解析:11.设有以下程序 #includestdio.h main() int n1,n2; scanf(“%d“,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(“%d“,n1); 程序运行后,从键盘上输入 1186,则输出结果为_。(分数:2.00)填空项 1:_ (正确答案:6811)解析: