前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言中的分支与循环

C语言中的分支与循环

作者头像
用户11070251
发布2024-04-11 14:31:22
630
发布2024-04-11 14:31:22
举报
文章被收录于专栏:PomathPomath

1.if

结构:if(表达式) 语句 含义:表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。 例子:判断一个人是否为花甲之年

由此可加当需要执行的语句为两句或两句以上时需要{},反之则不需要。 嵌套的if: if else 语句中,else可以与另外一个if语句连用,构成多重判断。 例子:输入一个大于10的数,判断是2,3,5哪一个的倍数

行的else后面的语句到 行的前面,就是嵌套在else语句中的,构成了嵌套的if语句。 悬空else问题 如果有多个if和else,有这样一条规则,else总是跟最近的if匹配。

很多萌新在学到这里的时候,都会认为,a=0,但a不等于1,于是就会去执行else后面的语句,输出干gan。 但事实上什么都不会输出。

因为这就是悬空else问题,如果出现了多个if和else,就会有这样一条规则,else总是跟最近的if匹配。这也就是为什么上述代码最终什么都不输出的原因。 事实上,换一种写法就能更直观地理解了为什么会出现这种情况的原因了。

如下:

由此可见,只要加上了{},代码的逻辑更加清晰,会让代码的可读性更高。

2.switch

除了if语句外,switch语句来实现分支结构。而本质上是一种特殊形式的if...else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用,可读性更好的形式。

结构:

switch(expreesion)

{

case value1:statement;

case value2:statement;

default: statement;

}

注意:switch后的expression必须是整型表达式,case后面的值,必须是整型常量表达式 和if语句的对比:例子:输入一个数,计算除3过后的余数

如果用if语句写的话,如下:

如果用switch-case语句写的话,如下:

在上述的代码中,需要注意的点有:

一、case 和后面的数字之间必须有空格

二、每个case语句执行完成后,需要加上一个break,才能跳出这个switch语句

在上面的代码中,如果去掉了break,会出现什么情况呢?

我们发现,3是可以被3整除的吗,但却多打印了两行。因为switch语句也是有分支效果的,只有在语句中使用了break,才可以跳出switch语句,如果某一个case语句的后面没有break语句,代码将继续执行下去,有可能执行其他语句中的代码,直到遇到了break或者switch语句结束,所以上述代码中,还执行了case 1和case 2。

所以,switch语句中break语句是非常重要的,能实现真正分支的效果。

当然,break语句也不是每个switch语句中是必须要有的,这就要根据实际情况考虑了。

switch语句中的default:

在使用switch语句中也会遇到一种情况,switch后的表达式中的值无法匹配代码中的case语句,这时要不不做处理,要不就在switch语句中加入default语句。

结构:

switch(expression)

{

case value1:statement;

case value2:statement;

default:statement;

}

switch语句后边的expression结果不是value1,也不是value2的时候,就会执行default语句。而switch语句中case语句和default语句是没有顺序要求的,只要满足实际需求即可。只是default语句通常放到最后处理的。

3.while

结构

while(表达式)

语句;

4.for

结构:

for(表达式1;表达式2;表达式3)

语句;

表达式1:用于循环变量的初始化

表达式2:用于循环结束条件的判断

表达式3:用于循环变量的调整

例子:在屏幕上输出1到5

和while的对比:两者在循环过程中都有初始化,判断,调整这三部分,但是for循环的三个部分都非常集中,便于代码的维护,而如果代码较多的时候while循环的三个部分就很分散,所以从形式上for循环更优。

5.do while

结构:

do

语句;

while(表达式);

do while循环是先进入循环体,执行循环语句,然后执行while后的判断表达式,表达式结果为真,就会执行下一次,表达式为假,则不在继续循环。

例子:在屏幕上输出1到5

6.break 和 continue

在循环执行的过程中,遇到了某种情况时,需要提前终止循环,这是很常见的情况,在C语言中提供了break和continue两个关键字,就是应用在该循环中的。

break的作用是永久终止循环,只要break被执行,直接就会跳出循环,继续往后执行。

continue的作用是跳过本次循环continue后面的代码,在for循环和while循环中有所差异。

while循环中的break和continue:

break举例:

打印了1 2 3 4后,当a等于5时,循环在break的位置停止执行,不再打印,不再循环。

所以,break的作用是终止循环,只要break被执行,break外层的第一层循环也就终止了。

continue举例:

continue的作用就是跳出本次循环中continue后面的代码,继续进行下次循环的判断。

将上面的代码中的break换成continue,会发生什么事呢,让我们来看一下。

for循环中的break和continue:

break举例:

和while循环一样,for循环中的break也是用于终止循环的,不管循环还要执行多少次,只要执行了break语句,循环将彻底终止,将不再执行。

举例:

所以在for循环中continue的作用跳出本次循环中continue后的代码,直到循环的调整部分。未来当某个条件发生的时候,就可以使用continue来实现。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.switch
  • 3.while
  • 5.do while
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com