c语言中switch的用法是什么?

c语言中switch的用法是:1、switch后面括弧内的【表达式】,ANSI标准允许它为任何类型;2、当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,否则,就执行default后面的语句。

c语言中switch的用法是什么?

c语言中switch的用法是:

功能:switch语句是多分支选择语句.用来实现多分支选择结构.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择.例如,学生成绩分类(90为”A”等,80-89分为’B’等,70-90分为’C’等……).当然这些都可以用嵌套的if语句来外理,但如果分支较多,则嵌套的if语句层数多,程序沉余长而且可读性降低.C语言提供switch语句直接外理多分支选择,它相当于PASCAL语言中的CASE语句.

形式:switch(表达式)

{case 常量表达式 1:语句 1case 常量表达式 2:语句 2...case 常量表达式 n:语句 ndefault:语句 n+1}

例如,要求按照考试成绩的等级打印出百分制分数段,可以用switch语句实现:

立即学习“C语言免费学习笔记(深入)”;

switch(grade){case 'A':printf("85-100n");case 'B':printf("70-84n");case 'C':printf("60-69n");case 'D':printf("<60n");default:printf("errorn");}

说明:

(1) switch后面括弧内的”表达式”,ANSI标准允许它为任何类型.

(2) 当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的匹配的,就执行default后面的语句.

(3) 每一个case的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案).

(4) 各个case各default的出现次序不影响执行结果。例如,可以先出现”default: …”,再出现”case ‘D’: …”,然后是”case ‘A’: …”.

(5) 执行完一个case后面的语句后,流程控制转移到下一个case继续执行.”case常量表达式”只是起语句标号作用,并不是在该处进行条件判断.在执行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断.例如,上面的例子中,若grade的值等于’A’,则将连续输出:

85-10070-8460-69<60error

因此,应该在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行.

可以用一个break语句来达到此目的.将上面的switch结构改写如下:

switch(grade){case 'A':printf("85-100n"); break;case 'B':printf("70-84n"); break;case 'C':printf("60-69n"); break;case 'D':printf("<60n"); break;default:printf("errorn");}

最后一个分支(default)可以不加break语句.如果grade的值为’B’,则只输出”70-84″.

在case后面中虽然包含一个以上执行语句,但可以不必用花括弧括起来,会自动顺序执行本case后面所有的执行语句.当然加上花括弧也可以.

(6) 多个case可以共用一组执行语句,例如:

case 'A':case 'B':case 'C': printf(">60n");break;..

grade的值为’A’,’B’或’C’时都执行同一组语句.

相关学习推荐:C视频教程

以上就是c语言中switch的用法是什么?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1434446.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 09:57:36
下一篇 2025年12月14日 21:53:37

