02 分支结构
BOOL数据类型
BOOL数据类型,是⼀一种表⽰示⾮非真即假的数据类型,布尔类型的变量只有 YES和NO两个值。YES表⽰示表达式结果为真,NO表⽰示表达式结果为假
BOOL a = YES;
在C预言中,认为非0即为真.
分⽀语句中,经常使⽤用BOOL值做判断,判断执⾏行if语句还是else语句 ;
循环结构中,也经常使⽤用BOOL值做判断,判断是否要执⾏行循环
//给BOOL 类型起一个别名
#define PI 3.14159
关系运算符
> >= < <= == !=
主要⽤于⽐比较运算,⽐比较的结果只有真假两种情况,结果值⽤用BOOL类型变量存储。
int b=3,c=4;
bool d=b<=c; //这里不能用 ≤ 符号
bool d1=b>=c;
printf("%d\n",d);
printf("%d\n",d1);
注意: 判断两个数是否相等, ⽤用==(双等号)。
逻辑运算符
逻辑运算符组成的表达式,结果也是⾮非真即假。
&&(逻辑与):运算符两边表达式同时为真的时候,整个逻辑表达式 的结果为真。
| |(逻辑或):运算符两边表达式同时为假的时候,整个逻辑表达式 的结果为假。
!(逻辑⾮非):将表达式的结果取反。
int m1=10,n1=20;
bool b1=m1<n1&&m1>n1;
bool b2=m1>n1||m1<=n1;
bool b3=!(m1>=n1);
程序的三种结构
顺序结构:顺序执行语句。
分⽀支结构:通过进⾏一个判断在两个可选的语句序列之间选择执⾏行(分支)
循环结构:在满⾜某个条件的时候反复执行一个语句序列(循环)。
if语句
1 //判断输入的年份是否是闰年
2 int date=0;
3 printf("请输入一个年份:");
4 scanf("%d",&date);
5
6 //判断条件中添加括号()
7 if(date % 400==0 || (date % 4 == 0 && date % 100 != 0)){
8 printf("该年是闰年");
9 }else {
10 printf("该年不是闰年");
11 }
枚举类型
enum 枚举名 {枚举值表};
enum season{
spring=2,//默认从0开始
summer,
autumn,
winter
};
case 值1:{语句1; break;}
case 值3:{语句n; break;}
}
1 //switch语句
2 int u = 7;//天气空气指数
3 printf("enter:");
4 scanf("%d",&u);
5 switch (u) {
6 case 1:
7 printf("空气质量非常差,不建议出门");
8 break;
9 case 2:
10 printf("空气质量不好,建议出门带口罩");
11 break;
12 case 3:
13 printf("空气质量还可以");
14 break;
15 case 4:
16 printf("空气质量还好");
17 break;
18 default:
19 printf("其他");
20 break;
21 }
1 enum season{
2 spring=2,//默认从0开始
3 summer,
4 autumn,
5 winter
6 };
7
8 switch (s) {
9 case spring:{
10 printf("郊游");
11 printf("hao");
12 break;
13 }
14 case summer:
15 printf("游泳");
16 break;
17 case atumn:
18 printf("赏花");
19 break;
20 case winter:
21 printf("滑雪");
22 default:
23 break;
24 }
注意:break用在switch...case中⽤用于结束某个case,然后执⾏行switch之外 的语句。