简述c语言的分支和循环

相信大家对c语言中的分支和循环有着或多或少的了解,那么接下来,让我们就这个问题展开探讨和深一步的了解

 一、分支语句:

1、if    2、switch

二、循环语句

1、while   2、for    3、do while



一、分支语句

1、if语句

 

if语句有以下三种结构

if(表达式)                                              if (表达式)                                if(表达式)

语句                                                          语句1;                                         语句1; 

                                                                  else                                                else if(表达式)

                                                                  语句2;                                         语句2;

注:在上述if语句中,如果要执行语句比较长,这些语句可以用一个大括号括起来,否则编译器只会执行紧挨着的一个语句从而导致出现错误!!!

例1:

 

 

 2、switch语句

通过学习我们不难发现在情况较多的时候,使用if语句一连串(if.....else if.........else........)难免会显得冗杂一些,此时如果使用switch语句就能大大的简化问题。

结构:

switch(整形变量表达式)

case表达式1:

语句1;

break;

case表达式2:

语句2;

break;

.....................

default表达式3:

语句n;

break;

注:break语句在分支语句中起着举足轻重的作用,如果没有它则会继续执行后面的语句,因此每个case后面必须有break语句。default语句可用于特殊情况或未知情况,可有亦可无。default语句人们习惯性都放在最后一个语句中,如果没有case语句与输入的整形相匹配时,则会执行default语句。在大多数情况default语句可根据自身喜好放在任意位置,不影响代码的运行

 

 由上面这个代码可知当多个case对应的结果都是一样的时候,我们可以对应结果相同的case最后加上需要执行的语句即可。

无论是if语句还是switch语句,当符合运行条件时只会执行一次,而现实中的许多情况我们可能需要逐个筛查或者多次执行,此时我们就需要用到循环语句。

二、循环语句

1、while   2、for    3、do while

1、whlie语句

结构:

while(条件)

{循环语句;

}

在c语言的逻辑中只有真或者假,用0来表示假,用非0来表示真,当while循环中条件判断为真时则会进入循环,若为假则会跳出循环,结束进程。

在循环体中我们常通过一些调整例如++来改变变量来控制输出结果或循环次数

//代码
#include <stdio.h>
int main()
{
while(1)
printf("hehe\n");
return 0;
}

例: #include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}

在循环语句中,条件的执行次数总是比循环体的执行次数多一次。因为当逻辑为假是仅仅进行了条件的判断而没有进行循环

2、for语句

for循环的流程图解:

 结构:

变量的初始化;

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

      初始化   条件    调整

{

语句;

}

整个循环过程中表达式1只会执行一次,是表达式2和表达式3在不断重复

上述仅仅为一般情况,可根据实际情况改变这几个要素的位置,甚至无一要素在for后的括号中例:for(  ;  ;  ;),for循环后执行的语句必须用大括号括起来否则无法进行循环

代码1:

 for循环相较于while循环判断、调整和初始化相对比较集中,有利于代码的维护,从形式上在有较多情况时要更优

3、do while 循环

循环流程:

              

在实际操作中dowhile循环用的要比for和while要少很多

while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;
⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

 

do

{

执行语句;

}

while(表达式)

例代码1:

 ⼀般 do while 使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些

3、Continue语句和Break语句

当遇到某种特殊情况我们需要提前终止循环,这是非常常见的情况;为此我们有break和continue两个关键词,可用于退出循环或者跳过本次循环从下一次循环开始

1、break语句:永久停止循环,只要遇到break这个关键词,就会立即退出循环,并继续往后执行

2、continue语句:跳过本次循环,当编译器遇到continue这个关键词时,就会自动跳过本次循环,执行下一个循环

例1:

 例2:

 (上述continue使得循环中printf函数打印的次数少了一次)

据此我们可以分析出来continue语句帮助我们跳过了一次循环后的代码,直接来到下一次循环的判断部分,如果我们写的代码中循环的调整部分在continue语句后面的话可能会造成死循环。

4、循环的嵌套

在许多较为复杂的情况,运用一个循环语句往往难以达到预期的效果,这是我们就可以通过循环的嵌套来实现

例题:打印出100~200之间的所有素数

 

 

5、goto语句

在c语言中有一个特殊的语句叫做goto语句,可以使代码跳转到先前的某个步骤,从而实现在同一个函数内跳转到设置好的标号处

#include <stdio.h>
int main()
{
printf("hehe\n");
goto next:
printf("haha\n");
next:
printf("跳过了haha的打印\n");
return 0;
}
goto ?语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建
议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出
使⽤ goto 就⾮常的⽅便了。

for(...)
{
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}

}
error:

一个break语句只能跳出一个循环,而goto可以直接跳出所有循环,此时使用goto就会非常便利。

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值