admin 管理员组

文章数量: 1086019


2024年4月26日发(作者:嵌入式系统开发基础第五版课后答案)

单选题

1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为().

A.3,4

B。4,3

C。3,3

D.4,4

2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。

A.a<>0

B。!a

C.a=0

D.a

3、为了避免嵌套的if—else语句的二义性,C语言规定else总是与()组成配对关系.

A.缩排位置相同的if

B.在其之前未配对的if

C。在其之前尚未配对的最近的if

D。同一行上的if

4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。

A.循环控制表达式的值为0

B.循环控制表达式的值为1

C.循环控制表达式的值不合法

D.以上说法都不对

5、若有定义:int x ,i;则下列for循环语句:

for(i = 0,x = 0; i〈= 9 && x!=876;i++)

scanf(“%d”,&x);

下列选项中,描述正确的是( )

A.最多执行10次

B。最多执行9次

C。是无限循环

D。循环体一次也不执行

6、关于下面的for循环语句

int i,k;

for(i = 0,k = -1;k = 1;i++,k++) printf(“*****");

下列选项中,描述正确的是( )

A。判断循环结束的条件非法

B。是无限循环

C.只循环一次

D.一次也不循环

7、C语言程序的三种基本结构是( )。

A。顺序结构,选择结构,循环结构

B.递归结构,循环结构,转移结构

C。嵌套结构,递归结构,顺序结构

D.循环结构,转移结构,顺序结构

8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为

( )。

A.a<>0

B。!a

C。a=0

D.a

9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是( )。

void main()

int x;

scanf(”%d",&x);

if (x++ > 5)

printf(”%d",x);

else

printf("%dn”,x-—);

}

A。7和5

B.6和3

C.7和4

D。6和4

10、运行以下程序后,如果从键盘上输入china#,那么输出结果为(

#include〈stdio.h>

void main()

{

int v1=0,v2=0;

char ch;

while ((ch=getchar())!='#')

switch (ch)

{

case 'a':

case ’h':

default:

v1++;

case '0':

v2++;

}

printf("%d,%dn",v1,v2);

}

A。2,0

B。5,0

C.5,5

D.2,5

11、有如下程序:

void main()

. )

int x=1,a=0,b=0;

switch(x)

{

case 0:

}

b++;

case 1:

a++;

case 2:

a++;

b++;

printf("a=%d,b=%dn”,a,b);

该程序的输出结果是( ).

A。a=2,b=1

B。a=1,b=1

C。a=1,b=0

D。a=2,b=2

12、下面程序的输出是( )。

void main()

char *a="12134211”;

int v1=0,v2=0,v3=0,v4=0,k;

for (k=0;s[k];k++)

switch (s[k])

default:

v4++;

case ’1':

v1++;

case ’3’:

v3++;

case '2':

v2++;

printf(”v1=%d,v2=%d,v3=%d,v4=%dn",v1,v2,v3,v4);

A.v1=4,v2=2,v3=1,v4=1

B.v1=4,v2=9,v3=3,v4=1

C.v1=5,v2=8,v3=6,v4=1

D.v1=8,v2=8,v3=8,v4=8

13、下列程序段的输出结果为( )。

int y=1;

while(y-—);

printf("y=%dn”,y);

A.y=-1

B.y=0

C。死循环

D。y=9

14、当输入数据:27 63 时,下面程序的运行结果是( )。

#include〈stdio。h>

int gbs(int a, int b)

int c;

a=a>0?a:-a;

b=b>0?b:-b;

c=a*b;

if (c==0)

return 0;

while (a!=b)

if (a〉b)

a—=b;

else

b-=a;

return c/a;

int gys(int a, int b)

if (a*b==0)

return 0;

a=a>0?a:-a;

b=b〉0?b:—b;

while (a!=b)

if (a〉b)

a-=b;

else

b—=a;

return a;

void main()

{

int a,b,c,d;

scanf("%d%d”,&a,&b);

c=gbs(a,b);

d=gys(a,b);

printf(”a=%d b=%d gbs=%d gys=%dn",a,b,c,d);

A.a=30 b=63 gbs=189 gys=9

B.a=27 b=63 gbs=190 gys=10

C。a=27 b=63 gbs=189 gys=9

D.a=27 b=63 gbs=188 gys=10

15、假设有程序段:int k=0; while(k=1) k++; while语句的循环次数是( ).

A。无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

16、执行下面程序片段的结果是( )。

int x=23;

do

{

printf("%2d",x—-);

} while (!x);

A。打印出321

B。打印出23

C.不打印任何内容

D。陷入死循环

17、在C语言程序中,若希望结束循环,则do—while语句构成的循环中的条件为(

A.0

B.1

D。非

18、以下描述中正确的是( )。

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

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

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

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

19、以下循环体的执行次数是( )。

void main()

int i,j;

for (i=0,j=1; i<=j+1; i+=2,j-—)

printf("%dn",i);

A。3

B.2

C.1

D.0

20、有如下程序:

void main()

{

int i,sum;

)。

}

for(i=1;i〈=3;sum++)

sum+=i;

printf("%dn”,sum);

该程序的执行结果是( )。

A.6

B.3

C。死循环

D.0

21、以下程序的输出结果是( ).

void main()

int x=10, y=10, i;

for (i=0; x>8; y=++i)

printf("%d %d ", x--, y);

A.10 1 9 2

B.9 8 7 6

C。10 9 9 0

D。10 10 9 1

22、下列说法中正确的是( )。

A.在switch语句中一定要使用break语句

B。在switch语句中不一定要使用break语句

C。break语句是switch语句的一部分

D。break只能用于switch语句中

23、执行下面的程序后,a的值为( )。

void main()

{

int a,b;

for (a=1,b=1; a<=100; a++)

if (b>=20)

}

}

A。7

B。8

C。9

break;

if (b%3==1)

{

b+=3;

continue;

}

b-=5;

D。10

24、若有以下程序段,w和k都是整型变量:

w=k;

LB:

LE:

if (w==0)

go to LE;

w-—;

printf("*”);

goto LB;

那么不能与上面程序段等价的循环语句是( )。

(w=k; w!=0; w--) printf(”*”);

(w=k; w; -—w) printf(”*”);

C。w=k; while (w—— != 0) printf(”*"); w++;

D.w=k; do { w--; printf("*"); } while (w!=0);

多选题

1、C语言的程序结构语句包括()。

A.顺序结构语句

B.循环结构语句

C.选择结构语句

D。逻辑结构语句

2下列语句哪些属于循环语句()。

A。for语句

B。do—while语句

语句

D。switch语句

判断题

1、break是跳出当前循环,接着执行循环后面的代码。

2、continue只能用于循环语句。

3、break语句只能在循环语句中使用。

4、在C语言中,跳转语句有break语句、goto语句和continue语句。

简答题

1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,

请写出运行结果。

void main()

{

int a,b,d=241;

a=d/100%9;

b=(—1)&&(-1);

printf(“%d,%d",a,b);

}

2、请阅读下面的程序,在空白处填写正确的代码,要求输出m和n的值,且每行从头开始。

void main()

int m = 10, n = 20;

printf( ,m);

printf( ,n);

3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果

能,请写出运行结果。

void main

int x = 1,y = 1, z = 10;

if(z<0)

if(y〉0) x = 3;

else x = 5;

printf(“%dt",x);

if(z = y 〈 0) x = 3;

else if(y==0) x = 5;

else x = 7;

printf(“%dt”,x);

printf(“%dt”,z);

}

4、请阅读下面的程序,在空白处填写正确的代码,实现分段函数:

x < 0 y = 2x + 3;

x = 0 y = 0;

x > 0 y = (x+7)/3;

输入x,计算y值,输出y。

void main()

{

int x, y;

scanf(“%d”,&x);

if(x 〈 0) y = 2*x + 3;

y = 0;

if(x > 0) y = (x + 7) / 3;

printf(“%d”,y);

}

5、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,

请写出运行结果。

void main()

char ch = ‘B';

switch(ch)

{

case ‘A’:printf(“it is An”);

case ‘B':printf(“it is Bn”);

case ‘C’:printf(“it is Cn”);

default: printf(“othern”);

6、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

投票表决器:

-输入Y,y,打印agree

—输入N,n,打印disagree

—输入其他, 打印lose

void main()

char ch;

scanf(“%c”,&ch);

case ‘Y’:

case ‘y’: printf(“agree”); ;

case ‘N’:

case ‘n’; printf(“disagree"); ;

; printf(“loser”);

7、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

查询学生身高的分布状况:

H 175-200cm 30%

M 160—175cm 40%

L 150-160cm 30%

void main()

{

char ch;

scanf(“%d”,&ch);

{

: printf(“175—200cm身高的学生占30%n”); ;

: printf(“160-175cm身高的学生占40%n”); ;

: printf(“160-175cm身高的学生占40%n"); ;

default: printf(“输入有误,请重新输入!n");

8、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,

请写出运行结果.

void main()

int num = 0;

while(num 〈= 2)

num++;

printf(“%dn”,num);

}

}

9、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

输出1-100之间的偶数数:

void main()

int num = 1, sum = 0;

while (num 〈= 100)

{

if ( )

sum += num;

printf(”sum = %dn”, sum);

10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果

能,请写出运行结果.

void main()

{

int num = 0;

do

num++;

printf(“%dn”,num);

}

while(num 〈= 2);

11、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:

输出1—100之间的偶数数:

void main()

{

int num = 1, sum = 0;

do

if ( )

sum += num;

;


本文标签: 循环 语句 程序 结构 下列