分支程序设计习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分支程序设计习题
选择结构
1.以下程序的输出结果是()。
Main()
{ int a=5,b=4,c=6,d;
printf(“%d\n”,d=a>b? (a>c?a:c):b); }
2.以下程序输出结果是
main()
{ int a=2,b=-1,c=2;
if(a<b)
if(b<0) c=0;
else c+=1;
printf(″%d/n″,c);
}
3.以下程序输出的结果是()。
main()
{ int w=4,x=3,y=2,z=1;
printf(″%d/n″,(w<x ?w:z<y ?z:x));
}
4.若执行以下程序时从键盘上输入3和4,则输出的结果是()。
main()
{ int a,b,s;
scanf(″%d%d″,&a,&b);
s=a;
if(a<b) s=b;
s*=s;
printf(″%d\n″,s);
}
5.运行以下程序后,输出()。
main()
{ int k=-3;
if(k<=0) printf(″****\n″)
else printf(″&&&&\n″);
}
6.以下程序运行后的输出结果是()。
main()
{ int x=1,a=0,b=0;
switch (x)
{ case 0 : b++;
case 1 : a++;
case 2 : a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
7.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果是()#include <stdio.h>
main()
{ int v1,v2=0;
char ch;
while (( ch=getchar()) !='#') switch (ch)
{ case 'a':
case 'h':
default:v1++;
case 'o': v2++;
}
printf(“%d,%d\n”,v1,v2);
}
8.下面程序的输出是()。
main()
{ int x=100,a=10,b=20,ok1=5,ok2=0; if (a<b)
if (b!=15)
if (! ok1)
x=1;
else if (ok2)
x=10;
x=-1;
printf(“%d\n”,x);
}
9.下面程序的输出结果是()。
Main()
{ float x=2.0,y;
if (x<0.0) y=0.0;
else if (x<10.0) y=1.0/x;
else y=1.0;
printf(“%f\n”,y);
}
10.下面程序的输出结果是()。
Main()
{ int a=2,b=-1,c=2;
if(a<b)
if (b<0) c=0;
else c++;
printf(“%d\n”,c);
}
11.有以下程序,输出结果是()。
Main()
{ int a=15,b=21,m=0;
switch (a % 3)
{ case 0: m++; break;
case 1: m++;
switch (b % 2)
{ default : m++;
case 0: m++;break;
}
}
printf(“%d\n”,m);
}
12.阅读以下程序:
main()
{ int x; scanf(“%d”,&x);
if (x--<5) printf(“%d”,x);
else printf(“%d”,x++);
}
程序运行后,如果从键盘上输入5,则输出结果是()。
13.执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是()。
Main()
{ int s,t,a,b;
scanf(“&d,&d”,&a,&b);
s=1;t=1;
if (a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=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;}
{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(“e rror!\n”);
}
3.设ok1=1,ok2=2,ok3=0,x=15,a=3,b=4,执行以下程序段后x的值是(). if (ok1)
{if (a<b)
{if (!ok3) x=0;
else x=1;
}
else x=2;
else x=3;
程序实例
改错题
4_1.下列程序的功能是输出x,y两者中的大者,请改正程序中的错误.
main()
{ int x,y;
printf(“input x&y”)
scanf(“%d%d”,x,y);
if(x<y)
printf(“%d”,x);
else
printf(“%d”,y);
}
4_2.下列程序的功能是根据考试成绩,打印等级分,要求如下:分数在90分至100分之间为A级,80分至90分之间为B级,60分至80分之间为C级,60分以下为D级。
请改正程序中的错误。
main()
{ int x;
printf(“x=”);
scanf(“%d”,&x);
switch(x/10)
{ case 10:
case 9:printf(“A\n”);
case 8:printf(“B\n”);
case 7:
case 6: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级。