c语言中选择结构选最大数,最详细最生动的选择结构教程

原创 coolmoying 2020-12-27

收录于话题

#C语言零基础教程

22个

0c70dfaaeabe82c24ea723d7dd02812a.gif

2a4f3861c804d686fcc4440dd8324523.png

前言

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

2a4f3861c804d686fcc4440dd8324523.png

什么是选择语句

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

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

switch语句

2a4f3861c804d686fcc4440dd8324523.png

if语句

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

if - else语句

嵌套if语句

if-else if-if语句(if-else梯形图)1

简单if语句

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

126851e23ba87f1714020533e54685bd.png

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

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

8e679cbd278223fbacdefe92d4adcc6c.png2

if-else 语句

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

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

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

嵌套if语句

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

2f34b0c001f2859a11f0cba4bf5f66b9.png

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

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

31f5f5ff7f464c8126f02369e5d8668a.png4

if-else if-else语句

if-else if-else语句的一般语法如下:

d5b14b8ce8f1171879aceac1c28897d9.png

示例程序| 找到三个数字中最大的一个

8204645bd2262b08b6e192211e9ae20b.png选择结构注意项

当我们使用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,因为最后一个值为零

2a4f3861c804d686fcc4440dd8324523.png

C语言中switch语句

考虑一种情况,其中我们有许多选项,我们只需要选择一个要执行的选项。使用嵌套的if语句可以解决这类问题。但随着选项数量的增加,程序的复杂性也会增加。使用switch语句可以很容易地解决这类问题。使用switch语句,可以非常容易地从更多选项中选择一个选项。在switch语句中,我们提供了一个值,该值与每个选项关联的值进行比较。只要给定值与选项关联的值匹配,就从该选项开始执行。在switch语句中,每个选项都被定义为一个案例。

switch语句具有以下语法和执行流程图:

64ec3d1754475a22e54edb88c1f7c1c5.png

switch语句包含一个或多个case,每个case都有一个与之关联的值。首先,switch语句将第一个case值与switchValue进行比较,如果匹配,则从第一个case开始执行。如果它不匹配,则switch语句将第二个case值与switchValue进行比较,如果匹配则执行从第二个case开始。此过程将继续,直到找到匹配项。如果没有case值与switch语句中指定的switchValue匹配,则执行一个名为default的特殊情况。

当case值与switchValue匹配时,执行从该特定情况开始。此执行流程也继续下一个案例语句。为避免这种情况,我们在每个案例的末尾使用“ break”语句。这意味着break语句用于终止switch语句。

示例程序| 用单词显示按下的数字

ecf0e921f2e9ceaa8546c4a6b17cf89f.png

530e97190e6a25bf1b9469467eada11d.png

switch注意项

关键字所以他们必须是小写字母

case值的类型和switch指定的值必须相同。

switch和case值必须是整数或字符,但不能是float或string。

switch语句可以包含任意数量的case。

关键字case及其值必须使用空格填充。

不需要按顺序定义案例值,它们可以按任何顺序排列。

在默认情况下是可选的,它可以在任何地方的开关语句内定义。

切换值可以是直接值,变量或表达式。

2a4f3861c804d686fcc4440dd8324523.png

尾言

作业:用户输入年月,采用switch和if实现当前月份的天数。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值