• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

c语言中case是什么意思

武飞扬头像
PHP中文网
帮助72

 

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 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  %d\n", 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("A\n");
            break;

        case 8:
        case 7:
            printf("B\n");
            break;

        case 6:
        case 5:
            printf("C\n");
            break;
        default:
            break;

    }
    return 0;
}

学新通技术网

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfbkae
系列文章
更多 icon
同类精品
更多 icon
继续加载