答案第四章选择结构程序设计Word格式.docx

上传人:b****5 文档编号:19245496 上传时间:2023-01-04 格式:DOCX 页数:17 大小:21.11KB
下载 相关 举报
答案第四章选择结构程序设计Word格式.docx_第1页
第1页 / 共17页
答案第四章选择结构程序设计Word格式.docx_第2页
第2页 / 共17页
答案第四章选择结构程序设计Word格式.docx_第3页
第3页 / 共17页
答案第四章选择结构程序设计Word格式.docx_第4页
第4页 / 共17页
答案第四章选择结构程序设计Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

答案第四章选择结构程序设计Word格式.docx

《答案第四章选择结构程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《答案第四章选择结构程序设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

答案第四章选择结构程序设计Word格式.docx

C)(ch>

=’Z’)D)(ch>

=’A’)AND(ch<

8.判断字符型变量ch为小写字母的表达式是D。

A)’a’<

=’z’B)(ch>

=a)&

=z)

=’a’)||(ch<

=’z’)D)(ch>

=’a’)&

=’z’)

9.以下if语句书写正确的是B。

A)if(x=0;

)B)if(x>

0)

printf(”%f”,x);

{x=x+1;

}

elseprintf(”%f”,-x);

C)if(x>

0);

D)if(x>

}{x=x+1;

printf(”%f”,x)}

10.分析以下程序:

{intx=5,a=0,b=0;

if(x=a+b)printf(“****\n”);

elseprintf(“####\n”);

以上程序D。

A)有语法错,不能通过编译B)通过编译,但不能连接

C)输出****D)输出####

11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是A。

{intx;

scanf(“%d”,&

x);

if(x++>

5)printf(“%d”,x);

elseprintf(“%d\n”,x--);

A)7和5B)6和3C)7和4D)6和4

12.写出下面程序的执行结果D。

{intx,y=1;

if(y!

=0)x=5;

printf(“%d\t”,x);

if(y==0)x=3;

elsex=5;

printf(“%d\t\n”,x);

A)13B)15C)53D)55

13.写出下面程序的执行结果A。

(2级)

main()

{intx=1,y=1,z=0;

if(z<

if(y>

0)x=3;

printf("

%d\t"

x);

if(z=y<

elseif(y==0)x=5;

elsex=7;

z);

A)170B)370C)550D)151

14.假定所有变量均已正确说明,下列程序段运行后x的值是B。

a=b=c=0;

x=35;

if(!

a)x=-1;

elseif(b);

if(c)x=3;

elsex=4;

A)34B)4C)35D)3

15.写出下面程序的运行结果是。

{intx,y=1,z;

if(y!

x=%d\t"

if(y==0)x=3;

x=%d\t\n"

x=1;

0)x=3;

0)x=5;

%d\t\n"

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

z=%d\t\n"

A)x=5x=5B)x=5x=5

x=1x=1

x=7z=0x=5z=0

x=3z=1x=3z=0

C)x=5x=5D)x=5x=5

x=5x=1

x=7z=0x=7z=0

16.若有以下函数关系

x<

0→y=2x

x>

0→y=x

x=0→y=x+1

下面程序段能正确表示以上关系的是改正后C。

A)y=2*x;

B)y=2*x;

if(x!

=0)if(x<

=0)

if(x>

0)y=x;

if(x==0)y=x+1;

elsey=x+1;

elsey=x;

=0)(D)y=x+1;

0)y=x;

if(x<

0)y=2*x;

elsey=2*x;

17.若有以下变量定义:

floatx;

inta,b;

则正确的switch语句是D。

A)switch(x)

{case1.0:

*\n"

);

case2.0:

**\n"

B)switch(x)

{case1,2:

case3:

C)switch(a+b)

{case1:

case2*a:

D)switch(a+b)

case1+2:

18.以下关于运算符优先顺序的描述正确的是C。

(02~03第一学期试题)

A)关系运算符<

算术运算符<

赋值运算符<

逻辑运算符

B)逻辑运算符<

关系运算符<

赋值运算符

C)赋值运算符<

逻辑运算符<

算术运算符

D)算术运算符<

19.能正确表示a>

=10或a<

=0的关系表达式是D。

A)a>

=10ora<

=0B)a>

=10|a<

=0

C)a>

=10&

a<

=0D)a>

=10||a<

20.以下不正确的if语句形式是C。

A)if(x>

y&

x!

=y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf(“%d”,&

x)elsescanf(“%d”,&

y);

D)if(x<

y){x++;

y++;

21.当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为B。

if(a<

b)

if(c<

d)x=1;

else

if(a<

c)

if(b<

d)x=2;

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

22.以下if语句中语法错误的是C。

(01~02第二学期试题)

A)if(a>

b)printf(“%f”,a);

