一.关于C语言分支与循环

 前言:学好C语言前提是熟悉语法,其次是对代码逻辑的掌控,这里我简单总结一下分支与循环。

1. if语句

  1.1if

    if语句语法如下

    1   if(表达式)      →表达式一般是等式或不等式,例如:a==b,a<b

    2    {语句}            →当表达式为真(成立)时,语句执行,为假(不成立)时,语句不执行

1.2 else

通常情况下我们需要用到if...else语句,其语法如下:

1   if(表达式)

2        语句1

3   else                     →这里不需要表达式

4        语句2

 解释:如果语句1为假,那么执行语句2;如果语句1为真,那么直接执行语句1,不执行语句2

1.3 分支如何包含多条语句?

    ifelse语句默认都只控制一条语句

  那么该如何控制多条语句?

   我们只需要用   {  }    将if,else后所有语句括起来,例如:

1.4  多重判断(if嵌套)

  在 if...else 语句中 ,else可以与另一个if语句连用,构成多重判断。例如:灰色部分嵌套在108if

 利用嵌套可以完成多重if语句,在这里不做过多解释

1.5   if...else就近原则(else悬空)

 如果多重嵌套中有多个if else 组合,我们应注意,else总是与最近的if相组合,例如:

在下面代码中

126行else  其实是与 124行if 结合,并不是与 123行if 结合

注意:并不是编译器自动对齐就代表与谁相结合

2.  关系操作符

关系操作符主要有下面六个:

<    小于

>    大于

<=   小于等于

>=   大于等于

==   等于

!=    不等于

关系表达式通常返回0或1(假或真)常用于if或while

这里着重说明:

  == 和 不是一个东西

==是等于的意思,而=是赋值的意思

同样强调

多个关系运算符不宜连用,例如:

i<y<x           →这是错误的写法

正确写法: i<y && y<x

              &&的意思是"并且"的意思

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

语法逻辑:

  exp 1 exp 2  :exp 3

  对于这三个表达式:如果exp 1为真   exp 2计算,如果exp 1为假  exp 3计算

  我们不妨与if语句对比一下清楚逻辑 

这两个是相同逻辑,具体如何使用不再赘述

4.逻辑操作符

  主要有以下三个操作符:

!     :  相当于“反”(逻辑取反运算符).

&& :  相当于“并且”(与运算符).     

||    :  相当于“或者”(或运算符).

对于这三个,我依次举例子搞清其逻辑:

!  :

  =  是等于,  =!  是不等于

flag(目标)为真,   !flag 为假

&& :

   

   对于上面如果  i<y  或  y<x  只要有一个不成立,那么这条语句就为假.

|| 

    i<y  ||  y<x

对于上式,如果 i<y  或   y<x  只要有一个成立,那么该条语句就为真.  (可与 && 对比)

特别注意 :

对于

i<y && y<x 和  i<y ||  y<x   来说

只要  i<y  为假,那么 y<x 就不再执行,这称之为短路

5.switch语句

   5.1 if与switch对比

switch 与 if 有着类似功能,但语法不一样,与  if...else  类似

在此,我把  switch  和  if  进行对比,突出  switch 的语法

  强调:case 后的数字前要有空格

以上两个代码运行结果一样 

与  if  语句不同的是

    switch 语句中每个 case 语句执行完成后需要加上  break  进行跳出语句

否则代码会继续往下执行. 

     特别注意:switch 后必须是整型,case 后的值也必须是整型

5.2  swicth 中的 default

如果 case所有语句 都不符合,我们要么就不处理,要么就用 default

我还用上面例子说明:

 如果余数既不是0,又不是1和2,或者我们输入的数字不符合要求,那么我们可以用default

来进行解释或作为结尾.

对此需额外注意:对于 default和case 的先后顺序没有要求,也就是说只要符合实际需求,就可以运行.

6. while循环

这里同样拿  if  和  while  进行对比

while 进行表达式1为真,打印“hehe”,打印后进行循环,再次进入while(1),到为假时停止循环

if  进行表达式1为真,打印“hehe”,打印后结束语句.

7. for循环

for循环是三大循环中使用最多的循环

语法为:

for(表达式1;表达式2;表达式3)    → 初学者要注意表达式之间用“  ;  ”隔开,不是“ , ”

表达式1  循环变量初始化

表达式2  循环结束判断

表达式3  循环变量调整

我用一段代码来清楚逻辑

对于以上代码监视流程:

   i=1:  for给予i值为1

   i<=10:  判断i是否小于10(是否真)

        如果小于(真),那么执行 printf,并随后执行 i++,接着循环

        如果大于(假),那么跳出  for 循环,循环结束

   所以最后代码打印“ 1,2,3,4,5,6,7,8,9 ,10”

8.do while 循环

此循环语句使用较少,我简单说明其语法:

1  do

2           语句;

3while(表达式)

这种循环与while 和 for 循环不太一样

   对于while  和 for 循环   它们先判断条件真假,再选择是否进入循环

do  while  是先进入循环,在判断是否为真,如果为真,进入下一个循环;如果为假,则结束循环.

9.break和continue

在上面三大循环中  

break的作用一致:永久的终止循环

而对于continue,我们把 while 和 for 循环做对比,如下:

continue 可以帮助我们跳过某次循环 continue 后的代码,直接来到循环判断(调整)部分

 在图中,我用红色箭头表示while和for循环执行 continue 后会到哪.

10.goto语句

 这是一个值得注意的语句,虽然我们使用不多,但我们要谨慎使用它,使用不当会打乱代码进程.

我用一个例子解释它的语法:

利用 goto 语句,我们可以实现本来要打印“hehe”和“haha” ,但是我在打印“hehe”后直接跳到打印“hello”处,实现跳跃.

11.总结

  分支与循环C语言中重要的一部分,如果想利用好他们,我们不仅需要熟练运用它们的语法,还要把他们结合起来(循环嵌套多在实战中运用,才能实现它们的价值。

(本人是新手,如有错误,欢迎指出)                                            创作时间:2023/11/17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值