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

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

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

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

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

答案第四章选择结构程序设计

第四章选择结构程序设计

一、选择题

1.下列运算符中优先级最高的是B。

(0级)

A)>B)+C)&&D)!

=

2.以下关于运算符优先级的描述中,正确的是A。

(0级)

A)!

(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算

B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算

D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)

3.逻辑运算符的运算对象的数据类型D。

(0级)

A)只能是0或1B)只能是.T.或.F.

C)只能是整型或字符型D)任何类型的数据

4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是B。

(1级)

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)

C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)

D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)

5.以下程序的运行结果是B。

(1级)

main()

{

intc,x,y;

x=1;

y=1;

c=0;

c=x++||y++;

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

}

A)110B)211C)011D)001

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

(1级)

main()

{

intc,x,y;

x=0;

y=0;

c=0;

c=x++&&y++;

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

}

A)100B)211C)011D)001

7.判断字符型变量ch为大写字母的表达式是C。

(1级)

A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)

C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)

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

(1级)

A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)

C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)

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

(1级)

A)if(x=0;)B)if(x>0)

printf(”%f”,x);{x=x+1;printf(”%f”,x);}

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

C)if(x>0);D)if(x>0)

{x=x+1;printf(”%f”,x);}{x=x+1;printf(”%f”,x)}

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

10.分析以下程序:

main()

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

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

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

以上程序D。

(1级)

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

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

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

(1级)

main()

{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。

(1级)

main()

{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<0)

if(y>0)x=3;

elsex=5;

printf("%d\t",x);

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

elseif(y==0)x=5;

elsex=7;

printf("%d\t",x);

printf("%d\t",z);

}

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

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

(1级)

a=b=c=0;x=35;

if(!

a)x=-1;

elseif(b);

if(c)x=3;

elsex=4;

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

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

(2级)

main()

{intx,y=1,z;

if(y!

=0)x=5;

printf("x=%d\t",x);

if(y==0)x=3;

elsex=5;

printf("x=%d\t\n",x);

x=1;

if(z<0)

if(y>0)x=3;

elsex=5;

printf("x=%d\t\n",x);

if(z=y<0)x=5;

elsex=7;

printf("x=%d\t",x);

printf("%d\t\n",z);

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

printf("x=%d\t",x);

printf("z=%d\t\n",z);

}

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

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

16.若有以下函数关系

x<0→y=2x

x>0→y=x

x=0→y=x+1

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

(2级)

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;

C)if(x>=0)(D)y=x+1;

if(x>0)y=x;if(x<=0)

elsey=x+1;if(x<0)y=2*x;

elsey=2*x;elsey=x;

17.若有以下变量定义:

floatx;inta,b;

则正确的switch语句是D。

(1级)

A)switch(x)

{case1.0:

printf("*\n");

case2.0:

printf("**\n");

}

B)switch(x)

{case1,2:

printf("*\n");

case3:

printf("**\n");

}

C)switch(a+b)

{case1:

printf("*\n");

case2*a:

printf("**\n");

}

D)switch(a+b)

{case1:

printf("*\n");

case1+2:

printf("**\n");

}

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

(02~03第一学期试题)

A)关系运算符<算术运算符<赋值运算符<逻辑运算符

B)逻辑运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑运算符

19.能正确表示a>=10或a<=0的关系表达式是D。

(02~03第一学期试题)

A)a>=10ora<=0B)a>=10|a<=0

C)a>=10&&a<=0D)a>=10||a<=0

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

(02~03第一学期试题)

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

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

(02~03第一学期试题)

if(a

if(c

else

if(a

if(b

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>b)printf(“%f”,a);

elseprintf(“%f”,b);

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

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

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

(01~02第二学期试题)

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

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

A)(x%4==0&&x%100!

=0)||x%400==0

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

=0)&&x%400==0

C)(x%4==0&&x%400!

=0)||x%100==0

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

=0)&&x%400==0

24.设有如下定义:

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

后变量ch是值为:

D。

(03试题)

ch=(‘A’<=ch&&ch<=‘Z’)?

(ch+32):

ch

A)AB)aC)ZD)z

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

(03试题)

I=322;

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

elseprintf(“*****”);

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

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

26.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:

A。

(03试题)

if(x>y||xz)

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。

(往届试题)

A)>B)++C)%D)!

=

28.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:

C。

(往届试题)

if(x>y||xz)

{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

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

(04~05第二学期试题)

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

if(x

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

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

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

D。

(往届试题)

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

C)a||b+c&&b-cD)!

((a

c||1)

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

D。

(往届试题)

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

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

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

B。

(往届试题)

A)0<=a||a<=5||6