B)if(a>

elseprintf(“%f”,b);

C)if(a>

b)printf(“%f”,a)D)if(a>

b)printf(“%f”,b);

elseprintf(“%f”,a);

23.能表示整数x符合下面两个条件的语句是A。

(1)“能被4整除,但不能被100整除”.

(2)能被4整除,又能被400整除.

A)(x%4==0&

x%100!

=0)||x%400==0

B)(x%4==0||x%100!

x%400==0

C)(x%4==0&

x%400!

=0)||x%100==0

D)(x%100==0||x%4!

24.设有如下定义:

charch=’z’,则执行下面语句

后变量ch是值为:

D。

(03试题)

ch=(‘A’<

=ch&

ch<

=‘Z’)?

(ch+32):

ch

A)AB)aC)ZD)z

25.若I为整型变量,则下列程序段的运行结果为D。

I=322;

if(I%2==0)printf(“#####”)

elseprintf(“*****”);

A)#####B)#####*****

C)*****D)有语法错误,无法输出结果

26.已知intx=30,y=50,z=80;

以下语句执行后变量x、y、z的值分别为:

A。

if(x>

y||x<

z&

y>

z)

z=x;

x=y;

y=z;

A)x=50,y=80,z=80B)x=50,y=30,z=30

C)x=30,y=50,z=80D)x=80,y=30,z=50

27.C语言中,要求运算对象必须是整型的运算符是:

C。

(往届试题)

B)++C)%D)!

28.已知intx=30,y=50,z=80;

if(x>

{z=x;

29.以下程序的输出结果是A。

(04~05第二学期试题)

main(){intx=2,y=-1,z=2;

if(x<

y)if(y<

0)z=0;

elsez+=1;

printf(“%d\n”,z);

A)3B)2C)1D)0

30.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:

A)‘a’+‘b’B)a<

=b

C)a||b+c&

b-cD)!

((a<

b)&

!

c||1)

31.在C的if语句中,可用作判断的表达式是:

A)关系表达式B)逻辑表达式

C)算术表达式D)任意表达式

32.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为:

B。

A)0<

=a||a<

=5||6<

a||a<

10

B)0<

=a&

a<

=5||6<

a&

10

C)(0<

=a||a<

=5)&

(6<

a||a<

10)

D)0<

=5&

6<

33.在C语言中,多分支选择结构语句为:

switch(c)

{case常量表达式1:

语句1;

……

case常量表达式n-1:

语句n-1;

default语句n;

其中括号内表达式c的类型:

C。

A)可以是任意类型B)只能为整型

C)可以是整型或字符型D)可以为整型或实型

34.以下if语句语法正确的是:

0)

printf(“%f”,x)

elseprintf(“%f”,-x);

B)if(x>

{x=x+y;

printf(“%f”,x);

elseprintf(“%f”,-x);

C)if(x>

};

D)if(x>

printf(“%f”,x)}

35.为了表示关系x>

=y>

=z,应使用C语言表达式A。

A)(x>

=y)&

(y>

=z)B)(x>

=y)AND(y>

=z)

C)(x>

=z)D)(x>

36.若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为D。

A)a<

>

0B)!

aC)a=0D)a

37.下面程序的输出结果是B。

main()

{intx,y,z;

x=y=1;

z=x++-1;

printf(“%d,%d\t”,x,z);

z+=-x+++(++y||++z);

printf(%d,%d”,x,z);

A)2,03,-1B)2,13,0

C)2,02,1D)2,10,1

38.下面程序的输出结果是D。

{intx=40,y=4,z=4;

x=y==z;

printf(“%d”,x);

x=x==(y-z);

printf(%d”,x);

A)40B)41C)11D)10

39.若x=3,y=z=4,则下列表达式的值分别为。

(1)(z>

=x)?

1:

(2)z>

=y&

y>

=x

A)01B)11C)00D)10

40.若x=3,y=z=4,则下列表达式的值分别为。

(1)(z>

(2)y+=z,x*=y

A)024B)18C)08D)112

41.在以下一组运算符中,优先级最高的运算符是。

A)<

=B)=C)%D)&

42.以下程序的输出结果是。

inta=-1,b=4,k;

k=(++a<

(b--<

=0);

%d%d%d"

k,a,b);

A)104B)004C)103D)003

43.若已定义inta=25,b=14,c=19;

以下三项运算符(?

:

)所构成的语句的执行结果是。

