7. 条件运算符

条件运算符用于根据布尔表达式的值,执行不同的表达式并返回结果。

运算符:?:

C 语言中唯一的一个三元运算符

语法格式:

表达式1 ? 表达式2 : 表达式3

表达式 2 或 表达式 3 最多只能运行一个。

说明:

  1. 执行 表达式1,判断真或假。
  2. 如果 表达式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 ? "及格": "不及格" 返回不同的字符串。