精华内容
下载资源
问答
  • c语言switchcase用法详解switch是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。switch是多分支选择语句。说得通俗点,多分支就是多个if。推荐学习:c语言视频教程从功能上说,switch语句和if语句...

    c语言switchcase用法详解

    switch是“开关”的意思,它也是一种“选择”语句,但它的用法非常简单。switch是多分支选择语句。说得通俗点,多分支就是多个if。

    推荐学习:c语言视频教程

    从功能上说,switch语句和if语句完全可以相互取代。但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁。

    当嵌套的if比较少时(三个以内),用if编写程序会比较简洁。但是当选择的分支比较多时,嵌套的if语句层数就会很多,导致程序冗长,可读性下降。因此C语言提供switch语句来处理多分支选择。所以if和switch可以说是分工明确的。在很多大型的项目中,多分支选择的情况经常会遇到,所以switch语句用得还是比较多的。

    switch的一般形式如下:

    switch(表达式)

    {

    case常量表达式1:语句1

    case常量表达式2:语句2

    case常量表达式n:语句n

    default:语句n+1

    }

    说明:

    1)switch后面括号内的“表达式”必须是整数类型。也就是说可以是int型变量、char型变量,也可以直接是整数或字符常量,哪怕是负数都可以。但绝对不可以是实数,float型变量、double型变量、小数常量通通不行,全部都是语法错误。

    2)switch下的case和default必须用一对大括号{}括起来。

    3)当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。

    再重申一下:switch是“选择”语句,不是“循环”语句。很多新手看到break就以为是循环语句,因为break一般给我们的印象都是跳出“循环”,但break还有一个用法,就是跳出switch。

    4)若所有的case中的常量表达式的值都没有与switch后面括号内“表达式”的值相等的,就执行default后面的语句,default是“默认”的意思。如果default是最后一条语句的话,那么其后就可以不加break,因为既然已经是最后一句了,则执行完后自然就退出switch了。

    5)每个case后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。

    6)“case常量表达式”只是起语句标号的作用,并不是在该处进行判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

    7)各个case和default的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。

    8)当然你也可以不要default语句,就跟if…else最后不要else语句一样。但最好是加上,后面可以什么都不写。这样可以避免别人误以为你忘了进行default处理,而且可以提醒别人switch到此结束了。

    但是需要注意的是,default后面可以什么都不写,但是后面的冒号和分号千万不能省略,省略了就是语法错误。很多新手在这个地方很容易出错,要么忘了分号,要么忘了冒号,所以要注意!

    下面给大家写一个程序,通过这个程序来看一下。

    #include

    intmain(void)

    {

    intval;//variable的缩写,“变量”的意思

    printf("请输入您想去的楼层:");

    scanf("%d",&val);

    switch(val)

    {

    case1:

    printf("1层开!\n");

    break;

    case2:

    printf("2层开!\n");

    break;

    case3:

    printf("3层开!\n");

    break;

    default:

    printf("该层不存在,请重新输入\n");

    }

    return0;

    }

    在这个程序中最后的“该层不存在,请重新输入”现在还起不了作用。这个要等到学习循环语句的时候用循环实现。

    9be6436b812f48a31872893bedad6d1c.png

    5b823ee04ecf4d203a90fa214a0626da.png

    本文转载自中文网

    展开全文
  • C语言switch

    千次阅读 2015-07-31 16:06:37
    才会跳出switch语句。 3、switch后面的表达式语句的值只能是整型或者字符类型。 4、在case后,允许有多个语句,可以不用{}括起来。 5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。 6、...

    1、在case后的各常量表达式的值不能相同,否则会出现错误。

    2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。

    3、switch后面的表达式语句的值只能是整型或者字符类型。

    4、在case后,允许有多个语句,可以不用{}括起来。

    5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

    6、default子句可以省略不用。


    给个例子:

    小明参加期末考试,分数等级分为A-D,等级划分方式如下:

    90<=分数<=100 ,等级为A。

    80<=分数<90 ,等级为B。

    60<=分数<80 ,等级为C。

    分数<60 ,等级为D。

    小明期末考试分数为87分,在代码编辑器中完善代码使其输出结果为: 等级B 


    codes:

    /**************************************
    *author: Yang Xu
    *assignment: switch test
    *ground: change the score into grade
    ***************************************/

    #include<stdio.h>
    #include<process.h>

    int main()
    {
        int a=97;//定义成绩a
        char x;//定义等级
        /***************************************
        *swith 后面的表达式的值要求为整型或字符型
        *进入switch后a变量的空间被释放
        *case 后面的只要是常量表达式就行,不管是直接常量还是间接常量(#define)
        ****************************************/
        switch(a/10)
        {
        default:
            x='D';
            break;
        case 3:
        case 4:
            x='C';
            break;
        case 10:
        case 9:
        case 8:
            x='A';
            break;
        case 7:
        case 6:
        case 5:
            x='B';
            break;
        }
        /**********************************************
        *switch的工作原理是
        *1.先跳到最适合的case,并执行
        *2.然后一股脑向下执行(所有语句),直到遇到break
        ***********************************************/
        printf("等级%c\n",x);
        system("pause");
        return 0;    
    }

    展开全文
  • c语言switch改写

    2010-05-13 10:31:25
    c语言switchc语言switch改写
  • C语言switch史上最详细的讲解

    万次阅读 多人点赞 2019-01-11 08:53:00
    C语言switch史上最详细的讲解 switch语句允许测试变量与值列表的相等性,每个值称之为案例或者case,程序会检查switch后面的值并且与case后面的值比对,如果相等则执行后面的代码或代码块 语法 switch在C语言中的语法...

    原文链接

    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语句中使用的表达式必须具是intenum类型,否则如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 <stdio.h>
    
    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 <stdio.h>
    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;
    }
    
    展开全文
  • C语言switch语句

    2013-06-19 20:18:32
    C语言switch语句,主要就是C语言中switch语句的一个简单应用,大家看了之后就会很清楚。
  • C语言switch语句,switch(表达式)中,这个表达式是什么意思?对于下面这个程序:/*一个具有两个数加减乘除功能的计算器*/#include "stdio.h"void main(){int iFirNum,iSecNum,iResult;char ch,ch1;printf("请输入...

    C语言中switch语句,switch(表达式)中,这个表达式是什么意思?对于下面这个程序:/*一个具有两个数加减乘除功能的计算器*/#include "stdio.h"void main(){int iFirNum,iSecNum,iResult;char ch,ch1;printf("请输入表达式如 5+6= 然后按回车键:");scanf("%d%c%d%c",&iFirNum,&ch,&iSecNum,&ch1);switch(ch){case '+':   iResult=iFirNum+iSecNum;   printf("%d+%d=%d\n",iFirNum,iSecNum,iResult);   break;case '-':   iResult=iFirNum-iSecNum;   printf("%d-%d=%d\n",iFirNum,iSecNum,iResult);   break;case '*':   iResult=iFirNum*iSecNum;   printf("%d*%d=%d\n",iFirNum,iSecNum,iResult);   break;    case '/':   iResult=iFirNum/iSecNum;   printf("%d/%d=%d\n",iFirNum,iSecNum,iResult);   break;default:   printf("输入表达式错误或该计算器不具备 %ch 功能\n",ch);}}

    switch(ch)这是什么意思呢?特别是这个(ch),具体有什么作用?

    看程序可能有点混乱,我用图片发下。

    4a3e3c08f651bef6a38b387b5f6d514d.png

    重点讲讲switch(ch)什么意思!!特别是(ch)的意思!!

    展开全文
  • C语言switch你不知道的一些事情

    千次阅读 多人点赞 2021-04-24 21:54:18
    文章目录C语言switch你不知道的一些事情C语言switch的“BUG”switch的default只能放在最后吗?switch的case中可以声明变量吗? C语言switch你不知道的一些事情 C语言switch的“BUG” 先抛出一个问题,下面的code...
  • 今天小编就为大家分享一篇C语言switch使用之诡异用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • C语言还为多分支选择提供了另一个switch语句,其一般形式为:开关(表达式){案例常量表达式1: 语句1;案例常量表达式2: 语句2;...条件常量表达式n: 语句n;默认值: 语句n + 1;}语义是: 计算表达式的值. 将其与后续常量...
  • 以下是对c语言switch中break语句的作用进行了详细的分析介绍,需要的朋友可以过来参考下
  • C语言switch语句的用法详解

    万次阅读 多人点赞 2019-08-14 16:19:33
    C语言提供了一种用于多分支选择的switch语句, 其一般形式为: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算...
  • * * * * C语言switch语句 教学案例分析 思儿 本人的作业分享至百度文库仅供参考 * 2 目录 4 2 3 7 5 6 教材分析 学情分析 1 教学目标 教学重点难点 8 教法学法 教学内容与环节 板书设计 效果预测 * 2 本次教学选定的...
  • C语言switch的用法详解

    万次阅读 2019-04-21 21:35:28
    C语言switch的意思是多项选择的意思. 如图所示.定义一个整数变量a的值为2 如图1所示定义a等于2所以输出case 2:后面的程序. 如果我们定义a=3的话.所以不满足case 1和 case 2.因此会输出defalut后面的哦.如图2所示 ...
  • c语言switch()语句

    2020-03-19 18:36:41
    c语言switch()语句 以上图片来源:https://wenku.baidu.com/view/41e0bb1ef08583d049649b6648d7c1c708a10bb7.html 感谢大牛。 注意: switch(表达式)这个表达式只能是整型,单个字符型,枚举型,不能是浮点数。 ...
  • C语言 switch语句来调用函数

    千次阅读 2020-08-29 19:57:11
    C语言 switch语句来调用函数 如果函数写在主函数后面,则在主函数中必须进行函数声明;如果函数写在主函数前面,可适当不写 getchar只能一个一个的读入字符 switch循环语句中最后必须有default:语句 #include <...
  • C语言中的switch语句用于从多个条件执行代码。 就像if else-if语句一样。C语言switch语句的语法如下:switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be ...
  • C语言switch,case语句 一般形式: switch(开关表达式) { case 常量表达式1:语句1;[break;] case 常量表达式2:语句2;[break;] …………………… case 常量表达式n:语句n;[break;] default:语句n+1; } 其中:...
  • C语言switch 中default子句的作用

    万次阅读 多人点赞 2018-12-22 17:09:42
    C语言switch 中default子句的作用 首先来想一下,在switch语句中,如果表达式的值与所有的case标签的值都不匹配怎么办? 其实也没什么-----所有语句不过是跳过而已。程序并不会终止,也不会提示任何错误,因为这种...
  • C语言switch-case语句中的break 功能正常的代码 int score; if(score>=0 && score<=100){ switch(score / 10){ case 10: case 9:printf("A\n");break; case 8:printf("B\n");break; case 7:...
  • C语言switch语句用法详解

    万次阅读 多人点赞 2018-06-18 17:42:02
    switch语句的一般形式: switch(整形表达式) {   case 常量表达式1: 语句1;  case 常量表达式2: 语句2;  …   case 常量表达式n: 语句n;  default: 语句n+1; } switch主要需要注意的方面有两个: 1、...
  • c语言switch用法

    2014-09-14 21:28:28
    switch转换语句在现实编程中很重要,本资源列举了switch的用法,很实用
  • 本文主要介绍C 语言中的switch 语句,这里提供示例代码和详细介绍,希望能帮助学习C语言的小伙伴
  • Python 用字典映射代替C语言switch case语句 python没有自己的swith case 语句,官方推荐的是使用if else 语句实现,但是用字典的映射方法也可以实现。 一、C语言的使用: colour =1 switch(colour){ case 0 : ...
  • switch嵌套语句的一般形式: switch(表达式) case常量1:语句1 case常量2:switch(表达式) {case常量1:语句1 case常量2:语句2case常量n:语句 因此在C语言switch case语句是判断语句,用switch来判断case后面的表达式...
  • 【转自http://rednaxelafx.iteye.com/blog/132053】求下面程序的输出:#include #include void foo(char* a, char* b, int len) {switch (len & 0x7) {default: {while (len > 7) {len -= 8; *a++ = *b++;}...
  • C语言switch选择结构

    万次阅读 多人点赞 2019-06-10 10:40:10
    一、switch的思想及意义: 程序设计中选择结构的第二大语句就是:switch语句。switch和if—else if一样都可以做多分支选择,但是switch语句的思想是把程序所有可能出现的值 的情况,列出一个情况表,根据所输入的值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,477
精华内容 2,190
关键字:

c语言switch

c语言 订阅