技术干货驿站 ▏深入理解C语言:掌握C语言条件判断,从if到switch的应用

描述

在编程中,条件判断语句是控制程序流程的核心元素之一。它们使得程序能够根据不同的输入和状态,做出相应的决策。特别是在C语言中,条件判断语句的使用极为广泛,涵盖了从简单的if语句到更复杂的switch语句和条件运算符。这些结构不仅增强了代码的灵活性,还提高了程序的可读性和可维护性。本文将深入探讨C语言中的主要条件判断语句,包括它们的语法、使用方法及实际应用,通过具体示例帮助读者更好地理解和掌握这些重要概念。

01#

 

 

 

一:什么是条件判断语句

 

判断结构要求指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

 C 语言把任何非零和非空的值假定为true,把零或null假定为 false。


 

 以下是C语言的三种条件判断语句:

C语言

02#

 

 

 

二:if语句

(1):if语句

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。

C语言

 

如果布尔表达式为 true ,则 if 语句内的代码块将被执行。如果布尔表达式为 false ,则 if 语句结束后的第一组代码(闭括号后)将被执行

 

编写一个简单的程序:

C语言

运行结果为:

C语言

(2):if...else 语句

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。

C语言

 如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。


 

编写一个简单的程序:

C语言

运行结果为:

C语言

(3)if...else if...else 语句

 

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。

 当使用 if...else if...else 语句时,以下几点需要注意:

l 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。

l 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。

l 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被执行。

 

编写一个简单的程序:

C语言

运行结果为:

C语言

(4)嵌套 if...else 语句

在 C 语言中,嵌套 if...else 语句是合法的,可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。

 

编写一个简单的程序:

C语言

 运行结果为:

C语言

03#

 

 

 

三:switch语句

 

(1):switch语句

switch 语句是一种有限制的控制流语句,它用于根据表达式的值执行不同的代码块。

 一个 switch 语句允许测试一个变量等于多个值时的情况,每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

C语言

编写一个简单的程序:

C语言

 运行结果为:

C语言

 

l switch 后面的表达式的值将会与每个 case 后面的常量值进行比较,直到找到匹配的值或者执行到 default(如果存在)。

l 如果找到匹配的值,将执行相应 case 后面的代码块,然后跳出 switch 语句。

l 如果没有匹配的值,并且有 default,则执行 default 后面的代码块。

l 如果没有匹配的值,并且没有 default,则跳过整个 switch 语句直到结束。

(2):嵌套switch语句

可以在一个 switch 语句内使用另一个 switch 语句。

 

 编写一个简单的程序:

C语言

运行结果为:

C语言


 

推导一下流程:

l 第6行:开始时n=1,匹配下方case1

l 第8行:m自增1,此时m=3

l 第9行:由于没有break,继续执行n自增1,此时n=2

l 第10行:由于没有break,继续执行case3

l 第11行:此时匹配n=2

l 第14行:m自增1,n自增1,此时m=4 , n=3

l 第15行:由于存在break,退出该switch语句

l 第19行:m自增1,此时m=5

l 第20行:由于存在break,退出该switch语句

l 最终结果:m=5 , n=3

04#

 

 

 

四:条件运算符

 

我们在运算符部分提到了条件运算符 ? : ,它是C语言唯一一个三目运算符,可以用来替代 if...else 语句。

 其中,condition 、block1 和 block2 是表达式。

 如果 condition 为真,则计算 block1 的值,结果即为整个表达式的值。如果 condition 为假,则计算 block2 的值,结果即为整个表达式的值。

C语言

 

编写一个简单的程序:

C语言

运行结果为:

C语言

关于更多嵌入式学习资料

将持续更新中

敬请期待

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分