【C语言】详解分支语句和循环语句

本文介绍了C语言中的基本语句类型,包括语句描述、if和switch分支语句的使用,以及while、for和do-while循环语句的语法结构。此外,还详细讲解了break和continue在循环控制中的区别,以及goto语句的功能和与break的区别。文章旨在帮助初学者更好地理解和掌握C语言的控制流程。
摘要由CSDN通过智能技术生成

 瞳绣的博客

        每天进步一点点,希望的火苗不熄灭。


目录

 一、语句的描述​

 二、分支语句(if和switch)​

 三、循环语句(while、for和do while)​

 四、break和continue的区别

 五、goto语句

 六、goto和break的区别​


前言:边学习边整理,希望所写的内容能够帮助大家更好的学习,在遇到书写或者知识错误的地方也麻烦大家能够评论指出,谢谢大家!

一、语句的描述

在C语言中用分号(;)隔开的就是一条语句。

eg:在下方45至50每一行都代表一条语句

 二、分支语句(if和switch)

人生处处都面临着选择。例如在一个岔路口处有三条路,我们选择了其中一条那势必会错过其余两处的风景。

(1)if语句

1.单分支语法结构:

//形式一
if(表达式)
    语句;

//形式二
if(表达式)
    语句1;
else
    语句2;

2.多分支语法结构:

if(表达式1)
    语句1;
else if(表达式2)
    语句2;
else
    语句3;

 3.if语句的使用:

  • 如果if括号中的表达式为真(在C语言中:0为假,非0表真)则执行语句;
  • 如果if括号中的表达式为假则执行else中的语句(若没有else则不执行);
  • if和else中的语句表达式只能执行一个语句(用分号(;)隔开的),若要执行多条语句则要将此语句用大括号{ }括起来使用,如下所示:
 if(表达式)
 {
     语句列表1;
 }
 else
 {
     语句列表2;
 }

4.代码风格:

 养成良好的代码风格可以使我们写的代码更具逻辑,使别的程序员更好的理解我们我们写的代码

eg:如下所示代码风格比较:

  •  代码1比代码2的代码风格要好,更加具有逻辑性。

 

  •  代码4比代码3的代码风格要好,因为==为比较操作符,我们很容易将其写成=赋值操作符,影响我们代码的正常功能,将常数5写在左边那么我们将==写作=时,编译器便会报错(常数不可被赋值)。

(2)switch语句

1.switch语法结构

switch(整形表达式)
{
 case 1:
        语句;
        break;
 case 2:
        语句;
        break;
 case 3:
        语句:
        break;
 default:
        语句;
        break;
}
  • 当整形表达式的值为1时将执行case 1:后方的语句;
  • 当整形表达式的值为2时将执行case 2:后方的语句;
  • ...以次类推;
  • 上述case情况是为了大家方便理解所做出的示例,真实情况case语句不止可以写3条,也可以写case 0:;
  • default是当上述case情况都不满足时,那么将执行default后面的语句;
  • break表在执行完对应的case或者default语句后,跳出整个switch语句;

2.switch的特殊情况 

       此代码的执行过程如下:当day为1时进入switch语句,执行case 1:,但case 1:后面没有要执行的内容也没有break,那么将继续执行case 2:(同case 1:)...一直执行至case 5: printf输出weekday,后遇到break,跳出整个switch语句,此代码执行结束。

 三、循环语句(while、for和do while)

 量变的积累才会有质的飞跃,我们只有一天一天不断地循环积累,直到有一天到达了质的飞跃后才会跳出这个循环。

(1)while语句

1.语法结构

while(表达式)
{
    循环语句;
}
  • 我们首先判断表达式是否为真,当表达式为真时则执行循环语句,为假时则跳出while循环;
  • 当我们不知道循环的具体次数时,适合运用while语句;

(2)for语句

1.语法结构

for(表达式1;表达式2;表达式3)
{
    循环语句;
}
  •  表达式1初始化部分,用于初始化循环变量的;
  • 表达式2条件判断部分,用于判断循环什么时候终止(知道具体的循环次数);
  • 表达式3调整部分,用于循环条件的调整。

2.执行示例

  • 1.我们首先初始化i为0;
  • 2.然后判断i是否小于10,如果小于10,则执行for语句里面的printf语句:打印hehe;
  • 3.然后i++(i=i+1);
  • 4.然后继续执行2...
  • 5.直至i大于10则跳出for循环

(3)do while语句

1.语法结构

do
{
    循环语句;
}while(表达式);

 我们首先进入do while循环执行循环内的循环语句,然后判断while表达式的条件,如果条件满足我们继续执行循环语句,直至表达式为假。由此我们可以看出,do while肯定至少执行一次循环语句,常常用作游戏里面(首先会出现一个游戏菜单选择界面,然后循环玩游戏,直至退出游戏)。

  四、break和continue的区别

break和continue都是用于跳出循环的,break是用于跳出整个内部循环的,而continue是用于跳出本次内部循环的。

eg:break和continue示例如下:

 

 五、goto语句

 goto语句也称为无条件转移语句。其一般格式如:

goto 语句标号;

其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,其一般格式如:

语句标号:

语句标号起标识语句的作用,与 goto 语句配合使用。

 六、goto和break的区别

 goto和break语句都是用来跳出整个循环的,但break只能跳出一个循环,若是多层循环的话则只能跳出最内层的循环,而goto语句则可以调至语句标号处,可以是程序的任意地方。

 eg:下面给出一个示例帮助大家更好的理解break和goto语句:

 首先编写了两个for的循环双层嵌套语句,在97行使用goto的话则会跳至101行处;但如果将97行的goto换成break的话,那它则会跳出(图中用红箭头2标识的for语句)至100行处,然后继续(回到91行处的用红箭头1标识的for循环语句)代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

瞳绣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值