选择结构程序设计循环结构程序设计习题.docx

上传人:b****5 文档编号:29863586 上传时间:2023-07-27 格式:DOCX 页数:28 大小:21.37KB
下载 相关 举报
选择结构程序设计循环结构程序设计习题.docx_第1页
第1页 / 共28页
选择结构程序设计循环结构程序设计习题.docx_第2页
第2页 / 共28页
选择结构程序设计循环结构程序设计习题.docx_第3页
第3页 / 共28页
选择结构程序设计循环结构程序设计习题.docx_第4页
第4页 / 共28页
选择结构程序设计循环结构程序设计习题.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

选择结构程序设计循环结构程序设计习题.docx

《选择结构程序设计循环结构程序设计习题.docx》由会员分享,可在线阅读,更多相关《选择结构程序设计循环结构程序设计习题.docx(28页珍藏版)》请在冰豆网上搜索。

选择结构程序设计循环结构程序设计习题.docx

选择结构程序设计循环结构程序设计习题

习题4

选择结构程序设计

一、单选题

1.有如下嵌套的if语句

if(a

if(a

elsek=c;

if(b

elsek=c;

以下选项中与上述if语句等价的语句是

A)k=(a

a:

b;k=(b<c)?

b:

c;

B)k=(a

((b<c)?

a:

b)((b>c)?

b:

c);

C)k=(a

((a<c)?

a:

c)((b<c)?

b:

c);

D)k=(a

a:

b;k=(a<c)?

a:

c;

2.以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是

A)switch(a)

{case1:

a=b;break;

default:

a++;

B)switch(a==1)

{case0:

a=b;break;

case1:

a++;

C)switch(a)

{default:

a++;break;

case1:

a=b;

D)switch(a==1)

{case1:

a=b;break;

case0:

a++;

3.设变量x和y均已正确定义并赋值。

下列if语句中,在编译时将产生错误信息的是

()。

A)if(x++);B)if(x>y&&y!

=0);

C)if(x>0)x--D)if(y<0){;}

elsey++;elsex++;

4.有以下程序

#include

main()

{intc=0,k;

for(k=1;k<3;k++)

switch(k)

{default:

c+=k

case2:

c++;break;

case4:

c+=2;break;

}

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

}

程序运行后的输出结果是

A)3B)5

C)7D)9

5.以下程序段中,与语句:

k=a>b?

(b>c?

1:

0):

0;功能相同的是

A)if((a>b)&&(b>c))k=1;

elsek=0;

B)if((a>b)||(b>c)k=1;

elsek=0;

C)if(a<=b)k=0;

elseif(b<=c)k=1;

D)if(a>b)k=1;

elseif(b>c)k=1;

elsek=0;

6.以下是if语句的基本形式:

if(表达式)

语句

其中“表达式”

A)必须是逻辑表达式

B)必须是关系表达式

C)必须是逻辑表达式或关系表达式

D)可以是任意合法的表达式

7.有以下程序

#include

main()

{intx;

scanf(“%d”,&x);

if(x<=3);else

if(x!

=10)

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

}

程序运行时,输入的值在哪个范围才会有输出结果

A)不等于10的整数

B)大于3且不等于10的整数

C)

大于3或等于10的整数

D)小于3的整数

8.有以下程序

#include

Main()

{

inta=1,b=2,c=3,d=0;

if(a==1&&b++==2)

if(b!

=2||c--!

=3)

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

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

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

}

程序运行后的输出结果是

A)1,2,3

B)1,3,2

C)1,3,3

D)3,2,1

9.以下程序中的变量已正确定义

for(i=0;i<4;i++,i++)

for(k=1;k<3;k++);

printf(”*”);

程序段的输出结果是

A)********

B)****

C)**

D)*

10.有以下程序段

inta,b,c;

a=10;b=50;c=30;

if(a>b)a=b,b=c;c=a;

printf("a=%db=%dc=%d\n”,a,b,c);

程序的输出结果是()。

A)a=10b=50c=10B)a=10b=50c=30

C)a=10b=30c=10D)a=50b=30c=50

一、看程序,写运行结果

1.#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;

}

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

}

程序的运行结果是【】

2.#include

main()

{inta=1,b=2,c=3,d=0;

if(a==1)

if(b!

=2)

if(c==3)d=1;

elsed=2;

elseif(c!

=3)d=3;

elsed=4;

elsed=5;

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

}

程序远行后的输出结果是 【】

3.#include

main()

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

if(x>y)

if(y

elseprintf("%d",++y);

printf("%d\n",x++);

}

程序的运行结果是【】。

4.#include

main()

