条件语句:if-else语句及其嵌套、关系运算、switch-case语句
1.if语句
if (条件成立) { ... }else{ ... }
/* 另一种表达形式:
if或else后面的大括号只有一句话时,可以省去大括号
见下面两张图片
*/
if (条件成立)
aaaa; //一句话,缩进加分号
else
bbbb; //一句话,缩进加分号
2.关系运算符:关系运算结果成立则为整数1,不成立则为整数0
== != < <= > >=
printf("%d\n", 5==3) 结果为1
- 所有关系运算符的优先级低于算数运算符;高于赋值运算
- 判断是否相等的==和!=的优先级比其他的关系运算符低
- 相同等级的关系运算符顺序从左到右
3. if-else 语句的嵌套
else只跟最近的if匹配,且与缩进与否无关,除非有大括号
因此,建议都用有括号的形式,避免出错。
if (条件成立) { if (条件成立) { ... }else{ ... } }else{ if (条件成立) { ... }else{ ... } }
4.级联if-else语句
可以有多个else if ,但需要从if开始往下一个一个判断,知道满足条件并执行后才跳出判断语句
if (条件成立) { ... }else if (条件){ ... }else if (条件){
... }else{ ... }
5. switch-case语句
直接跳到满足条件的case
- 控制表达式只能是整数型的结果。
- 常量可以是常数,也可以是常数计算表达式如:1+2、NUM
- case后面没有遇到break就会跳到下一个case中的执行语句,直到遇到break。
#include <stdio.h> int main() { int type; scanf("%d", &type); switch(type){ case 1: printf("it is 1.\n"); break; case 2: printf("it is 2.\n"); break; case 3: printf("it is 3.\n"); break; default: printf("it is nothing.\n"); break; } return 0; }