【C语言】分支语句与循环语句

目录

        1.if ,else if 分支条件语句以及其嵌套结构

        2.switch 分支选择语句

        3.for,while 和 do while 循环语句

        4.break 和 continue 控制语句的使用


        1.if ,else if 分支条件语句以及其嵌套结构:

if语句即为条件判断语句,其语法形式如下:

                                        if(判断语句)

                                                 {

                                                        语句

                                                 }     

C语⾔中,0为假,⾮0表⽰真。也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不是0,则语句执⾏。

例如:输入一个整数,判断是否为奇数

# include <stdio.h>
int main ()
{
        int num = 0 ;
        scanf ( "%d" , &num);
        if (num % 2 == 1 )
        printf ( "%d 是奇数 \n" , num);
        return 0 ;
}
在这个例子中,如果num % 2 ==1这个表达式是正确的即为真,那么就会执行下面的操作语句。

else if:

if (num % 2 == 1 )
        printf ( "%d 是奇数 \n" , num);
else if(num % 2 ==0)
        printf(" %d是偶数\n",num);
else
        printf("请正确输入数字!");
在上面这些代码中else if即为 另外一个分支结构,若满足该分支的条件判断语句,则程序将进入该分支而不进入其他分支,这就是else if的作用。而else语句则为这两种分支都不满足的情况下执行的语句。if语句可以没有else语句配对。而如果含有else或else if语句, 编译器默认会与最近的if语句进行配对。
if语句的嵌套:
if (num> 0 )
{
        if (num% 2 == 0 )
                printf ( " 偶数 \n" );
        else
                printf ( " 奇数 \n" );
}
else
{
        printf ( " ⾮正数 \n" );
}
return 0 ;
上述代码就是一种if的嵌套结构,理解起来不难,但在编程时一定要注意 区分好每一个分支的对应关系! 如果有多个 if else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配 ,尽量让配对的if和else在格式上一致,方便自己和别人阅读。

        2. switch 分支选择语句:

switch语句是一种分支选择语句,其基本形式如下:
# include <stdio.h>
int main()
{        
    switch (expression)
        {
          case value1: statement
          case value2: statement
          default : statement
        }
 }
其执行方法为:根据表达式 expression 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,
就执⾏ default 分⽀。
<注意>
switch 后的 expression 可以 Byte,short,char,int 类型,但 不能是字符型float,double
case 后的值, 必须是整形常量表达式
 case 和后边的数字之间必须有空格!
•  每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句!
ps.
1. 【若没有break语句】 在跳转到对应case语句后, 程序将继续执行完其后的所有语句
2.无论是case 2,case n,亦或是default语句,在执行到break语句之前, 将一直执行下去
3.所以在每一个case语句后加上break才能起到switch语句真正的分支作用(当然,有时根据情况不同可自行取舍)。
4.另外,default和case语句在switch语句中的位置没有要求,放在任意位置均可。

        3.for,while 和 do while 循环语句:

for循环语句同时具备循环以及条件判断功能,相较while和do while循环更方便,其基本形式如下:

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

{

        操作语句

}

其中:

1.表达式1是给变量赋初值,可以在表达式1中直接定义并赋值,例如:for(int i=1;i<10;i++)

2.表达式2是for循环的终止条件,用以控制for循环的结束

3.表达式3是变化语句,用以定义变量的变化形式

执行流程:

1.⾸先执⾏表达式 1 初始化循环变量
2.接下来就是执⾏表达式 2的判断部分,若变量不符合判断语句要求,则循环终止
3.每执行一次会执行表达式3,对变量做出改变
   ps.表达式不一定要按形式写,也可以写在执行语句中,但最好严格按格式写,使代码易读
练习.在屏幕上打印输出1~10:
代码如下:
# include <stdio.h>
int main ()
{
  int i = 0 ;
  for (i= 1 ; i<= 10 ; i++)
  {
        printf ( "%d " , i);
  }
  return 0 ;
  }
看完for循环,再来看while循环.
while以及do while循环的基本形式如下:
while(条件判断语句)
{
       操作语句
}
do
{
        操作语句
}
while(条件判断语句)
其中:
1.若条件判断语句一直成立,则将会反复执行操作语句
2.do while和while循环语句的区别:
      * do while循环会直接执行一次操作语句,再进行条件判断
      * while循环是先进行条件判断再执行操作语句
综上: do while循环有可能会在不满足条件的情况下仍执行一次操作语句
ps. 一般情况下while循环语句中条件判断语句会比操作语句多执行一次

4.break 和 continue 控制语句的使用:

break和continue控制语句是用于循环结构中的语句:

break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
continue 的作⽤是跳过本次循环中 continue 后边的代码,在 for 循环和 while 循环中有
所差异的
break举例:
       # include <stdio.h>
        int main ()
        {
        int i = 1 ;
        while (i<= 10 )
        {
                if (i == 5 )
                  break ; // i 等于 5 后,就执⾏ break ,循环就终⽌了
                printf ( "%d " , i);
                i = i+ 1 ;
        }
        return 0 ;
        }
在这个例子中,当i的值为5时,就会进入if分支语句中,进而执行break语句,在执行完break语句后,程序将直接跳出循环不再执行循环,因此该程序打印输出的结果为1 2 3 4
continue举例:
  # include <stdio.h>
        int main ()
        {
        int i = 1 ;
        while (i<= 10 )
        {
                if (i == 5 )
                  continue ;
                printf ( "%d " , i);
                i = i+ 1 ;
        }
        return 0 ;
        }
在这个例子中,只是将break换成了continue,当 i==5 时,执行 if 语句中的continue语句,程序将会 直接进入下一次循环,不执行continue往后的任意一个语句。此时 i 的值为5,又因为没有新的赋值,导致每次进入循环都会进入if语句中,而if语句又会让你重新执行循环,因此该程序永远无法结束,进入了一个死循环。
以上就是本篇文章的所有内容,希望对您有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值