首页 > 代码库 > 黑马程序员-------------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语言流程控制-选择结构