软件工程硕士C语言选择结构程序设计习题训练Word格式.docx

上传人:b****6 文档编号:21638945 上传时间:2023-01-31 格式:DOCX 页数:13 大小:20.21KB
下载 相关 举报
软件工程硕士C语言选择结构程序设计习题训练Word格式.docx_第1页
第1页 / 共13页
软件工程硕士C语言选择结构程序设计习题训练Word格式.docx_第2页
第2页 / 共13页
软件工程硕士C语言选择结构程序设计习题训练Word格式.docx_第3页
第3页 / 共13页
软件工程硕士C语言选择结构程序设计习题训练Word格式.docx_第4页
第4页 / 共13页
软件工程硕士C语言选择结构程序设计习题训练Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

软件工程硕士C语言选择结构程序设计习题训练Word格式.docx

《软件工程硕士C语言选择结构程序设计习题训练Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程硕士C语言选择结构程序设计习题训练Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

软件工程硕士C语言选择结构程序设计习题训练Word格式.docx

=’a’&

ch<

=’z’)ch=ch-32;

B、if(ch>

&

=’z’)ch=ch-32;

C、ch=(ch>

=’z’)?

ch-32:

’’;

D、ch=(ch>

’a’&

’z’)?

ch;

8.putchar函数可以向终端输出一个()。

A)整型变量表达式B)实型变量值

C)字符串D)字符或字符型变量值

9.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式();

如果字符串长度小于5,则输出按方式()。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符串,左补空格D)输出错误信息

11.阅读以下程序,当输入数据的形式为:

25,13,10<

CR>

(注:

<

表示回车),则正确的输出结果为()。

main()

{intx,y,z;

scanf(“%d%d%d”,&

x,&

y,&

z);

printf(“x+y+z=%d\n”,x+y+z);

}

A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值

12.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。

main()

{charch1,ch2,ch3;

输入语句

printf(“%c%c%c”,ch1,ch2,ch3);

输出形式:

ABC

输入形式:

AB

A)scanf(“%c%c%c”,&

ch1,&

ch2,&

ch3);

B)scanf(“%c,%c,%c”,&

C)scanf(“%c%c%c”,&

D)scanf(“%c%c”,&

13.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"

的表达式是()

A.(x>

=1)&

(x<

=10)&

(x>

=200)&

=210)

