c语言 switch错误用法,C语言switch语句的详细用法[通俗易懂]

c语言 switch错误用法,C语言switch语句的详细用法[通俗易懂]C语言还为多分支选择提供了另一个switch语句,其一般形式为:开关(表达式){案例常量表达式1:语句1;案例常量表达式2:语句2;…条件常量表达式n:语句n;默认值:语句n+1;}语义是:计算表达式的值.将其与后续常量表达式的值一一比较.当表达式的值等于常量表达式的值时,将执行后续语句,然后不进行判断,并且在个案之后的所有后续语句将继续.如果在所有情况下表达式的值都与常量…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ff1423f02b5be99bb2235dbd24ddc6e9.png

C语言还为多分支选择提供了另一个switch语句,其一般形式为:

开关(表达式){

案例常量表达式1: 语句1;

6-810-jpg_6-1080-0-0-1080.jpg

案例常量表达式2: 语句2;

条件常量表达式n: 语句n;

2-810-jpg_6-1080-0-0-1080.jpg

默认值: 语句n + 1;

}

语义是: 计算表达式的值. 将其与后续常量表达式的值一一比较. 当表达式的值等于常量表达式的值时,将执行后续语句,然后不进行判断,并且在个案之后的所有后续语句将继续. 如果在所有情况下表达式的值都与常量表达式不同,则执行default之后的语句.

704966aea0eed8eaefc22471570b2a10.png

[示例4-9]

#include

int main(void){

int a;

printf(“input integer number: “);

scanf(“%d”,&a);

switch (a){

case 1:printf(“Monday\n”);

case 2:printf(“Tuesday\n”);

case 3:printf(“Wednesday\n”);

case 4:printf(“Thursday\n”);

case 5:printf(“Friday\n”);

case 6:printf(“Saturday\n”);

case 7:printf(“Sunday\n”);

default:printf(“error\n”);

}

return 0;

}

此程序需要输入数字并输出英语单词. 但是在输入3之后,将执行情况3及以后的所有句子c语言 switch语句,并输出星期三及以后的所有单词. 这当然是不希望的. 为什么会这样?这仅反映了switch语句的功能. 在switch语句中,“ case constant expression”仅等效于一条语句标签. 如果表达式的值等于标签,则执行将被重定向到该标签,但是在执行label语句后无法自动跳出整个switch语句,因此似乎继续执行所有后续case语句. 这与之前介绍的if语句完全不同,因此应特别注意.

14-810-jpg_6-1080-0-0-1080.jpg

为避免上述情况,C语言还提供了一个break语句,专用于跳出switch语句. break语句仅具有关键字break,没有参数. 稍后将详细介绍. 修改示例程序,在每个case语句之后添加一个break语句c语言 switch语句,以便在每次执行后可以跳出switch语句,以避免输出意外结果.

[示例4-10]

#include

int main(void){

int a;

printf(“input integer number: “);

scanf(“%d”,&a);

switch (a){

case 1:printf(“Monday\n”); break;

case 2:printf(“Tuesday\n”); break;

case 3:printf(“Wednesday\n”); break;

case 4:printf(“Thursday\n”); break;

case 5:printf(“Friday\n”); break;

case 6:printf(“Saturday\n”); break;

case 7:printf(“Sunday\n”); break;

default:printf(“error\n”);

}

return 0;

}

使用switch语句时,还应注意以下几点: 大小写之后的每个常量表达式的值不能相同,否则会发生错误. 在这种情况下,允许使用多个语句,可以将其括在{}中. 可以更改case和default子句的顺序,而不会影响程序执行结果. 默认子句可以省略.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-286614-1.html

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

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

(0)
上一篇 2025年11月11日 下午10:43
下一篇 2025年11月11日 下午11:22


相关推荐

  • WebSocket 详解教程

    WebSocket 详解教程概述WebSocket是什么?WebSocket是一种网络通信协议。RFC6455定义了它的通信标准。WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯

    2022年7月4日
    24
  • Sublime Text3 的 Markdown 实时预览全面总结

    Sublime Text3 的 Markdown 实时预览全面总结如前文《SublimeText3的插件管理工具(PackageControl)的安装及使用方法》所说,Sublime有强大的插件扩展功能,本文介绍如何在用Sublime写Markdown文档时,做到效果预览。1.插件介绍先介绍两个有关Markdown的常用插件:MarkdownEditing和MarkdownPreviewMarkdownEditing顾名思义,Ma…

    2022年7月27日
    4
  • hive是一个数据仓库基础架构_数据仓库ods层和dw层的区别

    hive是一个数据仓库基础架构_数据仓库ods层和dw层的区别软件环境Hadoop2.6.0-cdh5.9.0Hive1.1.0-cdh5.9.0Zookeeper3.4.5-cdh5.9.0需求背景数据来源是将8台服务器日志各自压缩成*.gz(8个gz文件)后,按天和小时分区传入到HDFS上,然后通过创建HiveODS外部表加载到表对应分区,这样一天下来会生产192个gz文件,gz文件是不能进行切分所以查询一天则会产生192

    2026年4月15日
    7
  • Java的下载与安装简易教程

    Java的下载与安装简易教程分享一下windows10系统下安装Java的教程一.Java的下载与安装要想学习Java语言,第一个条件就是要让电脑上具备有Java环境,那么怎么让电脑具备Java环境呢?1.首先下载Java的安装包。点击Java下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html(官网地址)如下图:2.点击上图红色方框的Download,跳转到另一个页面,如下图:…

    2022年7月9日
    21
  • Apache POI使用详解[通俗易懂]

    Apache POI使用详解[通俗易懂]一:简介开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache的poi,另一个是JavaExcelApachePOI简介是用Java编写的免费开源的跨平台的JavaAPI,ApachePOI提供API给Java程式对MicrosoftOffice(Excel、WORD、PowerPoint、Visio等

    2022年6月28日
    37
  • pythonif语句格式_python中if语句的用法

    pythonif语句格式_python中if语句的用法if判断语句if判断语句的基本语法if要判断的条件:条件成立时,要做的事情注意:代码的缩进为一个tab键,或者四个空格(pycharm自动帮我们增加)在python开发中,Tab和空格不要混用判断语句演练一需求:1.定义一个整数变量2.判断是否满18岁(>=)3.如果满18岁,允许进入网吧总结:…

    2026年4月13日
    4

发表回复

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

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