选择结构由if,switch两部分组成。
如果你在家,我去拜访你;(需要判断你是否在家)
如果考试不及格,要补考 ;(需要判断是否及格)
如果遇到红灯,要停车等待; (需要判断是否红灯)
周末我们去郊游; (需要判断是否周末)
选择结构能使程序明白遇到分歧情况时该怎么做。
if结构用法
让两个数从小到大输出流程图
代码部分
#include<stdio.h>
int main()
{
float a,b,t;
scanf("%f %f",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
return 0;
}
运行结果
程序分析:
输人两个数给变量a和 b,用i 语进行判断,如果 a>b使a和b的值互换。否则不互换。请熟练掌握交换两个变量的值的方法。经过 if 语句的处理后,变量a是小数,b 是大数。依次输出 a 和 b,就实现了由小到大顺序的输出。
switch结构的用法
if语句只有两个分支可供选择,而实际问题中常常需要多分支选择。为此c语言提供了多分支switch函数。
下面将以代码的形式展示switch函数的用法
要求按照考试成绩的等级输出百分制分数段,A 等为 85 分以上,B等为70~84分C等为60~69分,D等为 60分以下。成绩的等级由键盘输人。
#include<stdio.h>
int main()
{
char grade;
printf("请输入成绩等级:\n");
scanf("%c",&grade);
printf("你的成绩是");
switch (grade)
{
case 'A':
printf("85~100\n");
break;
case 'B':
printf("70~84\n");
break;
case 'C':
printf("60~69\n");
break;
case 'D':
printf("<60>\n");
break;
default:
printf("输入错误");
break;
}
}
运行结果
程序分析
等级 grade 定义为字符变量,从键盘输入一个大写字,赋给变量grade,switch 得到 grade 的值并把它和各 case 中给定的值(A,B,C,D之一)相比较如果和其中之一相同(称为匹配),则执行该 case 后面的语句(即 printf 语句)。输出相应的信息。如果输人的字符与'A','B','C','D'都不相同,就执行 default 后面的语句,输出“输入数据有错的"的信息。注意在每个case后面的语句中,最后都有一个break语句,它的作用是使流程转到switch语句的末尾。