热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

语言幼儿园分班用switch_C语言系列(四):分支结构程序设计

选择结构是程序设计3种基本结构之一,通过判定给定的条件是否成立选择需要执行的操作。C语言提供了条件语句(if语句和switch语句)用以实现选择结构的程序设计
选择结构是程序设计3种基本结构之一,通过判定给定的条件是否成立选择需要执行的操作。C语言提供了条件语句(if语句和switch语句)用以实现选择结构的程序设计,条件通常用关系表达式或逻辑表达式表示。C语言提供3种逻辑运算符,即!(逻辑非)、&&(逻辑与)、||(逻辑或)。ae09d3f0844cba9c1075989e6d33343a.png可知:1. 逻辑非运算表示对运算对象的值取反(右结合性)2. 逻辑与运算中,当参与运算的两个操作数均为真时,其结果为真否则为假(左结合性)3. 逻辑或运算中,当参与运算的两个操作数均为假时,其结果为假否则为真(左结合性)多分支结构和else-if语句一般形式:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;...elseif(表达式n-1)语句n-1;else语句n;解析:表达式通常为关系表达式或者逻辑表达式,表示判定条件。语句可以是简单语句和复杂语句。执行流程:首先求解表达式1,为真则执行语句1,并结束整个if语句的执行,转至整个if语句的下一条语句;否则,求解表达式2,为真则执行语句2,并结束整个if语句的执行,转至整个if语句的下一条语句;否则...;最后的else处理给出的条件都不满足的情况,即表达式1、表达式2、...、表达式n-1的值都为假,执行语句n。switch语句switch语句在处理多分支为题时更为方便有效,其又称为开关语句。根据switch语句使用break语句的方法,分3种情况。1. 在switch语句中,各分支都有单独语句段和break语句,一般形式如下:switch(表达式) {case常量表达式1:语句1;break;case常量表达式2:语句2;break;...case常量表达式n:语句n;break;default: 语句n + 1;break;}执行流程:首先计算表达式的值,若表达式的值与某个case后的常量表达式的值相等,则执行该常量表达式后的语句段,接着执行其后的break语句跳出switch;若表达式的值不与任一个常量表达式相等,则执行default后的语句段,接着执行其后的break语句跳出switch。注意:当遇到switch语句嵌套时,break只能跳出当前一层switch语句体,而不能跳出多层switch嵌套语句。2. 在switch语句中,各分支都不使用break语句,一般形式如下:switch(表达式) {case常量表达式1:语句1;case常量表达式2:语句2;...case常量表达式n:语句n;default: 语句n + 1;}执行流程:首先计算表达式的值,若表达式的值与某个case后的常量表达式的值相等,则执行该常量表达式后的语句段;若表达式的值不与任一个常量表达式相等,则执行default后的语句段。注意:这种形式的switch语句很少使用,不能真正实现多分支情况的处理。例子:下面程序段根据考生成绩等级输出相应百分制分数段,分析能否正确实现。# include//编译预处理命令intmain()                  //主函数{switch('C') {case'A':printf("85~100\n");case'B':printf("70~84\n");case'C':printf("60~69\n");case'D':printf("不及格\n");default:printf("输入错误!\n");}return0;}分析:若grade的值为’C’,程序在执行到switch语句时,按顺序与switch的语句进行逐个比较,当在case中找到相匹配的’C’时,由于没有break语句,程序从分支case ‘C’:开始,向后顺序执行其后所有的语句。输出结果:f423fd777a5a9f9ccb2f770e40fcdff6.png3. 在switch语句中,多个分支共用相同语句段和break语句。在switch语句中,允许case常量表达式后的语句段为空,这样就使得多个case分支共用相同语句段和break语句。实际应用中,当两个或多个分支所要执行的语句段功能完全相同时,可以使用这种形式,使程序看起来更简单。嵌套的if-else语句一般形式:if(表达式1)if(表达式2)语句1;else语句2;elseif(表达式3)语句3;else语句4;显然,以上实现了4路分支。说明:else-if语句和嵌套的if-else语句都可以实现多分支结构,各有特色。else-if语句的逻辑结构更清晰,但效率较低。嵌套的if-else语句结构较为复杂,容易产生二义性,但效率较高。在嵌套的if-else语句中,如果内嵌if省略else,使得else与if数量不等,可能在语义上产生二义性。这需要我们应该知道,else和if的匹配规则是由内而外的,else总是与它最近的且未与其他else匹配的if相匹配。

推荐阅读

(点击文字自动跳转)

C语言系列(三):基本数据类型与表达式

C语言系列(二):用C语言编写程序

C语言系列(一):C语言程序概述

浅谈嵌入式

85cfa34a3f6daf711d45a98b5fc890d5.gif7d53d0de84b7dd5b6be261f0ed261203.gif

参考资料:肖捷 侯家利——C语言程序设计




推荐阅读
  • 无论是计算机专业学生还是非计算机专业的学习者,在掌握C语言的过程中可能会遇到诸多挑战,不清楚从何入手。为此,本文系统地梳理了2019年福建省C语言的核心知识点,并结合最新的技术进展进行了详细总结,旨在为初学者提供全面的学习指导。文章不仅涵盖了基础语法和数据结构,还深入探讨了指针、内存管理和算法优化等高级主题,帮助读者快速提升编程能力。 ... [详细]
  • 具备括号和分数功能的高级四则运算计算器
    本研究基于C语言开发了一款支持括号和分数运算的高级四则运算计算器。该计算器通过模拟手算过程,对每个运算符进行优先级标记,并按优先级从高到低依次执行计算。其中,加减运算的优先级最低,为0。此外,该计算器还支持复杂的分数运算,能够处理包含括号的表达式,提高了计算的准确性和灵活性。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • C++基础 | 从C到C++快速过渡
    一、开发环境c++使用的编译器是g& ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文详细解析了 Android 系统启动过程中的核心文件 `init.c`,探讨了其在系统初始化阶段的关键作用。通过对 `init.c` 的源代码进行深入分析,揭示了其如何管理进程、解析配置文件以及执行系统启动脚本。此外,文章还介绍了 `init` 进程的生命周期及其与内核的交互方式,为开发者提供了深入了解 Android 启动机制的宝贵资料。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 本文小编为大家详细介绍“Java中的逻辑结构模式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中的逻辑结构模式有哪些”文章能帮 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 题目要求维护一个数列,并支持两种操作:一是查询操作,语法为QL,用于查询数列末尾L个数中的最大值;二是更新操作,用于修改数列中的某个元素。本文通过ST表(Sparse Table)优化查询效率,确保在O(1)时间内完成查询,同时保持较低的预处理时间复杂度。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
author-avatar
爱你116564
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有