C If...Else


条件和 If 语句

您已经了解到 C 支持通常的逻辑条件从数学:

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

您可以使用这些条件来针对不同的决策执行不同的操作。

C 有以下条件语句:

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

if 语句

使用if语句指定条件满足时要执行的代码块true

语法

if ( condition) {
  // block of code to be executed if the condition is true
}

注意if是小写字母。大写字母(If 或 IF)将产生错误。

在下面的示例中,我们测试两个值以确定 20 是否大于 18。如果条件是true,打印一些文本:

示例

if (20 > 18) {
  printf("20 is greater than 18");
}
亲自试一试 »

我们还可以测试变量:

示例

int x = 20;
int y = 18;
if (x > y) {
  printf("x is greater than y");
}
亲自试一试 »

示例解释

在上面的例子中我们使用了两个变量,Xy,测试 x 是否大于 y(使用>运算符)。由于 x 为 20,y 为 18,并且我们知道 20 大于 18,因此我们在屏幕上打印 "x is greater than y"。


else 语句

使用else语句指定条件满足时要执行的代码块false

语法

if ( condition) {
  // block of code to be executed if the condition is true
} else {
  // block of code to be executed if the condition is false
}

示例

int time = 20;
if (time < 18) {
  printf("Good day.");
} else {
  printf("Good evening.");
}
// Outputs "Good evening."
亲自试一试 »

示例解释

在上面的例子中,时间(20)大于18,所以条件是false。正因为如此,我们继续else条件并打印到屏幕"Good evening"。如果时间小于18,程序将打印"Good day"。


else if 语句

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

语法

if ( condition1) {
  // block of code to be executed if condition1 is true
} else if ( condition2) {
  // block of code to be executed if the condition1 is false and condition2 is true
} else {
  // block of code to be executed if the condition1 is false and condition2 is false
}

示例

int time = 22;
if (time < 10) {
  printf("Good morning.");
} else if (time < 20) {
  printf("Good day.");
} else {
  printf("Good evening.");
}
// Outputs "Good evening."
亲自试一试 »

示例解释

在上例中,时间 (22) 大于 10,因此第一个条件false。下一个条件,在else if的声明,也是false,所以我们继续else条件自条件1条件2既是false- 并打印到屏幕"Good evening"。

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


另一个例子

这个例子展示了如何使用if..else判断一个数是正数还是负数:

示例

int myNum = 10; // Is this a positive or negative number?

if (myNum > 0) {
  printf("The value is a positive number.");
} else if (myNum < 0) {
  printf("The value is a negative number.");
} else {
  printf("The value is 0.");
}
亲自试一试 »

C 练习

通过练习测试一下

练习:

打印 "Hello World" 如果x大于y

int x = 50;
int y = 10;
 (x  y) {
  printf("Hello World");
}  

开始练习