在c语言中,case的意思为“情况”、“案例”,是用于switch语句的关键字。“switch case”语句是一种选择结构的语句,允许测试变量与值列表的相等性,每个值称之为案例或者case;程序会检查switch后面的值并且与case后面的值比对,如果相等则执行后面的代码或代码块。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows7系统、c99、Dell G3电脑。
case中文是什么意思
作名词意思是例子;情况;案例;(辩论或诉讼)论据;箱。
作动词意思是装箱;踩点;仔细检查。
c语言中的case
在c语言中,case的意思为“情况”、“案例”。case是用于switch语句的关键字。
switch case语句是一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句。
switch语句允许测试变量与值列表的相等性,每个值称之为案例或者case,程序会检查switch后面的值并且与case后面的值比对,如果相等则执行后面的代码或代码块
switch..case在C语言中的语法如下
switch(表达式){ case 整型数值1: 语句 1;[break;] case 整型数值2: 语句 2;[break;] ...... case 整型数值n: 语句 n;[break;] default: 语句 n+1;[break;] }
它的执行过程是:
-
1) 首先计算“表达式”的值,假设为 m。
-
2) 从第一个 case 开始,比较“整型数值1”和 m,如果它们相等,就执行冒号后面的所有语句,也就是从“语句1”一直执行到“语句n+1”,而不管后面的 case 是否匹配成功。
-
3) 如果“整型数值1”和 m 不相等,就跳过冒号后面的“语句1”,继续比较第二个 case、第三个 case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 m 和“整型数值5”相等,那么就会从“语句5”一直执行到“语句n+1”。
-
4) 如果直到最后一个“整型数值n”都没有找到相等的值,那么就执行 default 后的“语句 n+1”。
注意:
-
switch语句中使用的表达式必须具是int或enum类型,否则如float等其他数据类型是无法通过的编译的,因为编译器需要switch后面的语句和case后面的值精确匹配,而计算机无法精确表达一个float数据类型
-
switch可以任意个case语句(包括没有), 值和语句之间使用:分隔
-
case后面的值必须是int常量值,或者返回结果为int类型的表达式,以下代码无法编译通过
switch (1) { case 1.1: break; }
int a; scanf("%d", &a); switch (a) { case a + 1: break; }
-
当switch后面的变量值和case后面的常量值匹配相等后,case后面的代码将会被执行,直到break语句被执行后跳出switch代码块
-
break不是必须的,如果没有break,则执行完当前case的代码块后会继续执行后面case代码块的内容,直到执行break才可以退出
-
switch有一个默认的情况,我们用default关键词表示,当switch后面的变量和所有case后面的常量都不匹配的情况下,默认执行default后面的语句
示例1:
#include <stdio.h> int main () { /* local variable definition */ char grade; scanf("%d", &grade); switch(grade) { case 'A' : printf("Excellent!n" ); break; case 'B' : case 'C' : printf("Well donen" ); break; case 'D' : printf("You passedn" ); break; case 'F' : printf("Better try againn" ); break; default : printf("Invalid graden" ); } printf("Your grade is %dn", grade ); return 0; }
示例2:
#include <stdio.h> int main() { printf("Please input your grade(1-100):"); int grade; scanf("%d", &grade); switch (grade / 10) { case 10: case 9: printf("An"); break; case 8: case 7: printf("Bn"); break; case 6: case 5: printf("Cn"); break; default: break; } return 0; }