当情况大于或等于4种的时候就用switch ... case语句
switch(表达式)
{
case 常量1: 语句体1;
case 常量2: 语句体2;
case 常量3: 语句体3;
case 常量4: 语句体4;
....
default : 语句体;
}
switch ... case语句的执行过程:
1、把要讨论的表达式与case后面的常量进行比较,发现匹配项之后,从该位置入口,做它下面的所有语句。
2、case 后面的常量不能重复
3、可以在每一个case语句的后面加上break语句,这样就能保证只做与之相匹配的那一项。
4、break实质:在switch ...case语句里面最先遇到那一个break就从该位置结束该语句
5、可以在最后一个case的下面加上default语句表示如果找不到匹配项时,就做default对应的项。
6、default并不是一定要有,如果前面遇到break,default就不执行。如果没有遇到break,就一定会执行
7、case后面可以什么都不做,表示与下一个case是或的关系。
switch参数类型
可以是:byte short int long bool
不能是: float double(这种浮点型的不能精确的比较,所以不能) string
但是在c++ 11里面, string可以作为switch的条件了。
mian()
{
char ch1='a',ch2='b';
switch(ch1)
{
case 'a' :printf("0");
case 'b' :
switch(ch2)
{
case 'c' : printf("1");break;
case 'd' : printf("2"); break;
default : printf("3"); break;
};printf("4");
case 'c' :pritf("5");
}
}
答案:0345
void main()
{
int score;
char degree;
printf("请输入分数");
scanf("%d",&score);
if(score<0 || score>100)
{
printf("输入的数字不合法");
}else{
switch(score/10)
{
case 10:
case 9 : degree='A'; break;
case 8 : degree='B'; break;
case 7 : degree='C'; break;
case 6 : degree='D'; break;
default : degree='E'; break;
};
}
}
格式:字符型变量=getchar();
char ch1;
ch1=getchar();
putchar();来输出字符
格式:
putchar(字符型变量);
让用户输入一个英文字母。如果是大写字母就变成小写,如果是大写就变成小写字母。
算法分析:
1、定义一个变量,来存储用户输入的那个字符,
2、对字符进行讨论
输出运算的结果
char ch ;
printf("请输入一个英文字母");
ch=getchar();
if(ch>='a' && ch<='z')
{
putchar(ch-32);
}
if(ch>='A' && ch<='Z')
{
putchar(ch+32);
}