最详细最生动的选择结构教程

C语言编程基础

共 2289字,需浏览 5分钟

 · 2020-12-29

前言

上章节讲解了程序的数据的类型转换,忘记了的同学可以复习哦。本章节主要讲解下C语言选择结构中的分支语句。

什么是选择语句

在C语言中,程序执行流程是从上到下逐行的。这意味着c程序是从main方法逐行执行的。但是这种类型的执行流程可能不适合所有程序解决方案。有时,我们会做出一些决定,或者我们可能会跳过执行一行或多行代码。考虑一种情况,我们编写一个程序来检查学生是否在特定科目中通过或失败。在这里,我们需要检查标记是否大于通过标记。如果分数较高,那么我们会做出学生已经通过的决定,否则就会失败。为了解决c语言中的这类问题,我们使用称为选择结构语句。

在c编程语言中,有两个决策制定语句如下......

  1. if语言

  2. switch语句

if语句

在c语言中,if语句用于根据条件做出决策。if语句验证给定条件并根据条件结果决定是否执行语句块。在c语言中,if语句分为以下四种类型......

  1. 简单的if语句

  2. if - else语句

  3. 嵌套if语句

  4. if-else if-if语句(if-else梯形图)




1

简单if语句

简单的if语句用于验证给定条件并根据条件结果执行语句块。简单的if语句评估指定的条件。如果为TRUE,则执行下一个语句或语句块。如果条件为FALSE,则会跳过下一个语句或语句块的执行。简单if语句的一般语法和执行流程如下:

当我们只有一个根据条件执行或跳过的选项时,使用简单的if语句。

示例程序| 测试给定数字是否可被5整除:

2

if-else 语句

if-else语句用于验证给定条件,并根据条件结果仅执行两个语句块中的一个。if-else语句评估指定的条件。如果为TRUE,则执行一个语句块(True block)。如果条件为FALSE,则执行另一个语句块(False块)。if-else语句的一般语法和执行流程如下:

当我们有两个选项并且只有一个选项必须根据条件结果(TRUE或FALSE)执行时,使用if-else语句。

示例程序| 测试给定数量是偶数还是奇数。

3

嵌套if语句

在另一个if语句中编写if语句称为嵌套if语句。嵌套if语句的一般语法如下:

可以使用简单的if和if-else语句的任意组合来定义嵌套的if语句。

示例程序| 如果给定数字低于100,则测试给定数字是偶数还是奇数。

4

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实现当前月份的天数。

人生的每一笔经历,都在书写你的简历。原本你以为微不足道的事情,回头看的时候,都有着无法细数的刻度。自己拼出来的东西,和别人送到嘴边的东西,意义和珍惜的程度都大为不同。加油!

浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报