C语言学习之条件和 if...else语句详解

 更新时间:2023年12月26日 08:32:22   作者:小万哥丶  
这篇文章主要给大家介绍了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 语句指定要执行的代码块,如果条件为真。

语法

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 语句,以保持代码的可读性。

最后

以上就是C语言学习之条件和 if...else语句详解的详细内容,更多关于C语言条件和 if...else语句的资料请关注脚本之家其它相关文章!

相关文章

  • 用C语言winform编写渗透测试工具实现SQL注入功能

    用C语言winform编写渗透测试工具实现SQL注入功能

    本篇文章主要介绍使用C#winform编写渗透测试工具,实现SQL注入的功能。使用python编写SQL注入脚本,基于get显错注入的方式进行数据库的识别、获取表名、获取字段名,最终获取用户名和密码;使用C#winform编写windows客户端软件调用.py脚本,实现用户名和密码的获取
    2021-08-08
  • C语言创建线程thread_create()的方法

    C语言创建线程thread_create()的方法

    这篇文章主要介绍了C语言创建线程thread_create()的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C++中int main(int argc, char** argv)的参数使用

    C++中int main(int argc, char** argv)的参数使用

    int main(int argc, char** argv) 是C和C++程序的入口点,其中argc和argv是用来接收从命令行传递给程序的参数的,本文就来介绍一下这两个参数的含义,感兴趣的可以了解一下的相关资料
    2024-01-01
  • C++实现LeetCode(142.单链表中的环之二)

    C++实现LeetCode(142.单链表中的环之二)

    这篇文章主要介绍了C++实现LeetCode(142.单链表中的环之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C语言数据结构超详细讲解单向链表

    C语言数据结构超详细讲解单向链表

    链表可以说是一种最为基础的数据结构了,而单向链表更是基础中的基础。链表是由一组元素以特定的顺序组合或链接在一起的,不同元素之间在逻辑上相邻,但是在物理上并不一定相邻。在维护一组数据集合时,就可以使用链表,这一点和数组很相似
    2022-03-03
  • C语言 while语句的用法详解

    C语言 while语句的用法详解

    本文主要介绍C语言while 语句,这里对while 循环做详细讲解,并提供示例代码,希望能帮助学习C语言的同学
    2016-07-07
  • C# CLR学习 C++使用namespace实例详解

    C# CLR学习 C++使用namespace实例详解

    这篇文章主要为大家介绍了C# CLR学习 C++使用namespace实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 关于C++中引用和指针的区别详解

    关于C++中引用和指针的区别详解

    这篇文章主要介绍了关于C++中引用和指针的区别详解,
    2023-07-07
  • C++之友元:友元函数和友元类详解

    C++之友元:友元函数和友元类详解

    友元是一种允许非类成员函数访问类的非公有成员的一种机制。可以把一个函数指定为类的友元,也可以把整个类指定为另一个类的友元
    2013-09-09
  • 浅析C++中结构体的定义、初始化和引用

    浅析C++中结构体的定义、初始化和引用

    以下是对C++中结构体的定义、初始化和引用进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09

最新评论