判断语句
C 语言把任何非零和非空的值假定为 true,把零或 null 假定为 false。
if判断
#include<stdio.h>
int main(void)
{
/*
if (条件) {
// 就去执行的东西
}
*/
int age;
printf("please input your age : \n");
scanf("%d" ,& age);
if(age >= 18) {
printf("已成年 , 可以玩 \n");
}
return 0;
}
if—else判断
#include <stdio.h>
int main(void)
{
/*
if (条件) {
// 就去执行的东西
}
*/
int age;
int english_score;
int IQ;
printf("please input your age : \n");
scanf("%d", &age);
printf("please input your english_score : \n");
scanf("%d", &english_score);
printf("please input your IQ : \n");
scanf("%d", &IQ);
// 根据条件,进行判断
if ((age >= 18) && (english_score >= 100 || IQ >= 120)) {
printf("已成年 , 可以玩 \n");
} else {
printf("未成年或者成绩不合格不允许玩 \n");
}
return 0;
}
? : 运算符(三元运算符)
条件运算符 ? :,可以用来替代 if…else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个表达式的值。
可读性
- 使用if -else时要使用 {} ——可读性问题
程序的严谨性
- 没有完美的程序
else可能会产生的问题-因为不规范
- 当没有{ }时else总是遵循就近原则
#include<stdio.h>
int main(void)
{
int age = 20;
if (age > 18)
printf("hello\n");
if (age > 40)
printf("Tom \n");
if(age > 80)
printf("Tony \n");
else
printf("Bong \n");
return 0;
}
if嵌套和使用注意事项
- 不能随意进行嵌套
#include<stdio.h>
int main(void)
{
int age = 20;
if(age >= 70) {
printf("老年 \n");
return 0;
}
if(age >= 50) {
printf("中年 \n");
return 0;
}
if (age >= 30)
{
printf("anything \n");
return 0;
}
if (age >= 18)
{
/* code */
printf("成年 \n");
} else {
printf("你未成年 \n");
}
return 0;
}
if…esle if
-
要站在更高的层次去思考问题
-
else if :要不然
#include<stdio.h>
int main(void)
{
int age =17;
if(age >= 90) {
printf("高寿\n");
} else if(age >= 70) {
printf("耄耋\n");
} else if (age >= 50)
{
/* code */
printf("中年\n");
} else if(age >= 30 ) {
printf("anything\n");
} else if(age >= 18) {
printf("成年\n");
} else {
printf("未成年\n");
}
return 0;
}