码迷,mamicode.com
首页 > 其他好文 > 详细

16.流程控制

时间:2015-03-31 19:53:01      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

流程控制(是学习C语言的第一个重点)

  1.什么是流程控制

    程序代码执行的顺序

 

  2.流程控制的分类

    顺序执行

 

    选择执行

      定义

        某些代码可能执行,也可能不执行,有选择的执行某些代码

      

      分类

        if

          1.if最简单的用法

          格式:

            if (表达式)

              语句

          功能:

            如果表达式为真,执行语句

            如果表达式为假,语句不执行

 1 /*
 2     2015年3月31日 12:30:10
 3     目的:
 4         测试 if 的用法
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     if (3)
13         printf("AAAA\n"); //会输出
14     if (0)
15         printf("BBBB\n"); //不会输出
16     if (0 == 0)
17         printf("CCCC\n"); //会输出
18 
19     return 0;
20 
21 }
22 /*
23     在VC6.0中运行结果是:
24 -----------------------------
25 AAAA
26 CCCC
27 -----------------------------
28 */

 

            

          2.if的范围问题

            1.

              if (表达式)

                语句A;

                语句B;

              解释:if默认只能控制语句A的执行或不执行

                 if无法控制语句B的执行或不执行

                 或者讲:语句B一定会执行

 1 /*
 2     2015年3月31日 12:56:04
 3     目的:
 4         测试 if 的用法
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     if (1>2)
13         printf("AAAA\n"); //不会输出,因为if中条件为假
14         printf("BBBB\n"); //会输出,不受if控制
15     
16 
17     return 0;
18 
19 }
20 /*
21     在VC6.0中运行结果是:
22 -----------------------------
23 BBBB
24 -----------------------------
25     总结:
26         if默认的只能控制一个语句的执行或不执行
27 */

 

 

            2.

              if (表达式)

              {

                语句A;

                语句B;

                                        }

              此时if可以控制语句A和语句B

 1 /*
 2     2015年3月31日 13:04:38
 3     目的:
 4         测试 if 的用法
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     if (3>2)
13     {
14         printf("AAAA\n"); 
15         printf("BBBB\n"); 
16     }
17     
18 
19     return 0;
20 
21 }
22 /*
23     在VC6.0中运行结果是:
24 -----------------------------
25 AAAA
26 BBBB
27 -----------------------------
28     总结:
29         if默认的只能控制一个语句的执行或不执行
30         如果想控制多个语句的执行或不执行
31         就必须把这些语句用{}括起来
32 */

 

 

          3.if···else···的用法

 1 /*
 2     2015年3月31日 13:16:23
 3     目的:
 4         测试 if...else... 的用法
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     if (1 > 2)
13         printf("AAAA\n");
14     else
15         printf("BBBB\n");
16 
17     printf("CCCC\n");
18 
19     return 0;
20 
21 }
22 /*
23     在VC6.0中运行结果是:
24 -----------------------------
25 BBBB
26 CCCC
27 -----------------------------
28     总结:
29         
30 */

 

 

          4.if···else  if···else···

            if (1)

              A; //如果1成立,执行A语句

            else if (2)

              B; //如果1不成立,2成立,执行B语句

            else if (3)

              C; //如果1、2不成立,3成立,执行C语句

            else

              D; //如果1、2、3都不成立,执行D语句

 1 /*
 2     2015年3月31日 18:13:31
 3     目的:
 4         if···else  if···else···
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     double delta = -1;
13 
14     if (delta > 0)
15         printf("有两个解!\n");
16     else if (delta == 0)
17         printf("有唯一解!\n");
18     else 
19         printf("无解!\n");
20 
21     return 0;
22 
23 }
24 /*
25     在VC6.0中运行结果是:
26 -----------------------------
27 无解!
28 -----------------------------
29     总结:
30 */

 

 

          5.C语言对真假的处理

            非零是真

            零是假

            

            真用1表示

            假用0表示

 

          6.if举例——求分数的等级

 1 /*
 2     2015年3月31日 18:20:12
 3     目的:
 4         求分数的等级
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     float score;
13     
14     printf("请输入考试成绩:");
15     scanf("%f", &score);
16 
17     if (score > 100)
18         printf("这不科学!\n");
19     else if (score>=90 && score<=100) //不能写成 90<=score<=100 因为该式永远为真
20         printf("优秀!\n");
21     else if (score>=80 && score<90)
22         printf("良好!\n");
23     else if (score>=60 && score<80)
24         printf("及格!\n");
25     else if (score>=0 && score<60)
26         printf("不及格!\n");
27     else 
28         printf("成绩为负值!\n");
29 
30     return 0;
31 
32 }
33 /*
34     在VC6.0中运行结果是:
35 -----------------------------
36 请输入考试成绩:99
37 优秀!
38 -----------------------------
39     总结:
40 */

 

 

                三个数排序

 1 /*
 2     2015年3月31日 18:34:05
 3     目的:
 4         三个数排序,由大到小
 5 
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     int a, b, c; 
13     int t;
14 
15     printf("请输入三个整数(中间以空格分隔):");
16     scanf("%d %d %d", &a, &b, &c);
17 
18     if (a < b)
19     {
20         t = a;
21         a = b;
22         b = t;
23     
24     }
25     if (a < c)
26     {
27         t = a;
28         a = c;
29         c = t;
30     
31     }    
32     if (b < c)
33     {
34         t = b;
35         b = c;
36         c = t;
37     
38     }
39 
40     printf("%d %d %d\n", a, b, c);
41 
42     return 0;
43 
44 }
45 /*
46     在VC6.0中运行结果是:
47 -----------------------------
48 请输入三个整数(中间以空格分隔):2 0 6
49 6 2 0
50 -----------------------------
51     总结:该例用到了算法
52 */

 

 

          7.if的常见问题解析

 

    循环执行

 

 

    

16.流程控制

标签:

原文地址:http://www.cnblogs.com/houhaibushihai/p/4380540.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!