C语言三大结构:顺序、分支、循环详解

目录

一、顺序结构

二、分支结构

1、if-else语句

2、switch语句

3、常用的操作符

三、循环结构

1、while循环

2、for循环

3、do while循环

4、continue和break语句

扩展:goto语句


C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构

一、顺序结构

顺序结构:代码按照从上到下的书写顺序逐行执行,没有跳转或重复。

二、分支结构

分支结构:根据表达式结果决定执行哪段代码。

1、if-else语句

(1)单独的if语句:若if语句后跟的表达式正确,则执行对应代码,否则不执行

解释:age=19,表达式:age>=18成立,执行后面的printf代码

(2)if-else语句:允许程序根据特定条件执行不同的代码块,为程序赋予了基本的决策能力

if-else的简单使用:

多条件的if-else:

(3)花括号的使用:默认在if、else语句中都只控制一条语句,加上花括号则可执行代码块

案例一:不使用花括号,容易导致报错

案例二:不使用花括号,容易导致逻辑错误

正确代码:

(4)嵌套if语句

(5)悬空else

原则:如果有多个if-else,else总是和最接近的if匹配

代码缩进可能误导我们,实际执行结果:没有任何输出,else实际上与内层的if (y > 15)配对。

2、switch语句

(1)语法规则

案例:

(2)break和default

   break:   

  • break 语句至关重要。 它用于跳出整个 switch 语句。

  • 如果某个 case 后面没有 break,程序会继续执行下一个 case 的代码,而不管其条件是否匹配,直到遇到 break 或 switch 语句结束。这个特性被称为“贯穿”(fallthrough)。

    default:

  • 这是可选的。当没有任何 case 与表达式的值匹配时,会执行 default 下的代码。

  • 它可以放在 switch 语句内的任何位置,但通常放在最后。

如下:没有使用break,导致的“贯穿”

(3)注意事项

      • switch后的表达式 和 case后的值 必须是整型常量表达式

      • case和后边的数字之间必须有空格

      case语句执行完以后需要在语句后加上break,跳出switch语句

3、常用的操作符

(1)关系操作符

        关系操作符用于比较两个值的大小关系,结果是 1(真)或 0(假)。

        

(2)逻辑操作符

        逻辑操作符用于组合多个条件,结果也是 1(真)或 0(假)。

        

案例如下:

        

判断规则:

        

扩展:使用&&和||可能会产生短路现象

短路现象:在使用逻辑操作符&&和||时,如果根据第一个操作数就能确定整个表达式的结果,就不会再计算第二个操作数。

(3)条件操作符(三目操作符)

        条件操作符是 C 语言中唯一的三目操作符(需要三个操作数)

        语法规则:        条件?表达式1:表达式2

        判断规则:        若条件为真,则执行表达式1;条件为假,则执行表达式2

三、循环结构

循环结构:重复执行某段代码,直到条件不满足

1、while循环

         

while循环是C语言中最基本的循环结构,循环开始前检查条件,只要条件为真就重复执行循环体。

案例(在屏幕上打印1-10):

2、for循环

 

for循环是最常用的循环结构,它将循环变量的初始化、条件检查和更新集中在一行代码中。

案例(在屏幕上打印1-100):

3、do while循环

                

do while循环与while循环类似,但它的条件检查在循环体之后,这意味着循环体至少会执行一次

案例:

4、continue和break语句

break

作用: 立即终止当前循环,跳出循环体

continue

作用: 跳过当前循环的剩余代码,立即开始下一次循环

小结:

扩展:goto语句

 goto 语句可以实现在同一个函数内跳转到设置好的标号处。

案例(判断两个数的合法性,实现循环效果,达成正确的输入):

建议:goto 语句如果使用不当,打乱程序的执行流程,所以我们的建议是不适用尽量不去使用;

但是 goto 语句也不是一无是处,在多层循环的代码中,想快速跳出,使用goto 就非常的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值