switch语句,划分成绩等级 ; switch case;

switch语句是一种多分支选择结构

switch 分支选择语句就像一个人手上拿着一个一个号码,只有出现能另外一个匹配的号码才能进行下一步操作,注意与 if 语句区分开,if 是判断真假,只存在真和假两种状态,而switch 可以有多种选择,通俗的讲,switch是多个 if 语句组合在一起

其一般形式如下:

switch(表达式)
{
    case 常量表达式1: 语句1
    case 常量表达式2: 语句2
    //……
    //……
    case 常量表达式 n-1: 语句 n-1
    default: 语句n
}

注意要区分其差别:if (表达式)中存在 1 / 0 两种状态,if(1) 则执行{...}if(0) 则不执行{...}

switch(表达式)是一种状态,这种状态需要与switch (表达式){ case 表达式 ....;}中的case(表达式)中的表达式匹配才有意义,case(表达式)中各表达式的值必须不同,且switch (表达式){ case 表达式 ....;}switch(表达式)的表达式值与 case 表达式 的表达式值相等时,相当于if (1)的状态,则执行 case 常量表达式: 语句中语句;表达式的值不匹配则为 if(0)的状态,不执行,case均不满足则执行default; 语句;;default语句与各case在先后顺序上并不冲突,出现次序不影响结果。
eg:

case 'A' :cout<<"this is A\n";
case 'B' : cout<<"this is 65\n";       //错误,A 等于ASCII码的 65
swtich(a)
{
    case 3: b=1; break;
    default: b=2; break;      //正确,各个case 与 default 的出现次序并不影响
    case 1: b=3; break;
}

注意:
**switch(表达式)中的表达式必须是”整形“,**也就是说可以是 int 型变量、char 型变量,也可以直接是整数(包括负整数)或字符常量,实数,float 型变量、double 型变量、小数常量通通不行,全部都是语法错误。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <strings.h>
int main()
{
	float n;               //分数可以为整数,也可以存在小数;
	scanf("%f",&n);        //键盘获取分数;
	if(n >= 0 && n <= 100)        //限制分数范围,俗称检查;
	{
		int d=n/10;       //强制转换,确定选项为“整数型”
		switch(d)           //给出选项,d 这个表达式的值与后面{...}中的 case 表达式匹配,相等则执行,不等则跳过;
		{
			case 10:printf("AAA\n");break;         //在此处进行 break; 是因为成绩划分档次,每一个档次都是单独;
			case 9:printf("A\n");break;           //break;执行后,执行划分档次后就不再执行 break;之后的语句;
			case 8:printf("B\n");break;             
			case 7:printf("C\n");break;           //注意:这儿的 break; 与循环体中的 break; 区分开;
			case 6:printf("D\n");break;
			default:printf("不及格\n");          
		}
	}
	else              //与 if 呼应,保证成绩有效;
	{
	printf("switch waibu\n");
	}
	return 0;
}

现在我们执行程序,输入分数:85

在这里插入图片描述
总结:switch 分支语句是一种多分支选择结构,不是条件性语句,也不是循环语句。

  • 26
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值