7. 条件运算符
条件运算符用于根据布尔表达式的值,执行不同的表达式并返回结果。
运算符:?:
C 语言中唯一的一个三元运算符
语法格式:
表达式1 ? 表达式2 : 表达式3
表达式 2 或 表达式 3 最多只能运行一个。
说明:
- 执行
表达式1,判断真或假。 - 如果
表达式1返回真值,则执行表达式2并返回表达式2的结果。否则返回表达式3的结果。
示例:
写一个程序,输入成绩(0~100分),如果成绩大于等于 60 则成绩为 100 分,否则成绩为0分。打印最终成绩。
#include <stdio.h>
int main(int argc, char *argv[]) {
int score;
printf("请输入成绩:");
scanf("%d", &score);
score = score >= 60? 100 : 0;
printf("成绩是:%d\n", score);
return 0;
}
条件运算符有自右向左的结合性,即当有多个条件运算符嵌套时自右向左运算,如:
score = score >= 60? 100 : score < 58 ? 0: 60;
则 score < 58 ? 0: 60 先进行运算。
练习:
写一个程序,输入一个学生的成绩,如果成绩大于 60 分打印及格。否则打印不及格。
提示: 使用表达式
score >= 60 ? "及格": "不及格"返回不同的字符串。