一、条件和逗号运算
二、级联和嵌套的判断
三、多路分支
四、循环控制
一、条件和逗号运算
1、条件运算符:(? : ; ) 。
例子: count =(count>20)?count-10:count+10
?前为 条件 ,:前为条件满足的值 ,;前为条件不满足的值。
2、优先级:条件运算符的优先级高于赋值运算符,但是低于其他运算符。
3、嵌套条件表达式
count=(count>20)?(count<50)?count-10:count-5:(count<10)?count+10:count+5;
条件运算符是自左向右结合的。
4、逗号运算符:逗号用来连接两个表达式,并以其右边的表达式的值作为它的结果。逗号的优先级是所有的运算符中最低的,所以它两边的表达式会先计算;逗号的组合关系是自左向右的,所以左边的表达式会先计算,而右边的表达式的值就留下来作为逗号运算的结果。
二、 级联和嵌套的判断
1、嵌套的判断:当if的条件满足或不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句。
2、else的匹配:else总是和最近的那个if匹配。
3、嵌套的if
例如:if(gameover==0)
if(play|2move==2)
printf("Your turn\n");
4、tips
在if或else后面总是用{}
即使只是一条语句的时候
三、多路分支
1、swith-case
swith(控制表达式){
case 常量:
语句
case 常量:
语句
default:
语句
}
2、条件:控制表达式只能是整数型的结果
常量可以是常数,也可以是常数计算的表达式
3、break:switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。
四、循环控制
小套路:如果要模拟运行很大次数的循环,可以模拟较少的循环次数,然后做出推断。