第5章是选择语句,首先是:
1. 逻辑表达式,其值要么是0(假),要么是非零(真),逻辑表达式中所用到的运算符有:关系运算符,判等运算符,逻辑运算符。
2. 关系运算符,有>, <, >=, <= 四种运算符,均为二元运算符。其优先级低于算术运算符。其结合性是左结合的,如 i<j<k 应该先得到 i<j的值,然后该值再与k进行大小判断,得到整个表达式的值。在编程中,类似于这种i<j<k的逻辑表达式是不常用的。
3. 判等运算符,有 == != 两种。判断两个操作数是相等还是不相等。其优先级低于关系运算符,其结合性也是左结合的。
4. 逻辑运算符,有&& || ! 三种,其中前两个是二元运算符,第三个运算符是一元运算符。&&是与运算,其特点时,如果其中的操作数有一个是0,那个整个表达式是就0. 如果左操作数的表达式是0,那么就不用再计算右操作数了,这叫短路计算。||是或运算,其特点是,如果其中任一个操作是非零的,那么不用再计算另一个操作数,因为整个表达式的结果肯定为非零,即为真。!运算符是一元运算符是对值取反,如果原来的值为真,那么加上!运算符,则为假。逻辑运算符的优先级低于关系运算符和判等运算符,但是!运算符则与一元正负号的优先级相同。
5. if语句,其表达形式为 if (表达式)语句。这里的语句可以是单个语句,也可以是复合语句。if语句的工作原理是,如果表达式的值为非零(真)那么就执行语句。
6. 复合语句,用{}把一组语句括起来,那么该语句就是复合语句。
7.else子句,因为选择语句是分支的,上面说的if语句只说了一个分支,就是if的表达式语句为真时,执行语句。如果表达式的结果是假,怎么办?这就用到了else,if - else语句使得选择语句有了两个分支,为真时和为假时的分支。
对于else来说,接近哪个if,那么就做为哪个if的一个为假时的分支。
8. 条件表达式,? :表达式,其形式为,表达式1 ?表达式2 :表达式3. 具体的工作原理是,如果表达式1为真,那么整个表达式的值是表达式2的值。如果表达式1为假,那么整个表达式的值是表达式3的值。如,a>b?1:2 对于这个表达式,如果这时a=9,b=10,很显然,a>b是假的,这时表达式的值为2,如果a=10,b=9,a>b就是真,此时表达式的值就是1. 注意条件表达式是右结合的。
9. 级联if语句,如,if (表达式)语句
else if(表达式) 语句
else if(表达式) 语句
...
else if(表达式) 语句
else 语句
10.switch语句,switch,英语单词是开关的意思,你可以把switch语句看作是一个由多个小的开关组成的东西。也可以看作switch有多条路,或者有多个分支。那到底选哪条路,或者按哪个分支执行下去。就要看 switch后面的小括号里面的表达式。这个表达式有一个特点,就是其值必须是整数(包含字符),不能是其它类型的数。
11.switch的形式 :
switch (表达式){
case 常量表达式1: 语句
case 常量表达式2:语句
}
其中的表达式,其值只能是整型或字符型。常量表达式一定是常量,语句可以是一条或多条,注意这里不用加大括号。
12. break,对于 case 常表达式: 语句,中的语句,如果其后不加break; 那么程序是进入下面的case 分支标号,执行该分支标号中的语句。通常情况下,要加break;也就是说执行完某一个case 后面的语句后,就跳出switch,执行switch语句后面的语句。