Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C 语言教程:条件和 if...else 语句

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

原创
作者头像
小万哥
发布于 2023-12-25 11:07:38
发布于 2023-12-25 11:07:38
41500
代码可运行
举报
文章被收录于专栏:程序人生丶程序人生丶
运行总次数:0
代码可运行

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

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

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

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

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

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

if 语句

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

语法

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
if (condition) {
  // 要在条件为真时执行的代码块
}

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

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

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
if (20 > 18) {
  printf("20 is greater than 18");
}

我们也可以测试变量:

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
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 语句指定要执行的代码块,如果条件为假。

语法

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
if (condition) {
  // 如果条件为真,则执行的代码块
} else {
  // 如果条件为假,则执行的代码块
}
代码语言:c
代码运行次数:0
运行
AI代码解释
复制
int time = 20;
if (time < 18) {
  printf("Good day.");
} else {
  printf("Good evening.");
}
// 输出 "Good evening."

例子解释

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

else if 语句

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

语法

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
if (condition1) {
  // 如果条件1为真,则执行的代码块
} else if (condition2) {
  // 如果条件1为假且条件2为真,则执行的代码块
} else {
  // 如果条件1为假且条件2为假,则执行的代码块
}
代码语言:c
代码运行次数:0
运行
AI代码解释
复制
int time = 22;
if (time < 10) {
  printf("Good morning.");
} else if (time < 20) {
  printf("Good day.");
} else {
  printf("Good evening.");
}
// 输出 "Good evening."

例子解释

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

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

另一个例子

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

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
int myNum = 10; // 这是一个正数还是负数?

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 语言中的简洁 if...else 语句(三元运算符)

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

语法

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
variable = (condition) ? expressionTrue : expressionFalse;

示例

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

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
int time = 20;
if (time < 18) {
  printf("Good day.");
} else {
  printf("Good evening.");
}

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

代码语言:c
代码运行次数:0
运行
AI代码解释
复制
int time = 20;
(time < 18) ? printf("Good day.") : printf("Good evening.");

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

优点

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

缺点

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

使用建议

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
❤️C++条件语句教程❤️
使用该if语句指定在条件为 时要执行的 C++ 代码块为true。 注意 if是小写字母。大写字母(If 或 IF)将产生错误。 例如:
川川菜鸟
2021/10/19
5830
C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓
在下面的示例中,我们测试两个值,以判断 20 是否大于 18。如果条件为 true,则打印一些文本:
小万哥
2024/04/02
5190
C++ 条件与 If 语句:掌握逻辑判断与流程控制精髓
Kotlin 布尔值教程:深入理解与应用示例
布尔类型可以用 Boolean 关键字声明,并且只能取 true 或 false 值:
小万哥
2024/08/05
1400
Kotlin 布尔值教程:深入理解与应用示例
Java 数学运算与条件语句全解析
布尔类型 使用 boolean 关键字声明,只能取 true 或 false 的值。
小万哥
2024/02/06
1740
Java 数学运算与条件语句全解析
C# 布尔值和条件语句:入门指南和实用示例
布尔表达式通过比较值/变量返回布尔值:True 或 False。这对于构建逻辑和找到答案很有用。
小万哥
2024/01/21
3320
C# 布尔值和条件语句:入门指南和实用示例
挑战30天学完Python:Day9逻辑语句-条件
默认情况下,Python脚本中的语句是从上到下依次执行。如果有逻辑处理需要,可以通过以下两种方式改变执行的顺序:
MegaQi
2023/10/21
2260
挑战30天学完Python:Day9逻辑语句-条件
JavaScript if...Else 语句
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
陈不成i
2021/07/16
8670
脚踏Java知识点
学编程的小程
2023/10/11
1820
脚踏Java知识点
谈谈C语言中的那些判断语句
在C语言中,我们要判断一个事件是否成立,常常会用到一些判断语句,而这些判断语句还需要一个判断条件,以及条件为真时要执行的语句(必要的)和条件为假时要执行的语句(非必要的)。C语言把任何非零和非空的值假定为 true,把零或null假定为false。
程序员小顺
2021/10/13
1.2K0
C语言分支循环语句
欢迎来到我的博客!今天我们将一起探讨C语言中非常重要的分支循环语句。这些语句在我们日常的编程工作中起着至关重要的作用,它们可以帮助我们更好地组织代码并实现复杂的逻辑。
小志biubiu
2025/02/27
1302
网络工程师学Python-6-条件语句:If...Else
在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。
网络技术联盟站
2023/04/19
5600
网络工程师学Python-6-条件语句:If...Else
掌握Python控制流:if语句的高级用法
在Python编程中,控制流语句是构建逻辑和执行流程的基础。if语句是控制流语句中最基本、最常用的语句之一。通过if语句,我们可以根据条件执行不同的代码块。本文将详细介绍Python中if语句的高级用法,包括嵌套if、elif的使用、条件表达式、逻辑运算符、组合条件、短路逻辑等,并提供具体的示例代码,帮助全面掌握if语句的高级用法。
sergiojune
2024/07/22
1760
掌握Python控制流:if语句的高级用法
为什么 Python、Go 和 Rust 都不支持三元运算符?
在编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python 并不支持三元运算符,无独有偶,两个最热门的新兴语言 Go 和 Rust 也不支持!
Python猫
2023/04/03
4.4K2
C++基础运算与选择结构
C++中的基本运算包括算术运算、关系运算、逻辑运算和位运算。下面是各种类型的基本运算操作示例:
一个风轻云淡
2023/12/24
1570
详解C语言中的分支语句(下)
续接上回,我们讲到了三个表达式之间的比较。我们想要得到中间的那个表达式是否真的大于右边的表达式,并且小于左边的表达式。 详解C语言中的分支语句(上)
埋头编程
2024/10/16
1240
详解C语言中的分支语句(下)
【c语言】分支语句
if语句是c语言最常见的条件判断语句,它可以根据表达式的真假来做出逻辑判断,实现“选择”。它的语法如下:
ephemerals__
2024/10/24
1680
【c语言】分支语句
JavaScript基础-运算符与条件语句
在JavaScript编程中,运算符和条件语句是构建逻辑和控制程序流程的核心工具。本篇文章将带你深入了解这些基础概念,揭示常见问题与易错点,并通过实例代码展示如何有效避免这些陷阱,使你的代码更加健壮和易于维护。
Jimaks
2024/06/12
1820
【C语言】分支与循环(上)
在C语言中,0为假,非0为真,也就是表达式的结果如果是0,则语句不执行,表达式的结果非0,则语句执行。
云边有个稻草人
2024/10/21
1670
【C语言】分支与循环(上)
轻松拿捏C语言——分支语句
选择语句(即分支语句)包含了if语句和switch语句,其允许程序在一组可选项中选择其中一条执行路径。
用户11162265
2024/06/14
2120
C语言-分支与循环(1)-学习笔记
恭喜你发现了一篇超级实用的长文。如果你正在寻找具体的模块,可以先查看目录,找到自己需要的内容。在这里,你将会发现我们为你准备的各种有趣、有用的信息。快来一起探索吧!
LonlyMay
2024/10/21
1020
C语言-分支与循环(1)-学习笔记
相关推荐
❤️C++条件语句教程❤️
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验