a++<

=25&

b--<

=2&

c++?

***a=%d,b=%d,c=%d\n"

a,b,c):

###a=%d,b=%d,c=%d\n"

a,b,c)

A)(***a=25,b=14,c=19)B)(***a=26,b=13,c=19)

C)(###a=25,b=14,c=19)D)(###a=26,b=13,c=19)

二、填空题

1.在C语言中,对于if语句,else子句与if子句的配对约定是。

2.阅读下面程序,写出它的功能。

#include<

stdio.h>

{intlabel;

charc;

\nPleaseenter1number:

"

c=getchar();

while(c!

='

\n'

{if(c=='

.'

)label=1;

if(label==1)

\nfloat"

elseprintf("

\nint"

3.以下两条if语句可合并成一条if语句为。

if(a<

=b)x=1;

elsey=2;

if(a>

b)printf("

****y=%d\n"

y);

####x=%d\n"

4.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。

math.h>

floata,b,c,_abs,_derta,_doublea,part1,part2;

entera,b,c:

scanf("

%f%f%f"

&

a,&

b,&

c);

if(

(1))

if(

(2))printf("

noanswerduetoinputerror\n"

thesinglerootis%f\n"

-c/b);

else

{_derta=b*b-4*a*c;

_doublea=2*a;

part1=-b/(2*a);

_abs=abs(_derta);

part2=sqrt(_abs)/_doublea;

if((3))

complexroot\nrealpart=%fimagepart=%f\n"

part1,part2);

printf("

realroots\nroot1=%froot2=%f\n"

part1+part2,part1-part2);

5.设有程序片段如下:

switch(class)

{case'

A'

GREAT!

\n"

case'

B'

GOOD!

C'

OK!

\n"

D'

NO!

default:

ERROR!

若class的值为'

则输出结果是。

6.以下程序段的运行结果是。

intx=1,y=0;

switch(x)

{case1:

switch(y)

{

case0:

x=1y=0\n"

break;

case1:

y=1\n"

case2:

x=2\n"

7.根据以下if语句写出与其功能相同的switch语句(x的值在0~100之间)。

if语句:

if(x<

60)m=1;

elseif(x<

70)m=2;

elseif(x<

80)m=3;

90)m=4;

100)m=5;

switch语句:

switch(

(1))

(2)m=1;

case6:

m=2;

case7:

m=3;

case8:

m=4;

(3)m=5;

8.输入3个实数a,b,c要求按从大到小的顺序输出三数。

{floata,b,c,t;

scanf(“%f,%f,%f”,&

if(a<

b)

{t=a;

__

(1)__b=t;

if(__

(2)__)

a=c;

c=t;

if(b<

c)

{__(3)__b=c;

printf(“%f,%f,%f”,a,b,c);

9.输入一个字符,如果是大写字母,则把其变成小写字母;

如果是小写字母,则变成大写字母;

其它字符不变。

请在()内填入缺省的内容。

main()

{charch;

scanf(“%c”,&

ch);

if(___

(1)____)ch=ch+32;

elseif(ch>

=’a’&

=‘z’)(__

(2)___);

printf(”%c\n”,ch);

10.以下程序的运行结果是:

_________。

main()

{inta=2,b=3,c;

c=a;

if(a>

b)c=1;

elseif(a==b)c=0;

elsec=-1;

printf(“%d\n”,c);

11.以下程序的运行结果是:

{intx;

x=5;

if(++x>

5)printf(“x=%d”,x);

elseprintf(“x=%d”,x--);

12.在C语言中提供的条件运算符"

?

的功能是.(1级)

13.条件表达式a?

b:

c,其中a,b,c是三个运算分量.当运算分量a的值为真,则,否则.(1级)

14.在C语言中的逻辑运算符的优先级是高于高于.(1级)

15.main()

{inta,b,c;

a=b=c=1;

a+=b;

b+=c;

c+=a;

(1)%d\n"

a>

b?

a:

b);

(2)%d\n"

c?

a--;

c++);

(a>

=b>

=c)?

AA"

CC"

\na=%d,b=%d,c=%d\n"

a,b,c);

运行结果为

(1)。

(2)。

16.用C语言描述下列命题(1级)

(1)a小于b或小于c,

(2)a和b都大于c

(3)a或b中有一个小于c

(4)a是奇数。

17.main()

{intx=1,y=1,z=1;

y=y+z;

x=x+y;

%d"

x<

y?

y:

x++:

y++);

运行结果为。

18.mian()

{intx,y,z;

x=3;

y=z=4;

(x.y=.=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1