- BOOL类型:表示非真即假。只有两个值:YES和NO,而二进制只识别二进制数,所以,将YES替换为“1”,NO替换为“0”
- BOOL数据类型占一字节的空间内存
- BOOL数据类型输出为:%lu;输入为:%s
- 关系运算符:“<,<=,>,>=,==,!=”判断两个值是否相等,一定要用“==”,结果值用BOOL存储。
- 优先级:[<,<=,>,>=(属同级运算符)] > [==,!=(属同级)]
- 运算符优先级:算术运算符>关系运算符>逻辑运算符>复合运算符>赋值运算符
- 逻辑运算符:“!,&&,||”
- 逻辑运算符优先级:“! > && > ||”
- “!”结果取反
- “&&”一假全假
- “||”一真全真
- 短路现象:“&&”当第一个表达式已然为假时,就不会再往下继续进行判断了;“||”当第一个表达式已然为真是,就不会再继续进行判断了。
- C语言的三种结构:循环结构,分支结构,顺序结构
- 注意:在C语言中,非0即为真。分支结构中,条件表达式,只执行条件表达式为非0的结果。
- C语言规定,else总是与它前面最近的if配对。
- 分支结构:
- if语句:
第一种形式:
if(条件表达式){
执行语句;
}
第二种形式:
if(条件表达式){
语句1;
}else{
语句2;
}
第三种形式:
if(条件表达式){
语句1;
}else if(条件表达式2){
语句2;
}else{
语句3;
}
- 条件运算符格式:条件表达式?表达式1:表达式2;当表达式为真时,整个表达式的值为表达式1的值;当表达式为假时,整个表达式的值为表达式2的值。
- 多分支语句:switch…case,switch表示开关,case表示情况。
- break:跳出当前情况,使得分支结构整体不受影响。
- 注意:case后面只能跟整型常量或者常量表达式,case中定义变量需要加{}
- switch余if级联式相比,更容易,直观。
- case后面的标签只能是整型常量或者整型常量表达式,不能用变量作为case的标签。
- 枚举类型:数据类型的一种,是一组有符号的整型常量,列举除所有的状态,罗列所有可能的结果。是由多种数据类型组成的新的类型。
- 构造类型包括枚举类型和结构体。
- 枚举结构:enum 枚举名{枚举值1,枚举值2,枚举值3};枚举值之间要用逗号隔开,最后一个枚举值不加逗号,大括号后一定要加分号。
- 枚举一般配合switch语句使用,提高代码的可读性。
- 第一个枚举值为0,以后的枚举值在上一个枚举值对应的整数值的基础上加1
- 可以指定枚举值对应的整数值,使用等号。