------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
流程控制
顺序结构:默认的流程结构。按照书写顺序执行每一条语句。 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。 循环结构:在给定条件成立的情况下,反复执行某一段代码。
选择结构
1. if语句的一般形式为
if(表达式)
语句1;
else
语句2;
上述结构表示:如果表达式的值为非0(TRUE)即真,则执行语句1。执行完语句1从语句2后开始继续向下执行;如果表达式的值为0(FALSE)即假,则跳过语句1而执行语句2。条件执行语句中的"else 语句2;"部分是选择项,可以缺省,此时条件语句变成 if(表达式) 语句1;表达式的值非0则执行语句1,否则跳过语句1继续执行。
2. 条件语句可以嵌套,这种情况经常遇到,但条件嵌套语句容易出错,原因主要是不知道哪个if对应哪个else。
if(x>10 || x<-10)
if(y<100 && y>x)
printf("OK");
else
printf("Bad");
对于上述情况,else语句与最近的一个if语句匹配,上例中的else与if(y<100 && y>x)相匹配,为了使else与if(x>10 || x<-10)相匹配,必须用花括号:
if(x>10 || x<-10)
{
if(y<100 && y>x)
printf("OK");
}
else
printf("Bad");
3. 阶梯式的if-else-if结构语句
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
else
语句n;
这种结构是从上到下逐个对条件进行判断,一旦发现条件满足就执行与它有关的语句,并跳过其它剩余阶梯,弱没有一个条件满足,则执行最后一个else 语句n;最后这个else相当于一个缺省条件。如果每一个条件中有多余一条语句要执行时必须使用{}把这些语句包括在其中。
4. switch语句
在写程序时,会遇到按不同情况处理多路的问题,这时可以用if-else-if语句来实现,但if-else-if语句使用不方便,并且容易出错,这种情况下我们可以使用switch语句,格式为:
switch(变量)
{
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
default:
语句3;
break;
}
注意,如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止。执行switch语句时,将变量逐个与case后面的常量进行比较,若与其中一个相等,则执行该常量下的语句,若不与任何一个常量相等,则执行default后面的语句。
#include <stdio.h>
int main()
{
char c;
while((c=getchar()) != EOF) //循环直到按EOF结束
{
switch(c)
{
case 'A': //接收的字符为'A'
putchar(c);
break; //退出开关语句
case 'B':
putchar(c);
break;
default: //接收的字符非'A'和'B'
puts("Error");
break;
}
fflush(stdin); //这一句是我找了半天错误加上的,加上可以正确输出了,清空缓存区
}
return 0;
}
循环结构
1. for循环
for(语句1; 条件; 语句2)
{
循环体;
}
语句1为初始化语句。语句2为增量语句,执行完循环体后再执行。for一开始会执行一次语句1,整个循环只执行一次语句1,判断条件是否成立,如果条件成立,就会执行一次循环体,然后执行语句2,再次判断条件是否成立。
注意:不要随意的在for()后面加分号!for循环也可以有多层嵌套。
2. while循环
while(条件)
{
循环体;
}
while循环表示当条件为真时,执行循环体。直到条件为假时结束循环体。并继续执行循环程序外的后续语句。和for循环一样while循环总是在循环头部检查条件,这也意味着循环可能一次都不执行。
3. do-while循环
do{
}while(条件);
这个循环与while循环不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环。如果为假则终止循环。因此,do-while循环至少要执行一次循环体。
break和continue语句
1. break语句
break语句通常用在循环语句和switch语句中。当break语句用于switch语句中时,可使程序跳出switch而执行switch以后的语句。如果没有break语句,则将成为一个死循环而无法退出。
break语句用于for、while、do-while循环语句时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句连在一起。即满足条件时便跳出循环。
2. continue语句
continue语句的作用是跳过循环体重剩余的语句而强行执行下一次循环。continue语句只适用于在for、while、do-while等循环的循环体中,常与if条件语句一起使用,用来加速循环。