switch条件语句与跳转语句(附分数分层案例)

前言

本人是在读大一学生,通过在校学习C语言获得学习经验,欢迎大家来进行指导批评,将记录宝贵建议,虽然是基础知识,祝诸位功不唐捐,玉汝于成。

一、什么是switch语句?

switch条件语句是一种常见的选择语句,与if条件语句不同,当判定的条件和要求过多的时候,用if-else语句更复杂,而switch条件语句针对表达式进行判断,选择并确定这一段代码。

switch关键字后面会有一个表达式case,case关键字后有目标值,当表达式的值和某个目标值case相匹配的时候,会执行对应的case语句,最后调出printf函数进行输出。

if条件语句是

“ 如果满足if后的条件,就进行相应的处理,否则的话就进行else,另一种处理。”

1.1switch语句演示

代码如下(示例):
在下面的语法中,调用switch条件语句进行在case匹配判断,如果找到相对应的case,则输出结果,如果并未找到想匹配的case,则输出default里的内容。

switch(表达式)
{
	case 目标值1:
	执行语句1
	break;//跳转语句,后有详细注释,作用为终止循环,执行循环体外的第一条语句
	case 目标值2:
	执行语句2
	break;
	.......
	case 目标值n:
	执行语句n
	break;
default:     //default的作用就是switch语句里所有的case都不成立时所要执行的语句。如果case中的所有条件都不满足,就默认为default后所表示的。
	执行语句n+1
	break;
}

二、跳转语句

2.1 break语句

1.break语句终止当前循环。
2.当switch条件语句中的case目标值成立,break终止当前循环后,循环体当中的其他break跳转语句不在运行,可以理解为break智能终结距离最近的switch。
3.在多重循环中,只会跳出向外一层。
4.break不能直接引用if语句,除非if属于循环内部的语句。

代码如下(示例):
分数分层案例

#include <stdio.h>
int main()
{
		float grade;
		printf("请输入一个分数:grade=");
		scanf("%f",&grade);
		switch((int)grade/10) 
    {
    	case 10:
    	case  9:printf("优秀\n");break;//终结的是case 9的结果。
    	case  8:printf("良好\n");break;
    	case  7:printf("中等\n");break;
    	case  6:printf("及格\n");break;
    	case  5:printf("不及格\n");break;
    	case  4:printf("不及格\n");break;
    	case  3:printf("不及格\n");break;
    	case  2:printf("不及格\n");break;
		case  1:printf("不及格\n");break;
		case  0:printf("不及格\n");break;
		default:printf("您输入的分值不在0-100内\n");break;
	}
	
   
    return 0;
}


执行过程:
1.判断你输入的数字取决于那个范围,计算并判断表达式。
2.从第一个目标值case开始,进行范围配对,如果输入的数字符合第一个case目标值的范围,那么执行break函数,结束循环体,并直接输出printf后所打出的内容。
3.如果输出的数字与第一个目标函数case不相等,就跳过case1,继续比较case2,case3…,一旦输入的数字找到了属于自己的范围,那么直接按照执行过程2输出内容。
4.如果输入的数字不属于case1到case10,那么就执行default语句后的内容。由于default语句是最后一个分支,匹配后就不会再次执行其他分支,所以后面可以不使用break语句。

注意

1.任何case分支,如果该分支符合表达式,那本行和其下的所有行都会执行。直到遇到break,或者default。如果有break,那就跳出循环了,只执行两个重复语句的前者。如果在第一个语句没有碰到break,在第二个语句碰到了,那就执行两次。
2.case后面可以接字符对应的ASCll值,但是后不能后面接含任何变量
3.default语句并不是必须要加的,如果输入的内容在case中没有相匹配的值,那么就什么也不执行。

总结

本篇文章说的是switch语句和break语句,通过一个分数案例,来了解break是如何中止,default语句的特殊性。
欢迎大家指导批评,如果有语句不充分或者表达模糊,请指导,如果觉得写的好的话点个赞再走!!!我会利用其他时间更新下一章continue和go to语句

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春风随我狮子鸣.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值