主要内容:分支结构
一、BOOL数据类型
BOOL是一种表示非真即假两种状态的数据类型,布尔类型的变量只有YES和NO,YES表示表达式为真,NO表示表达式为假C语言中认为
非0即为真
分支结构中,经常用BOOl做判断,与 if 语句联合使用是执行 if 还是执行else
循环结构中,经常用BOOl做判断是否执行循环体(下一篇会讲)
二、宏定义
#define YES 1
#define NO 0
计算机在识别时,就把YES当成 1 ,NO当成 0
三、关系运算符
> >= < <= !=
判断两个数是否相等用双等号 “ == ”
四、逻辑运算符
&&(与) | | (或) !(非)
逻辑运算符组成的表达式的结果为布尔类型,非真即假
&&:且的意思,当两边的条件都为真的时候,结果为真(一假既假,两真为真)
| | :或的意思,当有一个条件满足时,结果为真(一真既真,两假为假)
! :将表达式的结果取反
&& 和 | | 具有短路行为(既前面的条件为假或者为真的时候,后面的条件不再执行,如果后面有++/--会运算)
五、分支语句
通过进行一个判断,在两个可选的语句序列之间选择执行
常用判断语句 if 语句,switch语句
if语句的三种形式
if ( 条件表达式 ) { 语句 }
if ( 条件表达式 ) { 语句1 } else { 语句2 }
if ( 条件表达式1 ) { 语句1 } else if ( 条件表达式2 ) { 语句2 }...else { 语句... }
当条件表达式为真的时候,执行 if 体内的语句,否则不执行
switch语句的形式
switch(整型表达式){
case 值1 :{ 语句1,break ; }
case 值2 :{ 语句2,break ; }
...
case 值n :{ 语句n,break ; }
default :{ 语句 n + 1,break ; }
}
switch是开关,case是情况,通过判断整型表达式的值,来决定执行哪个分支
break的作用是结束case语句,执行switch以外的语句
case后面的标签只能是整型常量或整型常量表达式,不能用变量作为标签
例如:
int day = 2;
switch ( day ) {
case 1: {
printf ( " 星期一 " ) ;
break;
}
case 2: {
printf ( " 星期二 " ) ;
break;
}
case 3: {
printf ( " 星期三 " ) ;
break;
}
case 4: {
printf ( " 星期四 " ) ;
break;
}
case 5: {
printf ( " 星期五 " ) ;
break;
}
case 6: {
printf ( " 星期六 " ) ;
break;
}
case 7: {
printf ( " 星期日 " ) ;
break;
}
default: {
printf ( " 非法的日期值! " ) ;
break;
}
}
六、条件表达式
格式:
条件表达式 ? 表达式1 :表达式2
条件表达式为真的时候,整个表达式的值为---表达式1
条件表达式为假的时候,整个表达式的值为---表达式2
例如:
int c = a > b ? a : b;
如果 a > b 则 c = a,否则c = b
七、枚举类型(构造类型)
一组有符号名称的整型常量,一一列举所有状态,罗列出所有可能的结果
示例:
eunm season {
spring = 1, / / 默认从0开始
summer ,
autumn ,
winter ,
} ;
enum 枚举名 { 枚举值表 } ;
目的:提高程序的可读性
作用:将人能看懂的标示符与计算机能识别的数字建立对应关系
转载于:https://blog.51cto.com/9153198/1574406