主要内容:分支结构
一、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 枚举名 { 枚举值表 } ;
        目的:提高程序的可读性
        作用:将人能看懂的标示符与计算机能识别的数字建立对应关系