首页 > 代码库 > 黑马程序员-------------C语言流程控制-选择结构
黑马程序员-------------C语言流程控制-选择结构
流程控制
c语言中有3中结构控制程序运行
1> 顺序结构:默认的流程结构,按照书写的顺序执行每一条语句
2> 选择结构:对给定的条件进行判断,在根据判断结果来决定来执行哪一段代码
3> 循环结构:在给定条件成立的情况下,反复执行某一段代码
1.选择结构
if语句
1>if的第一种结构
if(条件)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
例子:
#include <stdio.h>
int main ()
{
//人数
int cout = 0;
if( cout>=50);
{
printf("开班!!!\n");
}
return 0;
}
2>if的第二种结构
if(条件)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
eles
{
}
例子:
#include <stdio.h>
int main ()
{
//人数
int cout = 0;
if( cout>=50);
{
printf("开班!!!\n");
}
else
{
//条件不成立就会执行下面代码
printf("不开班!!!\n")
}
return 0;
}
3>if的第三种结构
if(条件1)
{//条件成立就会执行下面语句
语句1;
语句2;
.......
}
else if(条件2)
{
}
else if(条件3)
{
}
else if(条件4)
{
}
else
{
}
例子:
#include <stdio.h>
int main ()
{
int a = 10;
if (a==10)
{
printf("a==10"\n);
}
else if (a==5)
{
printf("a==5"\n);
}
else if (a==3)
{
printf("a==3"\n);
}
else
{
pintf("a是其他值\n");
}
}
4>if的第四种结构
if()
语句1;
语句2;
//如果条件成立执行语句1,语句2也会执行,如果条件不成立,语句不执行,后面的还是会执行
5>if 语句使用注意
*if条件比较大小时,常量值放在左边,变量放右边。
*if(); //这个分号不能写,这样会导致条件成立只会执行一个空语句,失去if的作用
{
}
*下面的使用一定要注意
#include <stdio.h>
int main ()
{
if(10>6)
int a = 5; //这个a的作用域不明确,所以这块代码是错误的
return 0; //如果要在if 后面的语句中定义新的变量,必须用大括号{}
}
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都能完成
黑马程序员-------------C语言流程控制-选择结构