C语言流程控制总结

来源:互联网 发布:win10如何更改mac地址 编辑:程序博客网 时间:2024/06/02 05:03
1.流程控制结构类型
顺序结构:默认的流程结构,按照书写顺序执行每一条代码
选择结构:对给定的条件进行判断,再根据判断结果来决定执行那一段代码
循环结构:在给定条件成立的情况下,反复执行某一段代码
2.选择结构if语句
1> if 的第一种结构
if(条件)
{
     语句1;
     语句2;
     ……..
}
2> if 语句的第二种结构
if (条件)
{
     语句1
}
else
{
     语句2
}
3> if 语句的第三种结构

if (条件1)
{
     语句1
}

else if (条件2)
{
     语句2
}

else if (条件3)
{
     语句3
}
……..
4> if 的第四种结构,只有条件成立才会执行第一条语句,第二条语句和if语句没有关系不会执行
if (条件)
     语句1;
     语句2;


3.switch语句
switch(数值)
{
     case 数值1:
             语句1;
               break;


     case 数值2:
              语句2;
               break;


       default   :
               语句3;
               break;        
}
注意点:
1>break:退出整个switch语句
2>如果case后面没有break,就会执行后面所有case中得语句,直到遇到break为止
3>如果在case后面定义新的变量,必须用大括号{}包住,如果不括住容易出现作用域的情况

4.if 和 switch 对比
1> if 语句能完成的功能,switch并不能一定完成
例:a>6为条件,switch不能使其作为条件
2> 在有些情况下,if语句和switch语句可以互换
3> switch能完成的功能if都能完成


【代码练习】

/*
请输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)
A:90~100
B:80~90
C:70~80
D:60~70
E:0~60
*/

/*第一种方式
#include <stdio.h>

int main()
{
    printf("请输入一个整数分值:\n");
    
    int score ;
    
    scanf("%d", &score);
    
    if(score >= 90 && score <= 100){
        printf("A\n");
    }else if(score >= 80){
        printf("B\n");
    }else if(score >= 70){
        printf("C\n");
    }else if(score >= 60){
        printf("D\n");
    }else     {
        printf("E\n");
    }
    return 0;
}*/

/*第二种方式
#include <stdio.h>
int main()
{
    printf("请输入一个整数分值为:\n");
    
    int score;
    
    scanf("%d",&score);
    
    switch(score/10){
        case 10:
        case 9:
            printf("A\n");
            break;
        case 8:
            printf("B\n");
            break;
        case 7:
            printf("C\n");
            break;
        case 6:
            printf("D\n");
            break;
        default :
            printf("E\n");
            break;
    }
    return 0;
}*/


/*————————————————————————*/

while循环
1.循环体的运行原理
1>如果一开始条件不成立,永远不会执行循环体
2>如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立。。。。


2.while循环结构:
while(条件)
{
     循环体
}


3.while的定义步骤

1>先确定需要重复执行的操作
2>在确定约束条件
3>定义一个变量记录循环次数


4.continue
只要执行continue这段语句,就不会执行下面的代码了,直接结束这一次循环体,进入下次循环


5.break
当执行到break语句,就会直接退出循环,不会进行下次循环

【1.例子】
提示用户输入一个正整数,n,计算1+2+3+4+....+n的和


#include <stdio.h>


int main()
{
     int n = 0;//一定要初始化,因为默认有可能会是很大的值
     while(n <= 0){
          //1.提示输入
          printf(“请输入一个正整数:\n”);
          //2.接收输入
          scanf(“%d”,&n);
     }
     //3.计算
     //(1 + n) * n / 2
     //定义变量保存和
     int sum = 0;
     int num = 0;//默认被加的数值
     while(num < n){
          num++;
          sum += num;  // 累加
     }
     printf(“%d”,sum);


     return 0;
}


最简单利用while的死循环
while(1);


do while循环
1.do{
      循环体
   }while(条件)


2.while和do while的区别
1>很多情况下,while和do while可以互换
2>while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始条件成不成立,至少会执行一次循环体


/*————————————————————————*/


for 循环
1.循环结构
for( 语句1;条件 ;语句2 )
{
     循环体
}
语句1:初始化语句
语句2:增量语句(执行完循环体后再执行的语句)


1>for一开始就会执行一次语句1(整个for循环只会执行一次)
2>判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立


2.使用注意:
1>//错误1,不要随便for()后面写分号
for(int i = 0; i < 5; i++);
{
     printf(“哈哈哈”);
}
2>//错误2,循环体要加上中括号{}
for(int i = 0; i < 5; i++)
     int a = 10;
3>//错误3,a++应该不应写在小括号里,应写在中括号里
for(int i = 0; i < 5; i++, a++)
{
     int a = 10;
}


最简单利用for循环实现死循环
for( ; ; );

3.for循环的嵌套
【2.例子】
      好有列表1
             好友1
             好友2

      好有列表2
             好友1
             好友2

#include <stdio.h>


int main()
{
     for(int i = 0; i < 5; i++)
     {
          printf(“好友列表%d”,i);


          for(int j = 0; j < 6; j++)
          {
               printf(“     好友%d”,j);
          }
     }
     return 0;

}


转载地址:http://bbs.itheima.com/thread-151677-1-1.html

0 0
原创粉丝点击