C中的流程控制

一、 流程控制

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

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

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

二、 选择结构-if

1. 简单使用

l if (表达式)  语句1;

u if(count>50)  开班;  上课;

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

u f(count>50)  开班;  else 不开班;

l if(表达式)  {  }

u if(count>50)  {开班; 布置课室;}  else {}

u { }的作用域

l if -else if-else

u if(a==0) else if (a>0)  else

u 特点:只有一个括号会被执行

l 复合条件

u 上课时间的取值范围(9~12 ||  14 ~17)

l 陷阱

u if(a!=0)  { a不是0;} else {a是0;}

u if (a); {  }

u if (a=0)

u a == 0;

u if (10) int a = 9;

2. 习题

1> 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出“星期一”

2> 输入一个整数month代表月份,根据月份输出对应的季节。

春季:3、4、5

夏季:6、7、8

秋季:9、10、11

冬季:12、1、2

3> 输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)

A:90~100

B:80~89

C:70~79

D:60~69

E:0~60

三、 选择结构-switch

1. 简单使用

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

l 举例

int a = 10;

switch (a) {

case 0:

printf("这是一个0");

break;

case 5:

printf("这是一个5");

break;

case 10:

printf("这是一个10");

break;

default:

printf("什么也不是");

break;

}

l 简述break的作用

l 在case中定义变量

2. if和switch的对比

l 很多情况可以互换

l if用得比较多,比较灵活,switch只能某个单值

3. 习题

用switch替代if实现if中的习题

四、 循环结构-while

1. 简单使用

l 连续printf(“俯卧撑”)20次;

l while(表达式) { }

l continue:输出5次休息一下

l break的使用:某次的时候停止循环

2. 特点

只有条件成立才会执行循环体

3. 习题

1> 提示用户输入一个正整数n,计算1+2+3+…+n的和

2> 提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和

4. 陷阱

while(条件);

五、 循环结构-do while

l 特点:一定会执行一次循环体

l while和do while循环对比

int i=0;
while(i<0){
 i++;
}

int i=0;
do{
 i++;
} while(i<0);

六、 循环结构-for

1. 简单实用

l 运行过程

l 初始化语句等可以是多句(把printf放到for的括号中)

2. for循环嵌套

好友列表1

好友1

好友2

好友列表2

好友1

好友2

好友列表3

好友1

好友2

3. 陷阱

1> 死循环 for(;;);

2> for循环体内部变量的作用域

3> 作用域混淆

for (int i = 0; i<5; i++)  int a = 10;

4. while循环和for循环的比较

l 可以互换

l for循环的变量可以及时回收

5. 习题

1> 提示用户输入一个正整数n,如果n5,就输出下列图形,其他n值以此类推

2> 输出九九乘法表

七、 break和continue

1. break

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

l 循环嵌套下的break

2. continue

l 使用场合:循环结构

l 循环嵌套下的continue

上一篇:java多线程实现方式


下一篇:ue4标签测试与总结(UPROPERTY)