C 语言 If … Else 条件语句

条件与 If 语句

运算符 一章中,您了解到 C 语言支持数学中常见的逻辑条件:

  • 小于: a < b
  • 小于等于: a <= b
  • 大于: a > b
  • 大于等于: a >= b
  • 等于: a == b
  • 不等于: a != b

您可以使用这些条件为不同的条件执行不同的操作。

C 语言有以下条件语句:

  • 如果指定的条件为 true,则使用 if 指定要执行的代码块
  • 如果相同条件为 false,则使用 else 指定要执行的代码块
  • 如果第一个条件为 false,则使用 else if 指定要测试的新条件
  • 使用 switch 指定要执行的许多可选代码块

if 语句

如果条件为 true,则使用 if 语句指定要执行的 C 语言代码块。

语法
  1. if (condition) {
  2. // 如果条件为 true,则要执行的代码块
  3. }

请注意,if 是小写字母。大写字母(If 或 If)将生成错误。

在下面的实例中,我们测试两个值,以确定 20 是否大于 18。

如果条件为 true,则输出(打印)一些文本:

实例
  1. #include <stdio.h>
  2. int main() {
  3. if (20 > 18) {
  4. printf("20 is greater than 18");
  5. }
  6. return 0;
  7. }

我们也能够测试变量:

实例
  1. #include <stdio.h>
  2. int main() {
  3. int x = 20;
  4. int y = 18;
  5. if (x > y) {
  6. printf("x is greater than y");
  7. }
  8. return 0;
  9. }

实例解释

在上面的例子中,我们使用两个变量 xy 来测试 x 是否大于 y(使用 > 操作符)。因为 x 是20,y 是 18,我们知道 20 大于 18,所以我们在屏幕上输出 "x > y"。


else 语句

如果条件为 false,则使用 else 语句指定要执行的代码块。

语法
  1. if (condition) {
  2. // 如果条件为 true,则要执行的代码块
  3. } else {
  4. // 如果条件为 false,则要执行的代码块
  5. }
实例
  1. #include <stdio.h>
  2. int main() {
  3. int time = 20;
  4. if (time < 18) {
  5. printf("Good day.");
  6. } else {
  7. printf("Good evening.");
  8. }
  9. return 0;
  10. }

实例解释

在上面的实例中,时间(20)大于 18,因此条件为 false。因此,我们转到 else 条件并在屏幕上输出 "Good evening"。如果时间少于 18,程序将打印 "Good day"。


else if 语句

如果第一个条件为 false,则使用 else if 语句指定新条件。

语法
  1. if (condition1) {
  2. // 如果条件为 true,则要执行的代码块
  3. } else if (condition2) {
  4. // 如果条件 1 为 false,而条件 2 为 false,则要执行的代码块 is true
  5. } else {
  6. // 如果条件 1 为 false,条件 2 为 false,则要执行的代码块
  7. }
实例
  1. #include <stdio.h>
  2. int main() {
  3. int time = 22;
  4. if (time < 10) {
  5. printf("Good morning.");
  6. } else if (time < 20) {
  7. printf("Good day.");
  8. } else {
  9. printf("Good evening.");
  10. }
  11. return 0;
  12. }

实例解释

在上面的示例中,时间(22)大于 10,因此第一个条件为 falseelse if 语句中的下一个条件也是 false,因此我们转到 else condition,因为 condition1condition2 都是 false,并输出到屏幕上 "Good evening"。

然而,如果时间是 14,我们的程序将打印 "Good day."


简写 If…Else (三元运算符)

还有一个缩写 if-else,它被称为 三值运算符,因为它由三个操作数组成。它可以用来用一行代码替换多行代码。它通常用于替换简单的 if-else 语句

语法
  1. variable = (condition) ? expressionTrue : expressionFalse;

一般写法:

实例
  1. #include <stdio.h>
  2. int main() {
  3. int time = 20;
  4. if (time < 18) {
  5. printf("Good day.");
  6. } else {
  7. printf("Good evening.");
  8. }
  9. return 0;
  10. }

您也可以像这样简写:

实例
  1. #include <stdio.h>
  2. int main() {
  3. int time = 20;
  4. (time < 18) ? printf("Good day.") : printf("Good evening.");
  5. return 0;
  6. }