06流程控制及switch和continue的比較

 

一、  流程控制

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

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

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

 06流程控制及switch和continue的比較

二、    选择结构-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,如果n=5,就输出下列图形,其他n值以此类推

 

2>   输出九九乘法表

 

 

七、    break和continue比较

continue语句只结束本次循环,而不终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

注意:

1. break语句对if-else的条件语句不起作用。
2. 在多层循环中, 一个break语句只向外跳一层。
continue语句的作用是跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环。

 

Database error: [Table 'ac_search_cache' is marked as crashed and should be repaired]

SELECT * FROM ac_search_cache WHERE hash = '5811d61942922b3dd168709628268081151e5e15' LIMIT 1;