关系运算符和表达式
比较两个量的运算符称为关系运算符
关系运算符及其优先级
C 语言包括 “<”、“>”、“>=”、”<=”、”!=”、”==”
关系运算符均为双目运算符,其结合性为左结合。关系运算符的优先级低于算数运算符,高于赋值运算符
其中 <、<=、>、>= 的优先级相同,!=、== 的优先级相同
关系表达式
一般形式为:表达式 关系运算符 表达式;关系表达式允许出现嵌套的情况
关系表达式的值为 “真”、“假” 用 “1”、“0” 表示
逻辑运算符和表达式
逻辑运算符及其优先级
C 语言的逻辑运算符包括:“||”、“&&”、“!” 与或非
其中与运算符、或运算符具有左结合性、非运算符是右结合性
其优先级为:! 非运算 > && 与运算 = || 或运算
并且,非运算符高于算数运算;与运算、或运算在关系运算和赋值运算符中间
逻辑表达式
一般形式为:表达式 逻辑运算符 表达式,允许嵌套的情形
逻辑表达式的也为 “真”、“假”,分别用 1,0 表示
- && 与运算 当两边表达式都为真,结果为真;反之为假
- || 或运算 当两边表达式有一方为真,则结果为真;反之为假
- !非运算 当表达式为假时其结果为真;反之为假
if 语句
if 语句的三种形式
- if:当满足 if 的表达式时则执行其后的语句,否则不执行
if(表达式) {语句1; 语句2;}
- if-else:当满足 if 的表达式时则执行其后的语句,否则执行 else 后的语句
if(表达式) {语句1; 语句2;} else {语句3;语句4;}
- if-else if-if:当满足 if 的表达式则执行性其后语句;若不满足则判断 else if 后的表达式是否为真,为真则执行 if else 后的语句;否则执行 else 后面的语句
if(表达式) {语句1; 语句2;} else if(表达式) {语句3;语句4;} else {语句5;语句6;}
在 if 语句中注意以下问题:
- 在 if 关键词后面的均为表达式,其表达式通常为逻辑表达式、关系表达式;也可以为赋值表达式、变量、常量等
- if 语句中,条件判断表达式必须用括号括起来,执行语句之后必须加分号
- 在 if 后的执行语句,如果为复用语句,需要将多个语句用 “{}” 括起来,以做好区分
if 语句的嵌套
C 语言规定,else 总是与它前面最近的 if 匹配。
条件运算符和条件表达式
条件运算符是 “?:”,它是一个三目运算符
一般形式为: 表达式 1? 表达式 2: 表达式 3;
求值规则为:如果表达式 1 为真,则表达式 2 的值作为条件表达式的值,否则以表达式 2 的值作为条件表达式的值
条件表达式常常用于赋值语句中
switch 语句
C 语言的一种用于多分支选择的 switch 语句,一般形式为
switch(表达式){ case常量表达式1: 语句1; case常量表达式2: 语句2; … case常量表达式n: 语句n; default : 语句n+1; }
其语意为:计算表达式的值。并逐个与其后面的常量表达式比较,当与某个常量表达式的值相等时,即执行其后语句。如果与所有的 case 均不相同,则执行 default 语句
使用 switch 的时候注意:
- 在 case 后面的常量表达式的值不能相同,否则会出错
- case 后如果有多个语句,可以不用 {} 括起来
- case 和 default 的先后顺序可以随意变动
- default 子句可以省略