C语言学习18:选择结构_switch 语句

目录

1.switch 语句的一般形式及解析
2.switch 语句的常见用途

1.switch 语句的一般形式

switch语句的一般形式:

switch(表达式)
{
	case 常量1: 语句1
	case 常量1: 语句1
	...
	case 常量n: 语句n
	default:   语句n+1
}

解析:

表达式 其值的类型应为整数类型(包括字符型)。
花括号 内是一个 复合语句 。这个 复合语句 包括若干语句,它是 switch语句语句体语句体 内包含多个以 关键字case 开头的语句行和最多一个以 default 开头的行。 case 后面跟一个常量(或常量表达式),如: case ‘A’ ,它们和 default 都是起标号(label或称标签、标记)的作用,用来标志一个位置。执行 switch语句 时,先计算switch后面的 “表达式” 的值,然后将它与各 case 标号比较,如果与某一个case标号中的 常量 相同,流程就转到此 case标号 后面的语句。如果没有与 switch表达式 相匹配的case常量,流程转去执行 default标号 后面的语句。
default 标号 可以不存在,此时如果没有与 switch表达式 相匹配的 case常量 ,则不执行任何语句,流程转到switch语句的 下一个语句
case标号 出现次序 不影响 执行结果。且case标号只起 标号作用
case常量 必须 互不相同 ,否则就会出现互相矛盾的现象。
多个case标号 可共用一组执行语句,例:

switch(表达式)
{
	case 'A':
	case 'B':
	case 'C': printf("我们共用了一组执行语句");
	...
}

2.switch 语句的常见用途

温馨提醒:switch语句中的表达式只能是byte、short、char、int类型的值

常见用途之成绩查询:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	char grade = 0;

	printf("请输入您的评级(A-E)!\n");
	scanf("%c", &grade);
	switch (grade)
	{
		case 'A':printf("您的成绩在90 - 100范围内\n"); break;
		case 'B':printf("您的成绩在80 - 89\n"); break;
		case 'C':printf("您的成绩在70 - 79\n"); break;
		case 'D':printf("您的成绩在60 - 69\n"); break;
		case 'E':printf("您的成绩在小于60\n"); break;
		default: printf("输入错误!\n");
	}
	return 0;
}

输入 E 以后的结果:
在这里插入图片描述
输入 A - E 之外内容的结果:
在这里插入图片描述

—————————END—————————

往期回顾

★C语言学习13:注释

★C语言学习14:选择结构_if 语句

★C语言学习15:循环结构_while语句

★C语言学习16:循环结构_for语句

★C语言学习17:循环结构_do…while语句

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

學不董Gavin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值