今天学习了选择结构程序设计。
一、关系运算符和表达式
1.关系运算符
2.关系表达式
用关系运算符将两个表达式连接起来的式子,称关系表达式。
关系表达式的值是一个逻辑值,即“真”“假”。
二、逻辑运算符和逻辑表达式
逻辑运算符
&&与|| 是双目运算符,要求有两个运算量。!是单目运算符,只要求一个运算变量。
在一个逻辑表达式中如果包含多个逻辑运算符,例如:
1a&&b||x>y&&c
按以下的优先次序:
(1)!(非)→&&(与)→|(或),即“!”为三者中最高的。
(2)逻辑运算符中的“&.&.”和“||”低于关系运算符,“!”高于 关系运算符
算术运算符,
2、 逻辑表达式
逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言编译系统在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。即将一个非零的数值认作为“真”。
三、if语句
1.if语句(表达式)语句
如:if(x>y)printf(“%d”,x)
在(表达式)后,不能加分号,且表达式为逻辑表达式或关系表达式。
条件运算符 ? :
条件运算符要求有3个操作对象,称三目(元)运算符,它是C语言中惟一的一个三
目运算符。条件表达式的一般形式为
表达式 1?表达式 2:表达式 3
四。switch语句
switch语句是多支选择语句
表达式必须是整形与整形相兼容的数据类型。
(1)case后必须是常量
(2)当表达式的值与某一个case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。
(3) 每一个 case 的常量表达式的值必须互不相同;否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。
(4)各个case 和 default的出现次序不影响执行结果。例如,可以先出现“default:…”,再出现“case'D':…”,然后是“case'A’:…”。
(5)执行完一个 case后面的语句后,流程控制转移到下一个.case继续执行。“case常量表达式”只是起语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。