本期讲解C语言选择结构。选择结构又称分支结构。在解决实际问题时,往往需要计算机根据不同的情况采取不同的操作。选择结构在程序中体现为,根据某些条件作出判断,决定执行那些语句。C语言中的if,switch语句,可以帮助我们编写带有选择结构的程序。这里以百分制成绩为例。
1.用if语句输入
在if语句格式中,需要注意的是,如果要选择执行的语句超过一条,就必须使用复合语句(所谓复合语句,是指用一对花括号括起来的一组语句)。
#include <stdio.h>
int main()
{
int score;
printf(“Please input score:\n”);
scanf(“%d”,&score);
if(score>100‖score<0)
printf(“the date is error\n”);
else
if(score<60)printf(“不及格\n”);
else
if(score<70)printf(“及格\n”);
else
if(score<80)printf(“中等\n”);
else
if(score<90)printf(“良好\n”);
else
printf(“优秀\n”);
return 0;
}
2.用switch结构输入
在某些问题上,用switch语句更为简洁。一般地,n-1个if结构的嵌套可以实现二选一。但是,过多的嵌套使程序显得繁琐且容易引起混淆。switch语句可以根据给定条件的结果判断,然后决定从多个分支中的哪个分支开始执行。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int score;
printf(“Please input score\n”):
scanf(“%d”,&score);
if(score>100‖score)
{
printf(“成绩出错\n”);exit(0);
}
switch(score/10)//表达式一定要是整型或字符型:
{
case 10://值6-10一定要是整型或字符型常量;
case 9: printf(“优秀\n”);break;//case后一定要有空格;如果case结果一样,printf可省;
case 8: printf(“良好\n”);break;//若无break语句,还会执行此语句后的语句组;
case 7: printf(“中等\n”);break;
case 6: printf(“及格\n”);break;
default:printf(“不及格\n”);//default位置任意,一般在尾;
}
return 0;
}