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

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

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

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

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

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

 

选择结构程序设计

一、单项选择题

1.假定所有变量均已正确定义,下列程序段运行后y的值是()。

inta=0,y=10;

if(a=0)y--;elseif(a>0)y++;elsey+=y;

A.20B.11C.9D.0

2.假定所有变量均已正确定义,下列程序段运行后x的值是()。

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

if(!

a)x--;elseif(b);if(c)x=3;elsex=4;

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

3.下面的程序片段所表示的数学函数关系是()。

y=-1;

if(x!

=0)if(x>0)y=1;elsey=0;

A.B.C.D.

4.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是()。

A、if(a>b)printf(”%d\n”,a);printf(”%d\n”,b);

B、printf(”%d\n”,b);if(a>b)printf(”%d\n”,a);

C、if(a>b)printf(”%d\n”,a);elseprintf(”%d\n”,b);

D、if(a

5.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。

A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;

C、if(u>s)t=s;elset=u;D、t=u;if(u>s)t=s;

6.下列各语句中,能够输出整型变量a、b中最大值的是()。

A、printf(”%d\n”,(a>b)?

a,b);B、(a>b)?

printf(”%d”,a):

printf(”%d”,b);

C、printf(”%d”,if(a>b)aelseb);D、printf(”%d\n”,(a>b)?

a:

b);

7.下列语句应将小写字母转换为大写字母,其中正确的是()。

A、if(ch>=’a’&ch<=’z’)ch=ch-32;B、if(ch>=’a’&&ch<=’z’)ch=ch-32;

C、ch=(ch>=’a’&&ch<=’z’)?

ch-32:

’’;D、ch=(ch>’a’&&ch<’z’)?

ch-32:

ch;

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

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

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

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

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

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

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

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

25,13,10(注:

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

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”,&ch1,&ch2,&ch3);

C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);

D)scanf(“%c%c”,&ch1,&ch2,&ch3);

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

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

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

A.‘x’&&‘y’

B.x<=y

C.x||y+z&&!

y

D.!

(x

z||1)

15.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!

y)的值是()

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

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

A.A%2==1B.!

(A%2==0)C.!

(A%2)D.A%2

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

#include

main()

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

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

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.以下语句语法正确的是:

()

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=xy;printf(“%f”,x);};

elseprintf(“%f”,-x);

D.if(x>0)

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

elseprintf(“%f”,-x);

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

main()

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

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

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

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

C.输出***

D.输出$$$

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

main()

{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

if(c

elseif(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

26.有一函数关系如下:

x-1(x<0)

y={x(x=0)

x+1(x>0)

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

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;elsey=x+1;

D.y=x;if(x<=0)if(x<0)y=x-1;elsey=x+1;

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

main()

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

if(x

if(y!

=10)

if(!

ok1)

a=1;

elseif(ok2)a=10;

a=-1;printf(“%d\n”,a);}

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

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

main()

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

if(x

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>y);

B.if(x=y)&&(x!

=0)x+=y;

C.if(x!

=y)scanf(“%d”,&x);elsescanf(“%d”,&y);

D.if(x

31.main()

{floata,b;scanf“%f”,&a};

if(a<0.0)b=0.0;

elseif((a<0.5)&&(a!

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

elseif(a<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.以下程序的运行结果是()

main()

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

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

k:

c

c:

a);}

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

33intw,x,y,z,m;则执行以下语句后m的值为()

w=1;x=2;y=3;z=4;

m=(w

w:

x;m=(m

m:

y;

m=(m

m:

z;

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

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

w:

y

y:

z的值是:

()

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

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>z);

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

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

1111

1100

1110

 

二、读程序,写运行结果

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

main()

{shorti;

i=-4;

printf(“\ni:

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

}

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

main()

{charc=‘x’;

printf(“c:

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

}

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

main()

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

if(a>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.以下程序的运行结果是__________

main()

{intx=1,y,z;

x*=3+2;printf(“%d\t”,x);

x*=y=z=5;printf(“%d\t”,x);

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

C>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

c&&1的值________

21若a=6,b=4,c=3,则表达式a&&b+c||b-c的值是_______

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

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

24条件“2

25以下程序运行结果是_____

main()

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

________

main()

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

x=x||y&&z;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;

if(a

if(a

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

}

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

voidmain()

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

if(a

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

case2:

s+=2;case1:

s+=1;case2:

s+=2;

default:

s+=3;default:

s+=3;case1:

s+=1;

}printf(“%d”,s);}printf(“%d”,s);}printf(“%d”,s);

D.inta=1,s=0;E.inta=1,s=0;

switch(a){switch(a){

case1:

s+=1;break;default:

s+=3;break;

case2:

s+=2;break;case2:

s+=2;break;

default:

s+=3;case1:

s+=1;

}printf(“%d”,s);}printf(“%d”,s);

四、程序设计题

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

x(x≤1)

y=2x-1(1

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

16.(x<0)+(y<0)+(z<0)==2

17.0

18.1

19.1

20.0

21.1

22.0

23.1

24.2

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.

解:

voidmain()

{floatx,y;

printf(“输入数x:

\n”);scanf(“%f”,&x);/*输入*/

if(x<=1)y=x;/*计算*/

elseif(1

elsey=3*x-11;

printf(“y=%f\n”,y);/*输出*/

}

2.

解:

#include

voidmain()

{floatx,y,z,t;

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

\n”);scanf(“%f,%f,%f”,&x,&y,&z);

t=x;if(y

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

}

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

当前位置:首页 > 初中教育 > 数学

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

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