黑马程序员__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("开班!!! ");
}
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都能完成

原文地址:https://www.cnblogs.com/jia694600474/p/3975953.html