分支结构
一 布尔类型
二、关系运算符
三、逻辑运算符
四、if语句
五、枚举类型
六、switch语句
BOOL 数据类型 非真即假,只有YES和NO两个值.
- c语言中没有BOOL的概念,OC中有此概念.
- 在C语言中,认为非0即为真.
- BOOL isTrue = YES;//1 “YES”关键字为大写
- printf(“%d\n”, isTrue);
关系运算符 : >, >=, <, <=, ==, !=
- 关系运算符主要用于比较运算,结果有真假两种状态,经常用BOOL 类型的变量来存储
- 注意: 判断两个数是否相等,用== (双等号)
逻辑运算符 : &&, ||, !
- 逻辑与 && : 运算符两边同时为真,整个逻辑表达式结果为真. 一假则假,后面不再做判断
- 逻辑或 || : 运算符两边同时为假,结果为假. 一真则真,后面不再做判断
- 逻辑非 ! : 将表达式结果取反
- 注意: 逻辑与 逻辑或 的短路现象.
if语句
- 注意:if(表达式)后面紧跟;的话,则为空语句.后面的{}内语句跟if没关系,程序均会执行.
/*
if(条件表达式){
语句;
}
*/
条件运算符 条件表达式 ? 表达式1 : 表达式2
int c = a > b ? a : b;
switch .. case 多分支语句,通过判断整型表达式的值,来决定执行哪段分支
- switch 通常与case配合使用
- switch 开关
- case 情况,如果在case里有定义新的变量,则必须加大括号,否则程序报错(作用域不明).
- break 用于结束某个case,然后跳出switch
- 若某个case无break,会导致若该case条件成立,则下一个case也会执行,并遇到最近一个break结束. 以上即 多个case可以共用一个break,即运行一个语句块.
- default 语句可以省掉.
/*
switch (整型表达式) {
case 整型常量表达式:
语句;
break;
case 整型常量表达式:
语句;
break;
.....
default:
break;
}
*/
比较:
- switch …case 语句与级联式if分支区别,switch语句往往更清晰.
- if使用范围更广(可以适用区间条件),
- if语句表达式多为 关系表达式或逻辑表达式
- switch..case分支的表达式需要整型常量表达式,影响到其适用范围
枚举类型: 属于构造类型
- enum 枚举名 {枚举值表};// 注意!!!表达式写法 内部用逗号隔开,{}以分号结束;
- 目的: 提高程序可读性
- 作用: 将人能看懂的标识符与计算机能识别的数字建立对应关系
enum Season{
spring = 1, // 默认从0开始
summer,
autumn,
winter
};
enum Season a = spring; // 注意定义枚举变量格式 !!! 前面必须加enum 枚举名 变量名 = 枚举值;