分支程序设计习题.docx
《分支程序设计习题.docx》由会员分享,可在线阅读,更多相关《分支程序设计习题.docx(8页珍藏版)》请在冰点文库上搜索。
![分支程序设计习题.docx](https://file1.bingdoc.com/fileroot1/2023-6/14/917fa4ae-e97a-4711-b150-6465f68a94a9/917fa4ae-e97a-4711-b150-6465f68a94a91.gif)
分支程序设计习题
分支程序设计习题
选择结构
1.以下程序的输出结果是()。
Main()
{inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>b?
(a>c?
a:
c):
b);
}
2.以下程序输出结果是
main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf(″%d/n″,c);
}
3.以下程序输出的结果是()。
main()
{intw=4,x=3,y=2,z=1;
printf(″%d/n″,(ww:
zz:
x));
}
4.若执行以下程序时从键盘上输入3和4,则输出的结果是()。
main()
{inta,b,s;
scanf(″%d%d″,&a,&b);
s=a;
if(a
s*=s;
printf(″%d\n″,s);
}
5.运行以下程序后,输出()。
main()
{ intk=-3;
if(k<=0)printf(″****\n″)
elseprintf(″&&&&\n″);
}
6.以下程序运行后的输出结果是()。
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
7.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果是()
#include
main()
{intv1,v2=0;
charch;
while((ch=getchar())!
='#')
switch(ch)
{case'a':
case'h':
default:
v1++;
case'o':
v2++;
}
printf(“%d,%d\n”,v1,v2);
}
8.下面程序的输出是()。
main()
{intx=100,a=10,b=20,ok1=5,ok2=0;
if(a
if(b!
=15)
if(!
ok1)
x=1;
elseif(ok2)
x=10;
x=-1;
printf(“%d\n”,x);
}
9.下面程序的输出结果是()。
Main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0) y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
10.下面程序的输出结果是()。
Main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf(“%d\n”,c);
}
11.有以下程序,输出结果是()。
Main()
{inta=15,b=21,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{ default:
m++;
case0:
m++;break;
}
}
printf(“%d\n”,m);
}
12.阅读以下程序:
main()
{intx;scanf(“%d”,&x);
if(x--<5)printf(“%d”,x);
elseprintf(“%d”,x++);
}
程序运行后,如果从键盘上输入5,则输出结果是()。
13.执行以下程序时,为了使输出结果为:
t=4,则给a和b输入的值应满足的条件是()。
Main()
{ints,t,a,b;
scanf(“&d,&d”,&a,&b);
s=1;t=1;
if(a>0)s=s+1;
if(a>b)t=s+t;
elseif(a==b)t=5;
elset=2*s;
printf(“t=%d\n”,t);
}
1.当a=3,b=4,c=5时,执行以下程序段后a,b,c的值各是__________。
if(a>c)
{a=b;b=c;c=a;}
else
{a=c;c=b;b=a;}
2.若number值为‘C’,执行以下程序段的输出结果是( ).
switch(number)
{case‘A’:
printf(“one\n”);
case‘B’:
printf(“two\n”);
case‘C’:
printf(“three\n”);
case‘D’:
printf(“four\n”);
default:
printf(“error!
\n”);
}
3.设ok1=1,ok2=2,ok3=0,x=15,a=3,b=4,执行以下程序段后x的值是( ).
if(ok1)
{if(a
{if(!
ok3) x=0;
elsex=1;
}
elsex=2;
}
elsex=3;
程序实例
改错题
4_1.下列程序的功能是输出x,y两者中的大者,请改正程序中的错误.
main()
{intx,y;
printf(“inputx&y”)
scanf(“%d%d”,x,y);
if(x printf(“%d”,x);
else
printf(“%d”,y);
}
4_2.下列程序的功能是根据考试成绩,打印等级分,要求如下:
分数在90分至100分之间为A级,80分至90分之间为B级,60分至80分之间为C级,60分以下为D级。
请改正程序中的错误。
main()
{intx;
printf(“x=”);
scanf(“%d”,&x);
switch(x/10)
{ case10:
case9:
printf(“A\n”);
case8:
printf(“B\n”);
case7:
case6:
printf(“C\n”);break;
default:
printf(“D\n”);
}
}
编程题:
4_1.请编制C程序实现如下功能:
输入三个整数,分别放在变量x,y,z中,程序把输入的数据重新按由小到大的顺序放在变量x,y,z中,最后输出x,y,z中的值.
4_2.请编制C程序实现如下功能(利用switch语句):
根据考试成绩,打印等级分,要求如下:
分数在90分至100分之间为A级,80分至90分之间为B级,60分至80分之间为C级,60分以下为D级。