C语言switch史上最详细的讲解 您所在的位置:网站首页 switch开发语言 C语言switch史上最详细的讲解

C语言switch史上最详细的讲解

2024-07-13 10:39| 来源: 网络整理| 查看: 265

原文链接

https://github.com/shellhub/blog/issues/41

C语言switch史上最详细的讲解

switch语句允许测试变量与值列表的相等性,每个值称之为案例或者case,程序会检查switch后面的值并且与case后面的值比对,如果相等则执行后面的代码或代码块

语法

switch在C语言中的语法如下

switch(expression) { case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ /* you can have any number of case statements */ default : /* Optional */ statement(s); } 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后面的语句

switch_statement

Example 1

#include int main () { /* local variable definition */ char grade; scanf("%c", &grade); switch(grade) { case 'A' : printf("Excellent!\n" ); break; case 'B' : case 'C' : printf("Well done\n" ); break; case 'D' : printf("You passed\n" ); break; case 'F' : printf("Better try again\n" ); break; default : printf("Invalid grade\n" ); } printf("Your grade is %c\n", grade ); return 0; }

Example 2

#include int main() { printf("Please input your grade(1-100):"); int grade; scanf("%d", &grade); switch (grade / 10) { case 10: case 9: printf("A\n"); break; case 8: case 7: printf("B\n"); break; case 6: case 5: printf("C\n"); break; default: break; } return 0; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有