首页 > 其他分享 >C 语言教程:条件和 if...else 语句

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

时间:2023-12-25 19:31:48浏览次数:26  
标签:语句 ... 教程 Good 18 条件 else printf

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

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

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

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

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

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

if 语句

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

语法

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

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

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

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 语句指定要执行的代码块,如果条件为假。

语法

if (condition) {
  // 如果条件为真,则执行的代码块
} else {
  // 如果条件为假,则执行的代码块
}
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 语句指定新的条件,如果第一个条件为假。

语法

if (condition1) {
  // 如果条件1为真,则执行的代码块
} else if (condition2) {
  // 如果条件1为假且条件2为真,则执行的代码块
} else {
  // 如果条件1为假且条件2为假,则执行的代码块
}
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 找出数字是正数还是负数:

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 语句。

语法

variable = (condition) ? expressionTrue : expressionFalse;

示例

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

int time = 20;
if (time < 18) {
  printf("Good day.");
} else {
  printf("Good evening.");
}

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

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

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

优点

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

缺点

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

使用建议

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

最后

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

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

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

标签:语句,...,教程,Good,18,条件,else,printf
From: https://blog.51cto.com/xiaowange/8971490

相关文章

  • 无涯教程-PostgreSQL - 连接C/C++
    本教程将使用libpqxx库,该库是PostgreSQL的官方C++客户端API。libpqxx的源代码在BSD许可下可用,因此您可以免费下载,将其传递给他人,进行更改,出售,将其包含在自己的代码中,并与选择的任何人共享您的更改。安装Libpqxx可以从以下链接下载最新版本的libpqxx:下载Libpqxx。因此,下载......
  • C 语言教程:条件和 if...else 语句
    C语言中的条件和if...else语句您已经学习过C语言支持数学中的常见逻辑条件:小于:a<b小于或等于:a<=b大于:a>b大于或等于:a>=b等于:a==b不等于:a!=b您可以使用这些条件来根据不同的决策执行不同的操作。C语言具有以下条件语句:使用if来指定要执行的代码块......
  • 无涯教程-PostgreSQL - 常用函数
    PostgreSQL内置函数(也称为聚合函数)用于对字符串或数字数据执行处理。以下是所有通用PostgreSQL内置函数的列表-PostgreSQLCOUNT函数   - 获取的行数。PostgreSQLMAX函数      - 获取最高(最大值)值。PostgreSQLMIN函数      -......
  • kafka可视化监控工具EFAK(kafka-eagle)安装教程
    1.情景展示要想对kafka进行可视化监控,我们可以使用EFAK(旧名:kafka-eagle)。部署成功后,首页长这个样子。2.安装步骤第一步:安装地址1:官方网站https://www.kafka-eagle.org/,最终跳转的还是github(https://github.com/smartloli/kafka-eagle-bin/archive/v3.0.1.tar.gz)地址2:git......
  • 无涯教程-PostgreSQL - Functions(函数)
    PostgreSQL函数,也称为存储过程,使您能够执行通常会在数据库中的单个函数中进行多个查询和往返的操作,函数允许数据库重用,因为其他应用程序可以直接与您的存储过程进行交互,而无需中间层或重复代码。Functions-语法创建函数的基本语法如下-CREATE[ORREPLACE]FUNCTIONfuncti......
  • 无涯教程-PostgreSQL - SubQueries(子查询)
    子查询或内部查询或嵌套查询是另一个PostgreSQL查询中的查询,并嵌入在WHERE子句中。子查询可与SELECT,INSERT,UPDATE和DELETE语句以及=,<,>,>=,<=,IN等运算符一起使用。SELECT子查询子查询最常与SELECT语句一起使用。基本语法如下-SELECTcolumn_name[,column_name]FROMtable......
  • 无涯教程-PostgreSQL - Locks(锁)
    排他锁或写锁可防止用户修改行或整个表,然后,在事务期间,由UPDATE和DELETE修改的行将被自动锁定,这样可以防止其他用户更改行,直到事务被提交或回滚为止。用户必须等待其他用户的唯一时间是他们尝试修改同一行时,如果他们修改不同的行,则无需等待,SELECT查询永远不必等待。数据库自动......
  • 接手了个项目,被if..else搞懵逼了
    接手了个项目,被if..else搞懵逼了 背景领导:“这个项目,今后就给你维护了啊,仔细点。”小猫:“好,没问题”。可当满怀信心的小猫打开项目工程包翻看一些代码之后,瞬间懵逼没了信心。是这样的还是这样的平级的ifelse密密麻麻就算了,但是深套五六层的ifelse甚至七八层的真的是让人摸......
  • 速看!2024网页制作工具测评大全,附网页制作教程
    你知道目前世界上有多少个网站吗?18亿多!如果现在你想做个网站,必须考虑如何从数量众多的网站中脱颖而出。当然第一步,你需要个优秀好用的网页制作工具。本文,我盘点了15个网页制作工具,从功能简介、价格、学习难度等方面为你做了全面解析,欢迎收藏。相信网页制作工具一旦选对,你的设计之......
  • 无涯教程-PostgreSQL - Views(视图)
    视图是伪表。也就是说,它们不是真实表,视图可以表示真实表的子集,从普通表中选择某些列或某些行。由于视图不是普通表,因此您可能无法在视图上执行DELETE,INSERT或UPDATE语句,但是,您可以创建一个RULE来纠正在视图上使用DELETE,INSERT或UPDATE的问题。创建视图PostgreSQL视图是使用CR......