switch-case语句和break(按成绩输出等级和分段函数的表示)
switch语句的一般形式
switch(整形表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
- 从表达式的值与case后的值相同时进入
遇到break或直到整个switch结束 - case 后面的参数一定要是常数,且为整型或可以转化为整型的变量
- case和default后是“:”
分数与等级
100分和90分以上输出A
70到89分都输出B
70分以下的输出C
代码
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
switch(a/10){
case 10:
case 9:printf("A\n");break;
//100分和90分以上输出A,并跳出switch语句
case 8:
case 7:printf("B\n");break;
//70到89分都输出B,并跳出switch语句
default:printf("C\n");
//其余输出C
}
return 0;
}
分段函数
代码
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
switch((x<0)-(x>0))//太巧妙了!!
{
case -1:
printf("%d",2*x);break;
case 0:
printf("0");break;
case 1:
printf("-1");break;
}
return 0;
}```