最详细最生动的选择结构教程
共 2289字,需浏览 5分钟
·
2020-12-29 02:49
前言
上章节讲解了程序的数据的类型转换,忘记了的同学可以复习哦。本章节主要讲解下C语言选择结构中的分支语句。
什么是选择语句
在C语言中,程序执行流程是从上到下
在c编程语言中,有两个决策制定语句如下......
if语言
switch语句
if语句
在c语言中,if语句用于根据条件做出决策。if语句验证给定条件并根据条件结果决定是否执行语句块。在c语言中,if语句分为以下四种类型......
简单的if语句
if - else语句
嵌套if语句
if-else if-if语句(if-else梯形图)
简单if语句
简单的if语句用于验证给定条件并根据条件结果执行语句块。简单的if语句评估指定的条件。如果为TRUE,则执行下一个语句或语句块。如果条件为FALSE,则会跳过下一个语句或语句块的执行。简单if语句的一般语法和执行流程如下:
当我们只有一个根据条件执行或跳过的选项时,使用简单的if语句。
示例程序| 测试给定数字是否可被5整除:
if-else 语句
if-else语句用于验证给定条件,并根据条件结果仅执行两个语句块中的一个。if-else语句评估指定的条件。如果为TRUE,则执行一个语句块(True block)。如果条件为FALSE,则执行另一个语句块(False块)。if-else语句的一般语法和执行流程如下:
当我们有两个选项并且只有一个选项必须根据条件结果(TRUE或FALSE)执行时,使用if-else语句。
示例程序| 测试给定数量是偶数还是奇数。
嵌套if语句
在另一个if语句中编写if语句称为嵌套if语句。嵌套if语句的一般语法如下:
可以使用简单的if和if-else语句的任意组合来定义嵌套的if语句。
示例程序| 如果给定数字低于100,则测试给定数字是偶数还是奇数。
if-else if-else语句
if-else if-else语句的一般语法如下:
示例程序| 找到三个数字中最大的一个
当我们使用if语句之类的条件控制语句时,condition可能是一个表达式,它被计算为数值,变量或直接数值。如果表达式值或直接值为零,则条件变为FALSE,否则变为TRUE。
if(10)
为TRUE
if(x)
x为零则为FALSE,否则为TRUE
if(a + b)
a + b值为零为FALSE,否则为TRUE
if(a = 99)
由于值为非零而为TRUE
if( 10,5,0 )
为FALSE,因为它考虑了最后一个值
if(0)
为FALSE
if(a = 10,b = 15,c = 0)
为FALSE,因为最后一个值为零
C语言中switch语句
考虑一种情况,其中我们有许多选项,我们只需要选择一个要执行的选项。使用嵌套的if语句可以解决这类问题。但随着选项数量的增加,程序的复杂性也会增加。使用switch语句可以很容易地解决这类问题。使用switch语句,可以非常容易地从更多选项中选择一个选项。在switch语句中,我们提供了一个值,该值与每个选项关联的值进行比较。只要给定值与选项关联的值匹配,就从该选项开始执行。在switch语句中,每个选项都被定义为一个案例。
switch语句具有以下语法和执行流程图:
switch语句包含一个或多个case,每个case都有一个与之关联的值。首先,switch语句将第一个case值与switchValue进行比较,如果匹配,则从第一个case开始执行。如果它不匹配,则switch语句将第二个case值与switchValue进行比较,如果匹配则执行从第二个case开始。此过程将继续,直到找到匹配项。如果没有case值与switch语句中指定的switchValue匹配,则执行一个名为default的特殊情况。
当case值与switchValue匹配时,执行从该特定情况开始。此执行流程也继续下一个案例语句。为避免这种情况,我们在每个案例的末尾使用“ break ”语句。这意味着break语句用于终止switch语句。
示例程序| 用单词显示按下的数字
switch注意项
关键字所以他们必须是小写字母
case值的类型和switch指定的值必须相同。
switch和case值必须是整数或字符,但不能是float或string。
switch语句可以包含任意数量的case。
关键字case及其值必须使用空格填充。
不需要按顺序定义案例值,它们可以按任何顺序排列。
在默认情况下是可选的,它可以在任何地方的开关语句内定义。
切换值可以是直接值,变量或表达式。
尾言
作业:用户输入年月,采用switch和if实现当前月份的天数。
人生的每一笔经历,都在书写你的简历。原本你以为微不足道的事情,回头看的时候,都有着无法细数的刻度。自己拼出来的东西,和别人送到嘴边的东西,意义和珍惜的程度都大为不同。加油!