C 语言教程:条件和 if...else 语句

C 语言中的条件和 if...else 语句

您已经学习过 C 语言支持数学中的常见逻辑条件:

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

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

C 语言具有以下条件语句:

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

if 语句

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

语法

1if (condition) { 2 // 要在条件为真时执行的代码块 3}

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

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

1if (20 > 18) { 2 printf("20 is greater than 18"); 3}

我们也可以测试变量:

1int x = 20; 2int y = 18; 3if (x > y) { 4 printf("x is greater than y"); 5}

例子解释

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

else 语句

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

语法

1if (condition) { 2 // 如果条件为真,则执行的代码块 3} else { 4 // 如果条件为假,则执行的代码块 5}
1int time = 20; 2if (time < 18) { 3 printf("Good day."); 4} else { 5 printf("Good evening."); 6} 7// 输出 "Good evening."

例子解释

在上面的示例中,时间 (20) 大于 18,因此条件为假。因此,我们移动到 else 条件并打印到屏幕“Good evening”。如果时间小于 18,则程序将打印“Good day”。

else if 语句

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

语法

1if (condition1) { 2 // 如果条件1为真,则执行的代码块 3} else if (condition2) { 4 // 如果条件1为假且条件2为真,则执行的代码块 5} else { 6 // 如果条件1为假且条件2为假,则执行的代码块 7}
1int time = 22; 2if (time < 10) { 3 printf("Good morning."); 4} else if (time < 20) { 5 printf("Good day."); 6} else { 7 printf("Good evening."); 8} 9// 输出 "Good evening."

例子解释

在上面的示例中,时间 (22) 大于 10,因此第一个条件为假。下一个条件,在 else if 语句中,也是假的,因此我们移动到 else 条件,因为 condition1condition2 都是假的 - 并打印到屏幕“Good evening”。

但是,如果时间是 14,我们的程序会打印“Good day”。

另一个例子

此示例展示了如何使用 if..else 找出数字是正数还是负数:

1int myNum = 10; // 这是一个正数还是负数? 2 3if (myNum > 0) { 4 printf("The value is a positive number."); 5} else if (myNum < 0) { 6 printf("The value is a negative number."); 7} else { 8 printf("The value is 0."); 9}

C 语言中的简洁 if...else 语句(三元运算符)

除了标准的 if...else 语句之外,C 语言还提供了一种简写形式,称为三元运算符,因为它由三个操作数组成。它可以将多行代码替换为一行,通常用于替换简单的 if...else 语句。

语法

1variable = (condition) ? expressionTrue : expressionFalse;

示例

以下代码用标准的 if...else 语句判断时间是否晚于 18 点:

1int time = 20; 2if (time < 18) { 3 printf("Good day."); 4} else { 5 printf("Good evening."); 6}

使用三元运算符可以简写为:

1int time = 20; 2(time < 18) ? printf("Good day.") : printf("Good evening.");

两种方式都将输出 "Good evening."。

优点

三元运算符的优点在于简洁,可以将多行代码替换为一行,使代码更易读。

缺点

三元运算符的缺点在于可读性下降,尤其是嵌套使用时,可能会使代码难以理解。

使用建议

建议在简单的 if...else 语句中使用三元运算符,以简化代码。在复杂的情况下,建议使用标准的 if...else 语句,以保持代码的可读性。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏

评论区

加载中...

相关推荐

使用 JavaScript 编写更好的条件语句

在任何编程语言中,代码需要根据不同的条件在给定的输入中做不同的决定和执行相应的动作。例如,在一个游戏中,如果玩家生命点为0,游戏结束。在天气应用中,如果在早上被查看,显示一个日出图片,如果是晚上,则显示星星和月亮。在这篇文章中,我们将探索JavaScript中所谓的条件语句如何工作。如果你使用JavaScript工作,你将写很多包含条件调用的代码。条件调用可

一篇文章带你了解JavaScript switch

Switch是与if...else...相同的条件语句,不同之处在于switch语句允许根据值列表测试变量是否相等。switch语句用于根据不同的条件执行不同的操作。一、Switch语句使用switch语句选择要执行的多个代码块中的一个。1\.语法switch(expression)casen:codeblock

一篇文章带你了解JavaScript While 循环

循环可以执行一个代码块,只要指定条件为真,循环就可以执行代码块。一、While循环while只要指定条件的值为真,循环就会执行指定语句。while循环的语法while(condition)statement//只要条件为真,就执行代码例:项目JavaScriptwhile语句只要n小于5,就遍历一段代码:varn0;while(n<

C语言入门系列之5.循环控制结构程序

@一、概述循环结构是程序中一种很重要的结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构:goto语句和if语句构成循环;while语句;dowhile语句;for语句。二、got

Java知识系统回顾整理01基础05控制流程03 while

while和dowhile循环语句一、while:条件为true时重复执行只要while中的表达式成立,就会不断地循环执行!(https://oscimg.oschina.net/oscnet/f7f8d003013b0b12222c5a5cbd78fe0ca96.png)publicclassHelloWorld{

Python 条件和 if 语句

Python支持来自数学的通常逻辑条件:等于:ab不等于:a!b小于:a<b小于或等于:ab大于或等于:ab这些条件可以以多种方式使用,最常见的是在"if语句"和循环中使用。if语句是使用if关键字编写的。示例,if语句:pythona33b200ifba