C语言分支与循环

1.if语句

1.1if

if ( 表达式 )

语句
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行
C语言分支与循环_第1张图片

1.2else

if ( 表达式 )
      语句1 // 如果想包含更多的语句,可以加上⼤括号
else
      语句2 // 如果想包含更多的语句,可以加上⼤括号

1.3嵌套if

在if else语句中if可与else连用,构成多种判断
#include 
int main()
{
    int num = 0;
    scanf("%d", &num);
    if(num == 0)
       printf("输⼊的数字是0\n");
    else if(num > 0) //这⾥的if 相当于嵌套在else语句中,形成了嵌套结构
       printf("输⼊的数字是正数\n");
    else
       printf("输⼊的数字是负数\n");
 
 return 0;
}

上面代码多重判断的例子

注:如果有多个if和else,else与最近的if匹配!!!

2.switch语句

除了 if 语句外,C语言还提供了 switch 语句来实现分支结构。
switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重
else if 改成更易用、可读性更好的形式。
switch (整形表达式) {
    case  整形常量表达式1
              语句1;
              break;
    case  整形常量表达式2: 
              语句2;
              break;
              ……
   default
              语句3;
              break;
}
注: 1.case和后边的整型常量表达式之间有空格。
       2.每⼀个 case 语句中的代码执行完成后,需要加上 break ,才能跳出这个switch语句。若去掉break,代码会继续向下执行,有可能执行其他case里面代码,直到遇到break或switch语句才结束。
       3.若switch后面整形表达式结果不是所有case后面表达式时,会执行default语句。

3.while循环

C语言提供了3种循环语句, while 就是其中⼀种,接下来就介绍⼀下 while 语句。
while ( 表达式 )
     语句 ; // 如果循环体想包含更多的语句,可以加上⼤括号
C语言分支与循环_第2张图片
⾸先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语
句,语句执行完后再继续判断,是否进行下一次判断。
参考代码:
#include 
int main()
{
   int i = 1;
   while(i<=10)
   {
      printf("%d ", i);
      i = i+1;
   }
   return 0;
}

运行结果:

4.for循环

for ( 表达式 1 ; 表达式 2 ; 表达式 3 )
表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整
C语言分支与循环_第3张图片
首先执行表达式 1 初始化循环变量,接下来就是执行表达式 2 的判断部分,表达式 2 的结果如果
==0,则循环结束; 表达式 2 的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表达式 3 ,调整循环变量,然后再去 表达式 2 的地方执行判断, 表达式 2 的结果是否为0,决定循环是否继续。 整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。
参考代码:
 #include 

 int main()
 {
      int i = 0;
      for(i=1; i<=10; i++)
      {
          printf("%d ", i);
      }
 
      return 0;
 }

运行结果:

C语言分支与循环_第4张图片

5.do-while循环

do
语句;
while ( 表达式 )
while for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳
出循环; 而 do while 循环则是先直接进入循环体,执循环语句,然后再执行while后的判断表达式,表达式为真,就会进行下⼀次,表达式为假,则不再继续循环。
C语言分支与循环_第5张图片
do while 循环中先执行图上的“语句”,执行完语句,在去执行“判断表达式”,判断表达式的
结果是!=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。

所以在 do while 语句中循环体是至少执行⼀次的,这是 do while 循环比较特殊的地方。

参考代码:

#include 

int main()
{
   int i = 1;
   do
   {
      printf("%d ", i);
      i = i + 1;
   }while(i<=10);
 
   return 0;
}

运行结果:

C语言分支与循环_第6张图片

6.break和continue

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中 提供了 break continue 两个关键字,就是应用到循环中的。
break 的作用是用于永久的终止循环,只要 break 被执,直接就会跳出循环,继续往后执行。
continue 的作用是跳过 本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。
                                        只是本次,不是永久!!!

7.goto语句

C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数
内跳转到设置好的标号处。
for (...)
{
        for (...)
        {
                for (...)
                {
                        if (disaster)
                             goto error;
                }
        }

}

error:……

有什么问题,各位大佬麻烦在评论区说一下

你可能感兴趣的:(c语言,算法,数据结构)