选择语句就相当于一个岔路口,你做出不同的选择就可能会有不同的结果。在C语言中选择语句通常有if语句和switch语句。 两种语句用法都比较简单, 但是注意要点还是不少。
首先if语句,if()括号中放的是表达式,表达式可以是关系表达式,逻辑表达式,数值表达式。同时if()括号的后面是不加 ‘;’ ,因为if需要控制语句的执行。
switch语句中,switch()中放的也是表达式,但表达式类型更为苛刻,只能为整型数据(包括字符型)。switch语句的语句体中case要接与表达式中相匹配的常量,另一个break语句,用于终止switch语句的执行。
/*学生成绩分类(85分以上为A等,70到85分为B等,
60到69分为C等,60分以下为D等)*/
//输入等级,输出百分制分数段
#include<stdio.h>
#include<stdlib.h>
int main()
{
char grade;
printf("请输入一个成绩等级:");
scanf_s("%c", &grade);
switch (grade)
{
case'A':printf("85分以上\n", grade); break;
case'B':printf("70到85分\n", grade); break;
case'C':printf("60到70分\n", grade); break;
case'D':printf("60分以下\n", grade); break;
default:printf("输入错误!");
}
system("pause");
return 0;
}
完整代码打出的结果:
缺少break打出的结果:
if语句与switch语句间的差别,本质上if语句用来实现两个分支的选择结构,而switch语句用来实现多个分支的选择结构。但我认为在这个选择结构中if的使用远大于switch,表达式的范围大小是一方面,case接常量是一方面,再加上if语句的嵌套使用,以及break易遗忘不报错等等。