C语言之switch语句用法

C语言之switch语句用法知识点 switch 表达式 case 常量 1 语句 1case 常量 2 语句 2 case 常量 n 语句 ndefault 语句 n 1 1 括号内的 表达式 其值的类型应为整数类型 包括字符型 2 花括号内是一个复合语句 内包含多个以关键字 case 开头的语句行和最多一个以 default 开头的行 case 后面跟一个常量 或常量表达式 它们和 default 都是起标号作用 用来标志一个位置 执行 switch 语句时 先计算 swit

【知识点】

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

(1) 括号内的“表达式”,其值的类型应为整数类型(包括字符型)。
(2) 花括号内是一个复合语句,内包含多个以关键字case开头的语句行和最多一个以default开头的行。case后面跟一个常量(或常量表达式),它们和default都是起标号作用,用来标志一个位置。执行switch语句时,先计算switch后面的“表达式”的值,然后将它与各case标号比较,如果与某一个case标号中的常量相同,流程就转到此case标号后面的语句。如果没有与switch表达式相匹配的case常量,流程转去执行default标号后面的语句。
(3)




可以没有default标号,此时如果没有与switch表达式相匹配的case常量,则不执行任何语句。
(4) 各个

case标号出现次序不影响执行结果
(5) 每一个case常量必须互不相同;否则就会出现互相矛盾的现象。
(6) case标号只起标记的作用。在执行switch语句时,根据switch表达式的值找到匹配的入口标号,在执行完一个case标号后面的语句后,就从此标号开始执行下去,不再进行判断。因此,一般情况下,在执行一个case子句后,应当用




break语句使流程跳出switch结构。最后一个case子句(今为default子句)中可不加break语句。
(7) 在case子句中虽然包含了一个以上执行语句,但可以不必用花括号括起来,会自动顺序执行本case标号后面所有的语句。当然加上花括号也可以。
(8) 多个case标号




可以共用一组执行语句
 

【示例1】
要求按照考试成绩的

等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为 60分以下。成绩的等级由键盘输入。

#include 
  
    int main() { char grade; scanf("%c",&grade); printf("Your score:"); switch(grade) { case 'A': printf("85~100\n");break; case 'B': printf("70~84\n");break; case 'C': printf("60~69\n");break; case 'D': printf("<60\n");break; default: printf("enter data error!\n"); } return 0; } 
  
#include 
  
    int main() { int x,score; scanf("%d",&score); x=score/10; if(score>=80 && score<=84) x=7; switch(x) { case 8: case 9: case 10:printf("A\n");break; case 7:printf("B\n");break; case 6:printf("C\n");break; default:printf("D\n"); } return 0; } 
  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176035.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:49
下一篇 2026年3月26日 下午10:49


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号