C语言——流程控制

   

流程控制内容主要由选择控制和循环控制组成。

一、选择控制

       (一)if 选择结构

         1、if(表达式) 语句1;

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

         3、if(表达式) {  }  “{}”为作用域,里面可以放多个满足条件的语句

         4、if-else if-else  只有一个表达式会被判断执行

        代码举例:

          

 1     int a = 6;
 2     
 3     if (a++ > 10) // a == 7
 4     {
 5         printf("A\n");
 6     }
 7     else if (a++ > 5) // a == 8
 8     {
 9         printf("B\n");
10     }
11     else if (a++ > 3) 
12     {
13         printf("C\n");
14     }
15     else
16     {
17         printf("D\n");
18     }
19     
20     printf("a的值是%d\n", a);

       5、常见错误陷阱

           

 1 比较大小时,常量值放左边,变量放右边
 2     //if (a = 0)
 3     if (0 == a)
 4     {
 5         printf("a等于0\n");
 6     }
 7     else
 8     {
 9         printf("a不等于0\n");
10     }*/
11     
12     /*
13     int a = 10;
14     
15      // 注意赋值运算符,不要写成两个=
16     a = 15;
17     
18     printf("%d\n", a);
19      */
20     
21     /* if语句后面不要写;
22     if ( 5>6 );
23     {
24         printf("A\n");
25     }*/
26     
27     
28     /*
29     if (10 > 6)
30     {
31         int a = 5;
32     }
33     
34     printf("%d\n", a);
35      */
36     
37     // 下面的代码是错误的:作用域不明确
38     if (10 > 6)
39         int a = 5;
40     // 如果要在if后面的语句中定义新的变量,必须用大括号{}
41     //printf("%d\n", a);
42     

     (二)选择结构-switch

         1、使用格式: switch(表达式) { case 数值1: break; … default: break;}       

 1 #include <stdio.h>
 2 
 3 
 4 int main()
 5 {
 6     //int a = 10;
 7     // break:退出整个switch语句
 8     // 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止
 9     
10     int b = 10;
11     
12     switch (a)
13     {
14         case 10:
15             printf("A\n");
16             b++;
17         case 5:
18             printf("B\n");
19             b++;
20         case 0:
21             printf("C\n");
22             b++;
23             break;
24         default:
25             printf("D\n");
26             break;
27     }
28     
29     printf("b的值是%d\n", b);
30     
31     char c = '+';
32     int a = 10;
33     int b = 20;
34     // 如果要在case后面定义新的变量,必须用大括号{}包住
35     switch (c) {
36         case '+':
37         {
38             int sum = a + b;
39             printf("和是%d\n", sum);
40             break;
41         }
42             
43         case '-':
44         {
45             int minus = a - b;
46             printf("差是%d\n", minus);
47             break;
48         }
49     }
50     
51     return 0;
52 }

二、循环控制

    (一) While循环结构

           1、while (条件){  循环体 }

             运行原理:

             ①如果一开始条件就不成立,永远不会执行循环体

             ②如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......

          2、break    直接结束整个while循环

          3、continue   结束当前的循环体,进入下一次循环体的执行

 1 //代码举例
 2    
 3 #include <stdio.h>
 4 
 5 int main()
 6 {
 7     // 1.先确定需要重复执行的操作
 8     
 9     // 2.再确定约束条件
10     
11     // 定义一个变量记录做的次数
12     int count = 0;
13     
14 
15     while (count < 50)
16     {
17         ++count;
18         
19         printf("做第%d次俯卧撑\n", count);
20         
21         if (count == 20)
22         {
23             break;
24         }
25     }
26     
27     
28     return 0;
29 }

  (二)do-while 循环

       最少执行一次循环体

      do {

              } while(条件);

         while和do-while的区别

           1.很多情况下,while和do while可以互换

           2.while特点:如果一开始的条件不成立,永远不会执行循环体

 do while特点:不管一开始的条件是否成立,至少会执行一次循环体

           

 1 //代码举例
 2  #include <stdio.h>
 3 
 4 int main()
 5 {
 6     int i = 0;
 7     
 8     /*
 9     while (i<0)
10     {
11         i++; // 5
12     }*/
13     
14     do {
15         i++; // 5
16     } while (i<0);
17     
18     printf("i=%d\n", i);
19 
20     return 0;
21 }

   (三) for 循环结构

        

      for (语句1; 条件; 语句2)

    {

         循环体

        }

       语句1:初始化语句

       语句2:增量语句(执行完循环体后再执行的语句)

       1.  for一开始就会执行一次语句1(整个for循环只会执行一次)

       2.  判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立

 1 //代码举例
 2   #include <stdio.h>
 3 int main()
 4 {
 5    
 6     for (int count = 0; count < 50; count++)
 7     {
 8         printf("第%d次输出\n",count);
 9     }
10     
11     return 0;
12 }

三、break 和 continue

    (一)break:

      1.使用场合

       ① switch语句:退出整个switch语句

       ② 循环结构:退出整个循环语句

       * while

       * do while

       * for

      2.注意点

       只对最近的循环结构有效

   (二)continue

     1.使用场合

      循环结构:结束当前这次的循环体,进入下一次循环体

     * while

     * do while

     * for

     2.注意点

     只对最近的循环结构有效

     

   

posted @ 2015-03-22 19:43  某个人  阅读(376)  评论(0编辑  收藏  举报