{intk=5,n=0;

do

{switch(k)

{case1:

case3:

n+=1;k--;break;

default:

n=0;k--;

case2:

case4;n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

}

程序的运行结果是【】。

5.#include

main()

{inta,b,d=241;a=d/100%9;b=(-1)&&(-1);

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

程序的运行结果是【】。

6.#include

main()

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

if(x

if(y<0)z=0;

elsez+=1;

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

程序的运行结果是【】。

7.#include

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

}

程序的运行结果是【】。

8.#include

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

}

程序的运行结果是【】。

9.#include

main()

{inti,j;

for(i=1;i<4;i++)

{for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);

printf("\n");}

}

程序的运行结果是【】。

10.#include

main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:

switch(b<0)

{case1:

printf("@");break;

case2:

printf("!

");break;

}

case0:

switch(c==5)

{case0:

printf("*");break;

case1:

printf("#");break;

case2:

printf("$");break;

}

default:

printf("&");

}

printf("\n");

}

程序的运行结果是【】。

三、程序填空

1.输入两个数,并判断是否相等

#include

main()

{inta,b;

printf("Enterintegera:

");

scanf("%d",&a);

printf("Enterintegerb:

");

scanf("%d",【】);

if(a==b)

printf("a==b\n");

else

printf("a!

=b\n");

}

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

#include

main()

{floata,b,c,t;

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

if(a

{t=a;【】;b=t;}

If(【】)

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

if(b

{【】;b=c;c=t;}

printf("%f,%f,%f",a,b,c);}

3.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在()填正确内容.

#include

#include“math.h”

main()

floata,b,c,s,area;

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

if(【】)

{s=0.5*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%6.2f",area);

if(【】)

{printf("等边三角形");}

elseif(【】)

{printf("等腰三角形");}

elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)

||(b*b+c*c==a*a))

{printf("直角三角形");}

else{printf("一般三角形");}

}

else{printf("不能组成三角形");}

二、编程题

1.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。

例如:

1转换成Monday,7转换成Sunday。

2.输入年号,计算这一年的2月份的天数,将结果输出。

3.输入学生的成绩,利用计算机将学生的成绩划分出等级并输出:

90~100:

A级;80~89:

B级;70~79:

C级;60~69:

D级;0~59:

E级;

习题5

循环结构程序设计

一、单选题

1.有以下程序

 #include

 main()

 {intn=2,k=0;

  while(k++&&n++>2);

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

 }

 程序运行后的输出结果是

 A)02B)13

 C)57D)12

2.有以下程序

#include

main()

{inta=1,b=2;

for(;a<8;a++){b+=a;a+=2;}

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

}

程序运行后的输出结果是

A)9,18B)8,11

C)7,11D)10,14

3.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是

A)n=0;while((ch=getchar())!

=’\n’)n++;

B)n=0;while(getchar()!

=’\n’)n++;

C)for(n=0;getchar()!

=’\n’;n++);

D)n=0;for(ch=getchar();ch!

=’\n’;n++);

4.有以下程序

#include

main()

{inti=5;

do

{if(i%3==1)

if(i%5==2)

{printf("*%d",i);break;}

i++;

}while(i!

=0);

printf("\n");

}

程序的运行结果是()。

A)*7B)*3*5C)*5D)*2*6

5.若变量已正确定义,有以下程序段

i=0;

doprintf("%d,",i);while(i++);

printf("%d\n",i)

其输出结果是

A)0,0B)0,1

C)1,1D)程序进入无限循环

6.2、有如下程序

main()

{inti,sum;

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

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

}

该程序的执行结果是

A)6B)3

C)死循环D)0

7.3、有如下程序

main()

{intx=23;

do

{printf("%d",x--);}

while(!

x);

}

该程序的执行结果是

A)321B)23

C)2322D)陷入死循环

8.4、执行下面的程序后,a的值为:

()

main()

{inta,b;

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

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}b-=5;

}

}

A)7B)8

C)9D)10

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

intx=3;

do

{printf("%3d",x-=2);}

while(!

(--x));

A)1B)30

C)1-2D)死循环

10.有下列程序:

main()

{intk=5;

while(--k)printf("%d",k-=3);

printf("\n");

}

执行后的输出结果是()。

A)1B)2

C)4D)死循环

二、看程序,写运行结果

1.#include

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)printf("%d",--y);

}

程序的运行结果是【】

2.#include

main()

{inti,j,m=1;

for(i=1;i<3;i++)

{for(j=3;j>0;j--)

{if(i+j>3)break;

m*=i*j;}

}

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

}

程序的运行结果是【】

3#include

main()

