流程控制
c语言中有3中结构控制程序运行
1> 顺序结构:默认的流程结构,按照书写的顺序执行每一条语句
2> 选择结构:对给定的条件进行判断,在根据判断结果来决定来执行哪一段代码
3> 循环结构:在给定条件成立的情况下,反复执行某一段代码
1.选择结构
if语句
1>if的第一种结构
if(条件)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
例子:
#include <stdio.h>
int main ()
{
//人数
int cout = 0;
if( cout>=50);
{
printf("开班!!!
");
}
return 0;
}
2>if的第二种结构
if(条件)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
eles
{
}
例子:
1 #include <stdio.h> 2 3 int main () 4 { 5 //人数 6 int cout = 0; 7 if( cout>=50); 8 { 9 printf("开班!!! "); 10 } 11 else 12 { 13 //条件不成立就会执行下面代码 14 printf("不开班!!! ") 15 } 16 return 0; 17 } 18
3>if的第三种结构
if(条件1)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
else if(条件2)
{
}
else if(条件3)
{
}
else if(条件4)
{
}
else
{
}
例子:
1 #include <stdio.h> 2 3 int main () 4 { 5 int a = 10; 6 if (a==10) 7 { 8 printf("a==10" ); 9 } 10 else if (a==5) 11 { 12 printf("a==5" ); 13 } 14 else if (a==3) 15 { 16 printf("a==3" ); 17 } 18 else 19 { 20 pintf("a是其他值 "); 21 } 22 } 23
4>if的第四种结构
if()
语句1;
语句2;
//如果条件成立执行语句1,语句2也会执行,如果条件不成立,语句不执行,后面的还是会执行
5>if 语句使用注意
*if条件比较大小时,常量值放在左边,变量放右边。
*if(); //这个分号不能写,这样会导致条件成立只会执行一个空语句,失去if的作用
{
}
*下面的使用一定要注意
1 #include <stdio.h> 2 3 int main () 4 { 5 if(10>6) 6 int a = 5; //这个a的作用域不明确,所以这块代码是错误的 7 return 0; //如果要在if 后面的语句中定义新的变量,必须用大括号{} 8 }
switch语句
1>语法结构
switch(数值)
{
case 数值1;
语句1;
break; // break:退出整个switch语句
//如果case后面没有break,就会执行后面所有case中的语句,直到遇到bresk为止
case 数值2;
语句2;
break;
default :
语句3;
break;
}
2>switch语句使用注意
*也是关于作用域的问题,在case语句中如果定义一个新的变量,会导致这个变量作用域混乱,系统报错。
解决方法:在定义新的变量用{},明确变量作用域
3>if和switch比较
if语句能完成的功能,switch不一定能够完成
在有些情况下if语句和switch可以互换
switch 能完成的语句if都能完成