根据条件的“真”或“假”,决定执行哪一段代码。本质是“做判断,选路径”包括二选一判断,多选一判断,范围/归属判断。
举例
int score = 0;
printf("输入一个分数:");
scanf("%d",&score);
if(score >=0 && score <=100){
//有效分数,做进一步判断
if(score >= 90 && score <= 100){ printf("优秀\n"); }
else if(score >= 80 && score <= 89){ printf("良好\n"); }
else if(score >= 70 && score <= 79){ printf("中等\n"); }
else if(score >= 60 && score <= 69){ printf("及格\n"); }
else { printf("不及格\n");}
} else {
printf("错误\n");
}
输出结果
判断不同的三角形
int a,b,c;
printf("\n请输入一个边长:");
scanf("%d",&a);
printf("\n请输入一个边长:");
scanf("%d",&b);
printf("\n请输入一个边长:");
scanf("%d",&c);
if(a+b>c && a+c>b &&b+c>a){
if(a==b && b==c && a==c){
printf("等边三角形");
}else if(a==b || b==c||a==c){
printf("等腰三角形");
}else {
printf("普通三角形");
}
}else {
printf("不是一个三角形");
}
输出结果
超市购物
int a = 0;
printf("请输入一个金额:");
scanf("%d",&a);
if (a>=1000 && a<=1999){
printf("%.2f",a*0.9);
}else if (a>=2000 && a<=2999){
printf("%.2f",a*0.8);
}else if (a>=5000){
printf("%.2f",a*0.6);
}else{
printf("不打折");
}