C语言分支循环语句总结

2024-04-30 20:57:40 浏览数 (2)

C语言中

有表达式语句 函数调用语句 控制语句 复合语句 空语句

分支语句和循环语句是控制语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成

(条件判断语句)分支语句:if 和 switch

(循环执行语句)循环语句:while 、for 、 do while、

(转向语句)特殊语句:go to 、break 、continue 、 return

分支语句

一、if

1.如要使用if条件符合事实就ok 例如

#include<stdio.h> int main() {     int age = 10;     if (age >= 18)     {         printf("成年");     }     return 0; }

2.if与else配合 else就是除了if的条件不符合就触发另一个情况

#include<stdio.h> int main() {     int age = 10;     if (age >= 18)     {         printf("成年");     }     else     {         printf("不成年");     }     return 0; }

 3.if与else if配合 就是如果不符合if后条件的另一个条件执行(esle if就可以用来多分支实现)

int main() {     int age = 10;     if (age >= 18)     {         printf("成年");     }     else if(age < 0)     {         printf("输入错误");     }     else     {         printf("未成年");     }     return 0; }

二、switch

 1.switch一般和case、default、break配合使用

switch提供条件 case集合条件 default是除了case以外其它条件 break是跳出选择语句

        首先解释为什么要跳出选择:switch选择中,case相当于是这个函数的入口,进去后会不断的向下执行函数直到全部入口以下的一起运行,但是break会打断运行,一般情况下case和break是绑定运行的。

正常使用例子

#include <stdio.h> int main() {     int day = 0;     switch (day)     {         case 1:             printf("星期一n");             break;         case 2:             printf("星期二n");             break;         case 3:             printf("星期三n");             break;         case 4:             printf("星期四n");             break;         case 5:             printf("星期五n");             break;         case 6:             printf("星期六n");             break;         case 7:             printf("星期天n");             break;     }     return 0; }

2.配合defual使用

#include <stdio.h> int main() {     int day = 0;     switch (day)     {         case 1:             printf("星期一n");             break;        default:             printf("非星期一n");             break;     }     return 0; } 

循环语句

一、while循环

1.while(真/假)或者 (判断语句)

如果是真while就循环 假while就停止循环 假是0 真是非假的数 

例如 循环打印1-10 (用的判断语句)

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

2.while配合break和continue

       如果是break就是打断循环并且跳出循环continue就是当执行到contine时从它所在的地方打断循环直接跳到下一次循环语句。

 例如 i等5就打断

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

和 i等5就跳过本次循环

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

二、for

1. 使用模板for(配置初始化;判定循环条件;调整循环语句)下一行加上循环语句

比如打印1-10

#include <stdio.h> int main() {     int i = 0;     //for(i=1/*初始化*/; i<=10/*判断部分*/; i /*调整部分*/)     for (i = 1; i <= 10; i )     {         printf("%d ", i);     }     return 0; }

 2.for配合continue和break 效果基本和while循环差不多

例如 i等于五跳出循环

#include <stdio.h> int main() {     int i = 0;     for (i = 1; i <= 10; i )     {         if (i == 5)             break;         printf("%d ", i);     }     return 0; }

和 i等于五跳出本次循环

#include <stdio.h> int main() {     int i = 0;     for (i = 1; i <= 10; i )     {         if (i == 5)             continue;         printf("%d ", i);     }     return 0; }

 3.for变种

   无尽循环for

  int main() {     for (;;)     {         printf("hehen");     }     return 0; }

  循环叠加

#include <stdio.h> int main() {     int i = 0;     int j = 0;     for (i = 0; i < 10; i )     {         for (j = 0; j < 10; j )         {             printf(" 1n");         }     }     return 0; }

无初始化循环

 #include <stdio.h> int main() {     int i = 0;     int j = 0;     {         for (; j < 10; j )         {             printf(" 1n");         }     }     return 0; }

多变量控制循环

#include<stdio.h> int main() { int x, y; for (x = 0, y = 0; x < 2 && y < 5; x, y ) {     printf(" 1n"); } return 0; }

三、do while()循环 

1.do.....................(需要循环的内容)........while(判断条件)

效果类似于把while反过来

例如

#include <stdio.h> int main() {     int i = 10;     do     {         printf("%dn", i);     } while (i < 10);     return 0; }

2.配合break和continue使用 基本和while一摸一样

例如 i=5跳出循环

#include <stdio.h> int main() {     int i = 10;     do     {         if (5 == i)             break;         printf("%dn", i);     } while (i < 10);     return 0; }

 和 i=5跳出本次循环

#include <stdio.h> int main() {     int i = 10;     do     {         if (5 == i)             continue;         printf("%dn", i);     } while (i < 10);     return 0; }

特殊语句 

goto语句使用 

在程序中插入入口 通过goto跳转

可以有效地跳出循环

成效为

int main() {     for (;;)         for (;;)             for (;;)                 for (;;)                     //显然这里跳出需要好几个break 但是一个goto就可以完成                     goto A; A:     printf("跳出了");     return 0; } 

0 人点赞