B)0<=a&&a<=5||6

C)(0<=a||a<=5)&&(6

D)0<=a&&a<=5&&6

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

switch(c)

{case常量表达式1:

语句1;

……

case常量表达式n-1:

语句n-1;

default语句n;}

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

C。

(往届试题)

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

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

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

B。

(往届试题)

A)if(x>0)

printf(“%f”,x)

elseprintf(“%f”,-x);

B)if(x>0)

{x=x+y;printf(“%f”,x);}

elseprintf(“%f”,-x);

C)if(x>0)

{x=x+y;printf(“%f”,x);};

elseprintf(“%f”,-x);

D)if(x>0)

{x=x+y;printf(“%f”,x)}

elseprintf(“%f”,-x);

35.为了表示关系x>=y>=z,应使用C语言表达式A。

(1级)

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=y)&(y>=z)

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

(1级)

A)a<>0B)!

aC)a=0D)a

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

(1级)

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。

(1级)

main()

{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级)

(1)(z>=y>=x)?

1:

0

(2)z>=y&&y>=x

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

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

(1级)

(1)(z>=y>=x)?

1:

0

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

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

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

(1级)

A)<=B)=C)%D)&&

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

(1级)

main()

{

inta=-1,b=4,k;

k=(++a<=0)&&!

(b--<=0);

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

}

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

43.若已定义inta=25,b=14,c=19;以下三项运算符(?

:

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

(1级)

a++<=25&&b--<=2&&c++?

printf("***a=%d,b=%d,c=%d\n",a,b,c):

printf("###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子句的配对约定是。

(0级)

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

(1级)

#include

main()

{intlabel;

charc;

printf("\nPleaseenter1number:

");

c=getchar();

while(c!

='\n')

{if(c=='.')label=1;

c=getchar();

}

if(label==1)

printf("\nfloat");

elseprintf("\nint");

}

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

(1级)

if(a<=b)x=1;

elsey=2;

if(a>b)printf("****y=%d\n",y);

elseprintf("####x=%d\n",x);

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

(2级)

#include

main()

{

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

printf("entera,b,c:

");

scanf("%f%f%f",&a,&b,&c);

if(

(1))

if(

(2))printf("noanswerduetoinputerror\n");

elseprintf("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))

printf("complexroot\nrealpart=%fimagepart=%f\n",part1,part2);

else

printf("realroots\nroot1=%froot2=%f\n",part1+part2,part1-part2);

}

}

5.设有程序片段如下:

switch(class)

{case'A':

printf("GREAT!

\n");

case'B':

printf("GOOD!

\n");

case'C':

printf("OK!

\n");

case'D':

printf("NO!

\n");

default:

printf("ERROR!

\n");

}

若class的值为'C',则输出结果是。

(1级)

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

(1级)

intx=1,y=0;

switch(x)

{case1:

switch(y)

{

case0:

printf("x=1y=0\n");break;

case1:

printf("y=1\n");break;

}

case2:

printf("x=2\n");

}

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

(1级)

if语句:

if(x<60)m=1;

elseif(x<70)m=2;

elseif(x<80)m=3;

elseif(x<90)m=4;

elseif(x<100)m=5;

switch语句:

switch(

(1))

{

(2)m=1;break;

case6:

m=2;break;

case7:

m=3;break;

case8:

m=4;break;

(3)m=5;

}

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

(01~02第二学期试题)

main()

{floata,b,c,t;

scanf(“%f,%f,%f”,&a,&b,&c);

if(a

{t=a;__

(1)__b=t;}

if(__

(2)__)

{t=a;a=c;c=t;}

if(b

{__(3)__b=c;c=t;}

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

}

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

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

(03试题)

main()

{charch;

scanf(“%c”,&ch);

if(___

(1)____)ch=ch+32;

elseif(ch>=’a’&&ch<=‘z’)(__

(2)___);

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

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

_________。

(03试题)

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.以下程序的运行结果是:

_________。

(04~05第二学期试题)

main()

{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;

printf("

(1)%d\n",a>b?

a:

b);

printf("

(2)%d\n",a>c?

a--;c++);

(a>=b>=c)?

printf("AA");printf("CC");

printf("\na=%d,b=%d,c=%d\n",a,b,c);

}

运行结果为

(1)。

(2)。

(1级)

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;

printf("%d",x

y:

x);

printf("%d",x

x++:

y++);

printf("%d",x);

printf("%d",y);

}

运行结果为。

(1级)

18.mian()

{intx,y,z;

x=3;,y=z=4;

printf("%d",(x.y=.=

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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