C初阶——分支与循环

目录

分支语句

一.if语句

二.switch语句

循环语句

一.while循环

二.do...while循环

三.for循环

四.循环中的break语句、continue语句和goto语句

break语句在循环中的作用

continue语句在循环中的作用

goto语句


分支语句

什么是的分支语句?   分支语句也叫选择语句。

举个例子

一.if语句

if语句在C语言中有三种形式。

 解释一下

在()中的表达式成立时,执行 { } 中的语句。

还有要注意的就是,表达式的写法规范,比如应该写成age >= 18 && age < 30 ,这里千万要注意,不能写成了18 <= age < 30 

if语句的执行过程一般分为三步

  1. 先执行()内表达式,得到真假结果
  2. 对结果进行条件判定
  3. 执行分支功能

注意:在C语言中0为假,非0为真。

 在()中的表达式成立时,如果只执行一条语句可以不加 { } ,若要执行多条语句,则要使用 { }。

 在使用if语句时,我们可以适当的使用 { } 这样可以使我们代码的逻辑更清晰。

 在这里需注意else总是与它离的最近的if结合。

二.switch语句

switch语句也是一种分支语句。

常用于多分支的情况。

比如

输入1,输出星期一

输入2,输出星期二

输入3,输出星期三

输入4,输出星期四

输入5,输出星期五

输入6,输出星期六

输入7,输出星期日

这样的语句如果写成if...else的形式就太复杂了,所以我们就有了不同的语法形式。

注意在switch语句中,我们没法直接实现分支,需要搭配break使用,才能实现真正的分支!

这里break语句的实际效果是把语句列表划分为不同的分支部分。

如果不加break,程序则会将每一个case全都判断一遍;加上break,则如果某一个case语句判断成功被执行,就会直接跳出整个switch语句。

【编程好习惯】:不管如何,在最后一个case语句后面加上一条break语句 

default语句:

写在任何一个case标签可以出现的位置,当switch表达式的值并不匹配所有case标签时,这个default子句后面的语句就会执行,所以每个switch语句中只能出现一条default语句

【编程好习惯】:在每一个switch语句中都放一条default子句是个好习惯,甚至还可以在后面加上break 

循环语句

在生活中我们会发现总有一些事情我们重复很多遍,反复的去做。

那么在编程的过程中发现一段程序需要多次的去执行,我们应该怎么做。

所以在C语言中我们引入了循环语句

  • while
  • do...while
  • for

一.while循环

while执行流程:

比如我们想在屏幕上打印1-10的数字

while循环先进行条件判断(即 ( ) 内表达式结果为真),条件成立时,执行循环体,循环体执行完毕后,再次进行条件判断,直到条件不满足,退出循环。

二.do...while循环

do...while循环的特点是先执行循环体再进行条件判断,所以循环体至少会被执行一次。

注意:在do..while循环中()后的分号;不能省略!! 

三.for循环

表达式1为初始化部分,用于初始化循环变量

表达式2为条件判断部分,用于判断是否终止循环

表达式3为调整部分,用于循环条件的调整

一些for循环的变种及说明

1) 表达式1作用于循环之前进行循坏初始化, 特别是对循环控制变量赋初值。表达式1可以省略,当省略表达式1时,应在循环语句前,给相关变量赋初值。例如:

int i=1;
for(;i<100;i++)
    sum+=1;

2)表达式2作用于表明循环的条件,即在什么条件下执行循环体。表达式2也可以省略,但省略表达式2时,应在循环体中,用if语句设置退出循环的条件,否则会陷入死循环。例如:

for(i=1;;i++)
{
    if(i>100)
       break;
    sum+=1;

}

3)表达式3作用于在执行循环体一次之后的某些处理, 如对循环控制变量进行增量计算。表达式3也可以省略,当省略表达式3时,需在循环体中进行增量计算,否则会陷入死循环。例如:

for(i=1;i<=100;)
{
    sum+=1;
    i++;
}

4)无论省略哪个表达式,被省略的表达式后面的分号都不能省略,所以在for语句的括号内有且只有两个分号。

5) for后面的语句是循环体,如果是由多条语句组成。一定要用花括号 “{)” 括起

6)省略循环体(即循环体为空语句),此时需要循环的处理往往在表达式3中完例如:

for(i=1;i<=100;sum+=1,i++);

建议 不可在for循环体内修改循环变量,防止for循环失去控制

四.循环中的break语句、continue语句和goto语句

break语句在循环中的作用

举个例子

 这段代码的输出结果是什么呢?

结果为1 2 3 4

所以 break语句在循环中的作用:break是永久终止循环;

continue语句在循环中的作用

也举个例子

  这段代码的输出结果又是什么呢?

结果是1 2 3 4 6 7 8 9 10

所以 continue语句在循环中的作用:continue是用于终止本次循环的,也就是说本次循环中continue后面的代码不会执行,而是直接跳转到while语句的判断部分 

说明:在do...while和while中continue是转跳到判断部分再次进行条件判断,而在for循环中使用continue则是转跳到循环变量的调整部分。

goto语句

C语言中提供了可以随意使用的goto语句和标记转跳的标号

在实践中没有goto语句也可以很容易写出代码,但在某些情况下goto语句还是用的着的。

最常见的就是终止程序某些深度嵌套的结构的处理过程。

比如:一次跳出两层或多层循环。

for(......){
     for(......){
          for(......){
              if(....)
                goto end;
         }
     }
}
end:
...

这种多层循环的情况使用break是达不到目的的,它只能跳到上一层循环。

结束语

C初阶——分支与循环的部分就到此就结束咯,当中的代码大家都可以敲一敲感受一下哦。感觉有所收获的铁汁们给笔者来个三连吧,感谢喔。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theonly_Love

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值