B.(x>

=1)||(x<

=10)||(x>

=200)||(x<

C.(x>

D.(x>

14.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()

A.‘x’&

‘y’

B.x<

=y

C.x||y+z&

!

y

D.!

y)&

z||1)

15.已知x=43,ch=‘A’,y=0;

则表达式(x>

=y&

‘B’&

y)的值是()

A.0B.语法错误C.1D.“假”

16.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()

A.A%2==1B.!

(A%2==0)C.!

(A%2)D.A%2

17.以下程序的运行结果是()

#include<

stdio.h>

{inta,b,d=241;

a=d/100%9;

b=(-1)&

(-1);

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

}

A.6,1B.2,1C.6,0D.2,0

18.执行以下语句后a的值为()

inta,b,c;

a=b=c=1;

++a||++b&

++c;

A.错误B.0C.2D.1

19.执行以下语句后a的值为(),b的值()

inta=5,b=6,w=1,x=2,y=3,z=4;

(a=w>

x)&

(b=y>

A.5B.0C.2D.1

A.6B.0C.1D.4

20.以下不正确的if语句形式是()

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.已知intx=10,y=20,z=30;

以下语句执行后x,y,z的值是()

if(x>

y)z=x;

x=y;

y=z;

A.x=10,y=20,z=30

B.x=20,y=30,z=30

C.x=20,y=30,z=10

D.x=20,y=30,z=20

22.以下语句语法正确的是:

()

0)printf(“%f”,x)

elseprintf(“%f”,-x);

B.if(x>

0)

{x=x+y;

printf(“%f”,x);

elseprintf(“%f”,-x)

C.if(x>

{x=xy;

printf(“%f”,x);

};

D.if(x>

printf(“%f”,x)}

23.请阅读以下程序,该程序()

{inta=5,b=0,c=0;

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

elseprintf(“$$$\n”);

A.有语法错误不能通过编译

B.可以通过编译但不能通过连接

C.输出***

D.输出$$$

24.以下程序的运行结果是()

{intm=5;

if(m++>

5)printf(“%d\n”,m);

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

A.4B.5C.6D7

25.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()

if(a<

b)

if(c<

d)x=1;

elseif(a<

c)

if(b<

d)x=2;

elsex=3;

elsex=6;

elsex=7;

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

26.有一函数关系如下:

x-1(x<

y={x(x=0)

x+1(x>

则下面程序段中能正确表示上面关系的是()

A.y=x+1;

if(x>

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

elsey=x-1;

B.y=x-1if(x!

=0)if(x>

0)y=x+1;

elsey=x;

C.if(x<

=0)if(x<

0)y=x-1;

elsey=x+1;

D.y=x;

if(x<

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

{inta=100,x=10,y=20,ok1=5,ok2=0;

if(x<

y)

if(y!

=10)

if(!

ok1)

a=1;

elseif(ok2)a=10;

a=-1;

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

A.1B.0C.-1D.值不确定

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

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

if(y<

0)z=0;

elsez+=1;

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

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

29.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:

else子句总是与()配对。

A.缩进排位置相同的if

B.其之前最近的if

C.其之后最近的if

D.以上说法都不准确

30.以下不正确的语句为()

A.if(x>

B.if(x=y)&

(x!

=0)x+=y;

=y)scanf(“%d”,&

x);

elsescanf(“%d”,&

y){x++;

31.main()

{floata,b;

scanf“%f”,&

a};

0.0)b=0.0;

elseif((a<

0.5)&

(a!

=2.0))b=1.0/(a+2.0);

10.0)b=1.0/x;

elseb=10.0;

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

若程序运行时输入为2.0<

则上面程序的输出结果是()

A.0.000000B.0.500000C.1.000000D.0.250000

32.以下程序的运行结果是()

{intk=4,a=3,b=2,c=1;

printf(“\n%d\n”,k<

a?

k:

c<

b?

c:

a);

A.4B.3C.2D.1

33intw,x,y,z,m;

则执行以下语句后m的值为()

w=1;

x=2;

y=3;

z=4;

m=(w<

x)?

w:

x;

m=(m<

y)?

m:

y;

m=(m<

z)?

z;

A.1B.2C.3D.4

34若w=1,x=2,y=3,z=4,则表达式w<

x?

y<

z?

y:

z的值是:

35执行以下程序段后的输出结果是:

intw=3,z=7,x=10;

printf(“%d\n”,x>

10?

x+100:

x-10);

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

printf(“%d\n”,!

w>

printf(“%d\n”,w&

A.0B.1C.0D.0

1111

1100

1110

二、读程序,写运行结果

1.以下的输出结果是【】。

{shorti;

i=-4;

printf(“\ni:

dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);

2.以下的输出结果是【】。

{charc=‘x’;

printf(“c:

dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);

3.以下的输出结果是【】。

{intx=1,y=2;

printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);

printf(“10Squaredis:

%d\n”,10*10);

4.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=【】;

b=a-【】;

a-=【】;

5.若x为int型变量,则执行以下语句后的x值为【】。

x=7;

x+=x-=x+x;

6.结构化程序设计规定的三种基本结构是结构、结构和结构。

7.若有定义语句inta=25,b=14,c=19;

以下语句的执行结果是。

if(a++<

=25&

b--<

=2&

c++)printf(“***a=%d,b=%d,c=%d\n”,a,b,c);

elseprintf(“***a=%d,b=%d,c=%d\n”,a,b,c);

8.以下两条if语句可合并成一条if语句

if(a<

=b)x=1;

elsey=2;

b)printf(“***y=%d\n”,y);

elseprinft(“***x=%d\n”,x);

9.下列程序的功能是输入一个正整数,判断是否能被3或7整除,若能整除,输出“YES”,

若不能整除,输出“NO”。

请为程序填空。

voidmain()

{intk;

scanf(“%d”,&

k);

if()printf(“YES\n”);

elseprintf(“NO\n”);

10.当a=3,b=2,c=1时,表达式f=a>

b>

c的值是______

11当a=5,b=4,c=2时,表达式a>

b!

=c的值是______

12.以下程序的运行结果是__________

{intx=1,y,z;

x*=3+2;

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

x*=y=z=5;

x=y==z;

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

13.设y为int型变量,请写出描述“y是奇数”的表达式____

14C语言提供的三种逻辑运算符是

15设x,y,z均为int型变量写出“x或y中有且仅有一个小于z”的表达式

16.设intx,y,z;

请描述“x,y和z中有两个为负数”的表达式

17.已知A=7.5,B=2,c=3.6,表达式A>

B&

C>

A||A<

B的值是____

18.若a=6,b=4,c=2,则表达式!

(a-b)+c-1&

b+c/2的值是______

19.若a=2,b=4,则表达式(x=a)||(y=b)&

0的值是______

20若a=1,b=4,c=3,则表达式!

(a<

b)||!

c&

1的值________

21若a=6,b=4,c=3,则表达式a&

b+c||b-c的值是_______

22若a=5,b=2,c=1,则表达式a-b<

c||b==c的值是________

23.设a=3,b=4,c=5,则表达式a||b+c&

b==c的值是_______

24条件“2<

x<

3或x<

-10”的C语言表达式是____

25以下程序运行结果是_____

{inta1,a2,b1,b2;

inti=5,j=7,k=0;

a1=!

k;

a2=i!

=j;

printf(“a1=%d\ta2=%d\n”,a1,a2);

b1=k&

j;

b2=k||j;

printf(“b1==%d\tb2=%d\n”,b1,b2);

26以下程序的运行结果是:

________

{intx,y,zx=1;

y=1;

z=0;

x=x||y&

printf(“%d,%d”,x,x&

y||z);

27有intx,y,z;

且x=3,y=-4,z=5,则表达式(x&

y)==(x||z)的值是____

三、运行结果题

1.阅读程序,写出运行结果。

voidmain()

{inta=10,b=4,c=3;

b)a=b;

c)a=c;

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

2.阅读下列程序,写出程序的输出结果。

{intx=100,a=10,b=20,ok1=5,ok2=0;

b)if(b!

=15)if(!

ok1)x=1;

elseif(ok2)x=10;

elsex=-1;

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

3.写出下列程序段输出结果

intk,a=1,b=2;

k=(a++==b)?

2:

3;

printf(“%d”,k);

4.分别写出下列5个程序段的输出结果.

a)inta=1,s=0;

B.inta=1,s=0;

C.inta=1,s=0;

switch(a){switch(a){switch(a){

case1:

s+=1;

case2:

s+=2;

default:

s+=3;

}printf(“%d”,s);

}printf(“%d”,s);

D.inta=1,s=0;

E.inta=1,s=0;

switch(a){switch(a){

break;

四、程序设计题

1.编一个程序,输入x的值,按下列公式计算并输出y值;

x(x≤1)

y=2x-1(1<

10)

3x-11(10≤x)

2.编一个程序,输入三个单精度数,输出其中最小数。

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

1.A2.B3.C4.C5.B6.D7.B8.D9.B、C11.D12.A

13.C14.D15.A16.D17.B18.C19B、A20.C21.B22.B

23.C24.C25.B26.B27.C28.B29.D30.B31.B32.A

33.A34.D35.C

1.i:

dec=-4,oct=177774,hex=fffc,unsigned=65532

2.c:

dec=120,oct=170,hex=78,ASCII=x

3.x=1y=2*sum*=310Squaredis:

100

4.bba-b

5.-14

6.顺序选择循环

7.26,13,19

8.if(a>

b){y=2,printf(“***y=%d\n”,y);

}else{x=1;

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

9.(k%3==0)||(k%7==0)

10.0

11.1

12.5251

13.y%2!

=0

14.&

||!

15.(x<

z)+(y<

z)==1

16.(x<

0)+(y<

0)+(z<

0)==2

17.0

18.1

19.1

20.0

21.1

22.0

23.1

24.2<

x&

x<

3||x<

-10

25.a1=1a2=1b1=0b2=1

26.1,0

27.1

1.10,4,3

2.-1

3.3

4.6,4,4,1,3

1.

解:

{floatx,y;

printf(“输入数x:

\n”);

scanf(“%f”,&

x);

/*输入*/

if(x<

=1)y=x;

/*计算*/

elseif(1<

10)y=2*x-1;

elsey=3*x-11;

printf(“y=%f\n”,y);

/*输出*/

2.

#include<

voidmain()

{floatx,y,z,t;

printf(“输入三个单精度数x,y,z:

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

t=x;

t)t=y;

if(z<

t)t=z;

printf(“其中最小数=%f\n”,t);

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

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

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

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