lijifeng

导航

黑马程序员——C语言基础 流程控制 选择结构和循环结构

---恢复内容开始---

                                                       (以下内容是对黑马苹果入学视频的个人知识点总结)

(一)流程控制

1> 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

2> 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

3> 循环结构:在给定条件成立的情况下,反复执行某一段代码。

(二)选择结构-if

 

1.if的第1种结构
 if(条件)
 {
    语句1;
    语句2;
    ......
 }
 
 2.if的第2种结构
 if(条件1)
 {
     语句1;
     语句2;
     ......
 } 
 else
 {
    
 }
 
 3.if的第3种结构
 if(条件1)
 {
     语句1;
     语句2;
     ......
 }
 else if(条件2)
 {
 }
 else if(条件3)
 {
 }
 else if(条件4)
 {
 }
 else 
 {
 }
 4.if的第4种结构
 if (条件)
   语句1;

以上是if的几种运用方法、

(三)选择结构-switch

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

  

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     //int a = 10;
 6     // break:退出整个switch语句
 7     // 如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止
 8     char c = '+';
 9     int a = 10;
10     int b = 20;
11     // 如果要在case后面定义新的变量,必须用大括号{}包住
12     switch (c) {
13         case '+':
14         {
15             int sum = a + b;
16             printf("和是%d\n", sum);
17             break;
18         }
19             
20         case '-':
21         {
22             int minus = a - b;
23             printf("差是%d\n", minus);
24             break;
25         }
26     }
27     
28     return 0;
29 }

 1)if和switch的对比

1>通常很多情况下,他们是可以互换的 但是if用的更多一些,而且运用比较灵活,switch只能用于单值,引用的比较少。最主要的是if语句能完成的功能,switch并不一定能完成,switch能完成的功能,if语句都能完成。

(四)循环结构-while

while (条件)

{

    循环体

}

 

 1>运行原理

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

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

  break

 直接结束整个while循环

 continue

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

#include <stdio.h>

int main()
{
    // 1.先确定需要重复执行的操作
    
    // 2.再确定约束条件
    
    // 定义一个变量记录做的次数
    int count = 0;
    
    /*
    while (count<50)
    {
        ++count;
        
        if (count%10 != 0)
        {
            printf("做第%d次俯卧撑\n", count);
        }
    }*/
    
    /*
    while (count<50)
    {
        ++count;
        
        if (count%10 == 0)
        {
            // 直接结束这一次循环体,进入下一次循环
            continue;
        }
        
        printf("做第%d次俯卧撑\n", count);
    }*/
    
    while (count < 50)
    {
        ++count;
        
        printf("做第%d次俯卧撑\n", count);
        
        if (count == 20)
        {
            break;
        }
    }
    
    
    return 0;
}

 

使用循环时主要是之一循环次数变量选对,而且循环可以嵌套的。注意关键词break和continue的灵活运用。

1>循环结构do  while

与while相比较,最主要的特点是一定会执行一次循环体。

1 int i=0;
2 while(i<0){
3  i++;
4 }
5 
6 int i=0;
7 do{
8  i++;
9 } while(i<0);

while和do-while的区别

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

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

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

 3.最好使用while

(五)循环结构 for

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

    循环体

}

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

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

使用时应该注意一下:①不要随便在for()后面写分号 ②错误:变量a的作用域不明确,如果要在循环体中定义新的变量,必须用大括号{}包住③循环体内定义变量只能再循环体内用,有时候有可能会变成死循环。

for循环是可以循环嵌套的

 1 /*
 2 提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
 3 *****
 4 ****
 5 ***
 6 **
 7 *
 8 */
 9 
10 #include <stdio.h>
11 
12 int main()
13 {
14     // 1.定义一个变量存储用户输入的值
15     int n = 0; // 一定要初始化
16     
17     // 2.判断n值合不合理
18     while (n <= 0)
19     {
20         // 2.1 提示用户输入正整数
21         printf("请输入一个正整数:\n");
22         
23         // 2.2 接收输入的数据
24         scanf("%d", &n);
25     }
26     
27     // 3.输出图形
28     for (int i = 0; i<n; i++)// 有多少行
29     {
30         //printf("*****\n");
31         for (int j = 0; j<n-i; j++)
32         { // 每一行有多少个
33             printf("*");
34         }
35         
36         printf("\n");
37     }
38     
39     return 0;
40 }

(六)break和continue

1>  break

①使用场合:switch\循环结构

②循环嵌套下的break

 2>continue

① 使用场合:循环结构

②循环嵌套下的continue

posted on 2015-03-23 18:24  lijifeng  阅读(253)  评论(0编辑  收藏  举报