相关推荐

  • 在switch语句中,case后的标号只能是什么?

    在switch语句中,case后的标号只能是常量表达式。在一个特定的switch语句中,每个case常量都必须具有独一无二的值,不可以重复。但是switch语句可以包含多个case标签。 switch语句用于基于不同条件执行不同动作。 语法格式: switch (变量表达式){case 常量1: 语…

    2025年12月17日
    000
  • C语言中 & 是什么意思?

    C语言中&是什么意思? &符号在C语言中有两种意思,一种代表的是取地址符,是单目运算符,作用是获取一个变量的内存地址;而另一种代表的是位运算符,是双目运算符,作用是将两数各对应的二进位相与。 C语言运算符 算术运算符 立即学习“C语言免费学习笔记(深入)”; 用于各类数值运算。包括加…

    2025年12月17日
    000
  • 简述分配器的作用是什么?

    分配器是C++标准库的重要组成部分,作用是:处理容器对内存的分配与释放请求。换句话说,分配器用于封装STL容器在内存管理上的低层细节。 分配器的作用 在C++编程中,分配器(英语:allocator)是C++标准库的重要组成部分。 C++的库中定义了多种被统称为“容器”的数据结构(如链表、集合等),…

    2025年12月17日
    000
  • c源程序中不允许出现空语句吗?

    c源程序中允许出现空语句。空语句是C语言或C++中一种特殊的语句;如果一个语句只有一个分号“;”,则称该语句为空语句。在程序中,空语句主要用来做空循环体。 c源程序中允许出现空语句。 在C语言或C++中,有一种特殊的语句,称为空语句。 在C语言中或C++中,如果一个语句只有一个分号“;”,则称该语句…

    2025年12月17日
    000
  • c++中static关键字的作用是什么?

    作用是:1、修饰函数的局部变量;2、修饰全局函数和全局变量;3、修饰类里面的成员变量;4、修饰类的成员函数。 static作用: 1、修饰函数的局部变量: 特点:有默认值0,只执行一次,运行一开始就开辟了内存,内存放在全局 2、修饰全局函数和全局变量: 立即学习“C++免费学习笔记(深入)”; 特点…

    2025年12月17日
    000
  • 如何区分c# 前台和后台线程

    Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。 …

    2025年12月17日
    000
  • c++是面向对象还是面向过程?

    c++kquote>c++是面向对象。面向对象是相对于面向过程来讲的,面向对象方法,就是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。 c++是面向对象。 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更…

    2025年12月17日
    000
  • C和C++有什么区别

    c++kquote>C和C++的区别有:1、结构不同;2、设计不同;3、函数库不同。C语言结构只有成员变量,没有成员方法;C++结构中可以有自己的成员变量和成员函数。C语言有标准的函数库,C++对于大多数的函数都是有集成的。 c和c++的区别主要有:1、结构不同;2、设计不同;3、函数库不同。…

    2025年12月17日
    000
  • c语言如何统计字符串中每个字符出现的次数?

    c语言统计字符串中每个字符出现的次数的方法:首先下载安装winTC并打开;然后快捷键【ctrl+N】新建文件,并输入代码;最后保存文件,并输入要统计的字符串后按enter键即可。 c语言统计字符串中每个字符出现的次数的方法: 1、下载安装winTC并打开 2、快捷键ctrl+N新建文件,或点击“文件…

    2025年12月17日
    000
  • c++如何获取系统时间?

    c++kquote>c++获取系统时间的方法:1、使用系统函数,并且可以修改系统时间;2、获取系统时间,代码为【time_t now_time=time(NULL)】;3、使用windows API ,精确到毫秒级。 c++获取系统时间的方法: 1、使用系统函数,并且可以修改系统时间 #inc…

    2025年12月17日 好文分享
    000
  • switch语句中case后面的值必须是什么?

    switch语句中case后面的值必须是常量。因为switch语句中,会根据case标签后面的常量值,生成跳转表,只经过少数次数的比较,就可以跳到对应标签下面;如果允许变量,switch对于一个数据也只能从头到尾地进行比较,这就失去了意义。 switch语句中case后面的值必须是常量。 因为C语言…

    2025年12月17日
    000
  • c语言六种基本语句是哪些?

    c语言六种基本语句为:1、算术运算符和算术表达式;2、赋值运算符和赋值表达式;3、关系运算符和关系表达式;4、逻辑运算符和逻辑表达式;5、条件运算符和条件表达式;6、逗号运算符和逗号表达式。 c语言六种基本语句为: 一、算术运算符和算术表达式   1.基本算术运算符   + (加)、 – (减) 、…

    2025年12月17日
    000
  • 带你详细了解C++中的map(键值对)和set(集合)

    C++学习:map集合(键值对) 集合(set)与映射(map)属于非线性结构容器类 内部实现上面是平衡二叉树     map是STL的一个关联性容器,它提供一对一的数据处理能力 其中第一个可以称为关键字,每个关键字只能在map中出现一次第二个称为该关键字的值 立即学习“C++免费学习笔记(深入)”…

    2025年12月17日
    000
  • strcmp在c语言中是什么意思?

    strcmp在c语言中的意思是string compare的缩写,用于比较两个字符串并根据比较结果返回整数,基本形式为strcmp(str1,str2),若【str1=str2】,则返回零,若【str1 strcmp在c语言中的意思是: strcmp函数是string compare(字符串比较)的…

    2025年12月17日
    000
  • c++万能头文件是什么?

    c++kquote>c++万能头文件是:“#include”。头文件是一种包含功能函数、数据接口声明的载体文件;其主要用于保存程序的声明,而定义文件用于保存程序的实现。 在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数…

    2025年12月17日
    000
  • c语言数组在内存中是怎么分配的?

    c语言数组在内存中分配的方法:首先相应的头文件,为负责输入输出的iostream流;然后在主函数中创建一个数组,使用cout语句分别输出各个元素在内存中的地址;最后点击运行按钮进行编译、链接、生成可执行文件。 c语言数组在内存中分配的方法: 1、首先我们打开C语言编译器,可以选择Visual Stu…

    2025年12月17日 好文分享
    000
  • c#语言为什么用的人很少

    c#用的人很少是因为:1、C#开始只能在Windows渠道上运转,并没有像JAVA相同做出习惯性的转型,导致无法运转在安卓机器上;2、C#仿JAVA而生,大数据及人工智能方面却没能逾越JAVA。 C#由编程界的神级人物AndersHejlsberg主持规划,在许多方面都比JAVA要好,毫无疑问,它是…

    2025年12月17日
    000
  • c++是一种高级程序设计语言吗?

    c++kquote>c++是一种高级程序设计语言。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计;并具有支持数据封装、隐藏、继承、重用、多态的特点。 c++是一种高级程序设计语言。 …

    2025年12月17日
    000
  • C++在构造函数中使用new时,需要注意这些事!

    c++kquote>推荐学习: 《c++教程》 c++ 在构造函数中使用new的注意事项 如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用delete new和delete必须相互兼容。new对应于delete,new[]对应于delete[] 如果有多个构造函数,则必须以相同…

    好文分享 2025年12月17日
    000
  • C++如何简单输出当前日期时间

    推荐学习: 《c++教程》 首先介绍2个数据类型。 一个是time_t,与时间函数相关的变量,定义的变量记录着自 1970 年 1 月 1 日以来经过的秒数,也称作时间戳。 另一个是结构体tm, struct tm{ int tm_sec; // 秒,范围从 0 到 59 int tm_min; /…

    好文分享 2025年12月17日
    000

发表回复

登录后才能评论
关注微信