当前位置:文档之家› 第四章 习题答案

第四章 习题答案

1、

C语言中while和do-while循环的主要区别是

答案 A.

do-while的循环体至少无条件执行一次

B.

while的循环控制条件比do-while的循环控制条件严格

C.

do-while允许从外部转到循环体内

D. d o-while的循环体不能是复合语句

2、

下列叙述中正确的是

答案 A.

break 语句只能用于 switch 语句体中

B.

continue语句的作用是使程序的执行流程跳出包含它的所有循环

C.

break 语句只能用在循环体内和 switch 语句体内

D.

在循环体内使用 break语句和 continue 语句的作用相同、

3、

下列叙述中正确的是

答案 A.

do-while语句构成的循环不能用其它语句构成的循环来代替

B.

do-while语句构成的循环只能用break语句退出

$ C.

用do-while语句构成的循环,在while后的表达式为非零时结束循环

D.

用do-while语句构成的循环,在while后的表达式为零时结束循环4、

执行x=-1; do { x=x*x; } while (!x); 循环时,下列说法正确的是

答案< A.

循环体将执行一次

B.

循环体将执行两次

C.

循环体将执行无限次

:

D.

系统将提示有语法错误

5、

假设变量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;

6、

以下程序段的输出结果是

int main(void)

{

int num = 0,s = 0

;

while(num <= 2)

{

num++; s += nu

m;

}

printf("%d\n",s);

?

return 0;

}

答案 A. 10

B. 6

C. 3

D. 1

7、

运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为

int main(void)

{

int m, n;

printf("Enter m,n;");

scanf("%d%d", &m,&n): while (m!=n)

}

{

while (m>n) m=m-n;

while (n>m) n=n-m;

}

printf("m=%d\n",m);

return 0;

}

答案 A.

?

m=3

B.

m=2

C.

m=1

D.

m=0

-

8、

下列程序段的输出结果是

int main(viod)

{

for(int i=1;i<6;i++)

{

if( i%2 != 0)

{

printf("#");

.

continue;

}

printf("*");

}

printf("\n");

return 0;

}

答案 A.

'

#*#*#

B.

#####

C.

*****

D.

*#*#*

9、

若s=0,执行循环语句"for(i=1; i<=10; i=i+3) s=s+i; "后,i的值为[x]

x 的答案13

10、

问题

下列程序段的输出结果是[x]

^

int x=2;

do {

printf(“*”);

x--;

} while(!x==0);

x 的答案**

11、下列程序段的功能是计算:s=1+12+123+1234+12345。则划线处应填[x]

|

int t=0,s=0,i;

for(i=1;i<=5;i++)

{

t=i+ ;

s=s+t;

}

printf("s=%d\n",s);

x 的答案@

t*10

10*t

12、

以下程序的输出结果是[x]

int main(void)

{

int num=0;

while(num<6)

{

num++;

if(num==3)

break;

printf("%d",num);

}

return 0;

}

x 的答案12

13、

阅读下列程序并回答问题。

,

main()

{

int i, j, k=0, m=0;

for(i=0; i<2; i++)

{

; /* 第6行*/

for(j=0; j<3; j++)

k++;

m++; /* 第9行*/

}

{

printf("k=%d,m=%d\n", k, m); }

(1)程序的输出是[x]

(2)将第9行改为 " m=m+k; ",程序的输出是[y]

(3) 将第6行改为"k=0; " ,将第9行改为 " m=m+k; " ,程序的输出是[z]

x 的答案k=6,m=2

y 的答案k=6,m=9

k=3,m=6

z 的答案

14、

输入 happy$$new$$year!<回车>,则下列程序的运行结果是[x] int main(void)

{

int i,word=0;

char c;

while((c=getchar())!='\n')

{

if (c=='$')

word=0;

else if(word==0)

if (c>='a'&&c<='z')

{

c=c-'a'+'A';

word=1;

}

else

word=0;

putchar(c);

}

return 0;

}

x 的答案Happy$$New$$Year!

相关主题
文本预览
相关文档 最新文档