{inti,j;

for(i=3;i>=1;i--)

{for(j=1;j<=2;j++)printf("%d",i+j);

printf("\n");

}

程序的运行结果是【】

4.#include

main()

{intm,n;

scanf(“%d%d”,&m,&n);

while(m!

=n)

{while(m>n)m=m-n;

while(m

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

}

程序运行后,当输入1463<回车>时,输出结果是 【】 。

5.#include

main()

{inta=1,b=7;

do{

b=b/2;a+=b;

}while(b>1);

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

程序的运行结果是【】

6.#include

main()

{intf,f1,f2,i;

f1=0;f2=1;

printf(“%d%d”,f1,f2);

for(i=3;i<=5;i++)

{f=f1+f2;printf(“%d”,f);

f1=f2;f2=f;

}

printf(“\n”);

}

程序运行后的输出结果是【】

7.下列程序运行时,若输入abced2f<回车>输出结果为【】

#include

main()

{chara=0,ch;

while((ch=getchar())!

=’\n’)

{if(a&2!

=0&&(ch>’a’&&ch<=’z’))ch=ch-‘a’+’A’;

a++;putchar(ch);

}

printf(“\n”);

}

8.#include

main()

{inti,j,sum;

for(i=3;i>=1;i--)

{sum=0;

for(j=1;j<=i;j++)sum+=i*j;

}

printf("%d\n",sum);

}

程序运行后的输出结果是【】

9.#include

main()

{intk;

for(k=2;k<6;k++,k++)

printf("##%d",k);

}

程序运行后的输出结果是【】

10.#include

main()

{inti,j,m=55;

for(i=1;i<=3;i++)

for(j=3;j<=i;j++)m=m%j;

printf("%d\n",m);

}

程序的运行结果是【】

三、程序填空

1.求x的y次方(y大于0)

#include

main()

inti,x,y;

doublez;

scanf("%d%d",&x,&y);

for(i=1,z=x;i

z=【】;

printf("%f\n",z);

2.计算1到10之间奇数之和及偶数之和。

#include

main()

{inta,b,c,i;

a=c=0;

for(i=0;i<=10;i+=2)

{

a+=i;

b=【】

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);}

3.要输出以下的图形(从1到6)

1

22

333

4444

55555

666666

#include

main()

inti,j,k;

for(i=1;i<=6;i++)

{

for(j=1;j<=20-2*i;j++)

printf("");;

for(k=1;【】;k++)

printf("%2d",i);

printf("【】");

}

4.下列程序的功能是输出如下形式的方阵:

13141516

9101112

5678

1234

请填空。

main()

{inti,j,x;

for(j=4;j【】;j--)

{for(i=1;i<=4;i++)

{x=(j-1)*4+【】;

printf("%4d",x);

}

printf("\n");

}

}

四、编程题

1.求Σn!

(即求1!

+2!

+3!

+……+20!

2.求下列试子的值:

1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。

3.打印九九乘法表。

4.百元买百鸡问题:

公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法。

5.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。

6.用40元钱买苹果、西瓜和梨共100个,且三种水果都有。

已知苹果0.4元一个,西瓜4元一个,梨0.2元一个。

问可以买多少个?

编程输出所有购买方案。

习题4

选择结构程序设计

一、单选题

1(C)2(B)3(C)4(A)5(A)6(D)7(B)8(C)9(D)10(A)

二、看程序,写结果

1.【a=2,b=1】2.【4】3.【1】4.【235】5.【2,1】6.【2】7.【55】

8.【170】

9.【

1*1=11*2=21*3=3

2*2=42*3=6

3*3=9

10.【#&】

1.【&b】2.【a=b】【a

3.【a+b>c&&b+c>a&&c+a>b】【a==b&&b==c】【a==b||b==c||a==c】

四、编程题

1.#include

voidmain()

{

inta;

printf("输入一个整数:

\n");

scanf("%d",&a);

if(a==1)printf("Monday\n");

elseif(a==2)printf("Tuesday\n");

elseif(a==3)printf("Wendesday\n");

elseif(a==4)printf("Thursday\n");

elseif(a==5)printf("Friday\n");

elseif(a==6)printf("Saturday\n");

elseif(a==7)printf("Sunday\n");

elseprintf("错误\n");

}

2.#include

voidmain()

{

intyear,leap;

printf("请输入年份:

\n");

scanf("%d",&year);

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf("%d年的2月有29天",year);

else

printf("%d年的2月有28天",year);

}

3.#include

voidmain()

{

floatm;

printf("输入学生成绩:

\n");

scanf("%f",&m);

if((m>100)||(m<0))printf("数据有误\n");

elseif(m>=90)printf("A级\n");

elseif(m>=80)printf("B级\n");

elseif(m>=70)printf("C级\n");

elseif(m>=60)printf("D级\n");

elseprintf("E级\n");

}

习题5

循环结构程序设计

一、单选题

1(D)2(D)3(D)

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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