1、C判断
- 注意: 条件为真时执行的语句时必须的,条件为假时执行的语句是可选的
- 等价关系:
- true==非零==非空
- false==null==零
1. if,else if, else语句
- if语句后可跟else if,else语句
- else语句必须放在最后
- 一旦else if语句匹配成功,其他else if语句和else语句将不会被执行
- 代码实现:
#include<stdio.h> #include<stdlib.h> int a = 10; int b = 20; int c = 30; int main(){ //if语句 if(a <= 10){ printf("a小于等于10\n"); } printf("a的值为:%d\n",a); //if else语句 if(b == 15){ printf("b等于15"); } else{ printf("b不等于15\n"); } //if else if else语句 if(c > 30){ printf("C大于30"); } else if(c < 30){ printf("c小于30"); } else{ printf("c等于30"); } }
- 运行结果:
a小于等于10 a的值为:10 b不等于15 c等于30
2.switch语句
- 规则:
- expression必须是常量,一个整型或枚举类型
- 当一个case语句被执行时,其后的语句都会被执行,直到遇到break语句,跳出switch语句
- default语句必须放在最后,当上面的所有语句都没有匹配时执行
- 格式:
switch(expression){ case 1: 代码块; break; case 2: 代码块; break; default: 代码块; break;//可以不加 }
- 代码实现:
#include<stdio.h> #include<stdlib.h> int a = 10; int b = 10; int main(){ switch (a) { case 10: printf("a的值为10\n"); //switch语句嵌套 switch (b) { case 100: printf("b的值为100\n"); break; default: printf("b的值不是100\n"); break; } break; case 20: printf("a的值为20\n"); break; default: printf("a的值不是10,也不是20\n"); break;//可以不加 } }
- 运行结果:
a的值为10 b的值不是100
3.三元运算符
- 格式:condition ?block1 : block2
- 运行过程:当condition为真时,运行block1,否则运行block2
- 代码实现:
#include<stdio.h> #include<stdlib.h> int main(){ int num; printf("请输入一个数字:\n"); scanf("%d",&num); (num%2 == 0) ? printf("偶数\n") : printf("奇数\n"); return 0; }
- 运行结果:
./test1 请输入一个数字: 2 偶数