【c语言】if 选择语句

简介: 【c语言】if 选择语句


引言:

在C语言中,控制流语句是编写程序时至关重要的部分之一。而其中的选择语句,尤其是if系列语句,是实现条件执行的重要工具。

在本篇博客中,我们将深入探讨C语言中的if语句及其衍生形式,帮助读者更好地理解和运用这些语句。

一 初步了解选择语句

1.1 概念

选择语句是编程中的一种结构,用于根据条件的真假来选择性地执行不同的代码块。

它允许程序根据特定的条件,选择性地执行一组语句或代码块中的某一部分,从而实现根据不同情况采取不同行动的逻辑。

选择语句是控制流程的基本工具之一,能够使程序根据不同的情况采取不同的分支,以实现更加灵活和智能的程序逻辑。

在C语言中,常见的选择语句包括 if 语句、switch 语句和三元运算符 ? :。

1.2 类比

让我们考虑一个现实生活中的例子:

假设你去商店购买一件衣服,并且你的购买决定取决于以下几个条件:

如果你的预算足够买下你喜欢的一件衣服,你会购买它。

如果你的预算不足以购买你喜欢的衣服,但商店提供了折扣,使得价格适合你的预算,你也会考虑购买。

如果价格仍然超出了你的预算,但你对其他款式或品牌的衣服也感兴趣,而这些衣服的价格在你的预算范围内,你可能会选择购买其中一件。

如果所有的衣服都超出了你的预算,你可能会决定不购买,或者等待更好的折扣或更合适的时机。

在这个例子中,你面临不同的选择,取决于你的预算、商品的价格以及可能存在的折扣。

这类似于编程中的选择语句,你根据不同的条件(预算、价格、折扣)做出不同的决策(购买、考虑购买、不购买),从而达到最符合你需求和情况的结果。

在接下来,我将介绍c语言中常见的选择语句。

二 if 语句

2.1 语法及作用

在C语言中,if语句是一种条件语句,用于根据某个条件的真假执行相应的代码块。

if语句的基本语法如下:

if (condition)
{
    // 如果条件为真,则执行这里的代码块
}

其中,condition 是一个表达式,它会被计算为真(非零)或假(零)。

如果 condition 为真,那么紧跟在 if 后面的代码块会被执行;如果 condition 为假,则这个代码块会被跳过。

流程图如下:

2.2 示例

下面是一个简单的if语句示例:

#include <stdio.h>
int main() {
    int x = 10;
    if (x > 5) {
        printf("x大于5\n");
    }
    return 0;
}

在这个示例中,x > 5 是条件表达式。如果 x 的值大于5,则条件为真,于是打印 “x大于5”;如果 x 的值不大于5,则条件为假,代码块不会执行。

运行结果:

x大于5

2.3 if 语句中的嵌套

if语句可以嵌套,即在一个if语句的代码块中包含另一个if语句。这种嵌套可以使程序员根据更复杂的条件来控制程序的流程。

示例:

#include <stdio.h>
int main() {
    int x = 10;
    int y = 20;
    if (x > 5) {
        if (y > 15) {
            printf("x大于5,y大于15\n");
        }
    }
    return 0;
}

这段C代码首先定义了两个整数变量 x 和 y 分别赋值为 10 和 20。

接着,通过嵌套的if语句进行条件判断。

第一个if语句检查 x > 5 是否为真,如果为真,则进入内部的第二个if语句。

在第二个if语句中,条件为 y > 15,只有当 y 大于15时,才会执行内部的代码块,即打印 “x大于5,y大于15”。

由于 x 是大于5的,而 y 也是大于15的,所以最终会输出 “x大于5,y大于15”。

运行结果:

x大于5,y大于15

2.4 多条件判断:

此外,还可以使用逻辑运算符来组合多个条件进行判断。

常用的逻辑运算符包括 &&(逻辑与)、||(逻辑或)和 !(逻辑非)。

逻辑运算符介绍

逻辑与运算符 && 用于连接两个条件表达式。当且仅当两个条件表达式都为真(非零)时,整个逻辑与表达式才为真,否则为假(零)。

逻辑或运算符 || 用于连接两个条件表达式。当两个条件表达式中至少有一个为真(非零)时,整个逻辑或表达式就为真,只有当两个条件表达式都为假(零)时,整个表达式才为假。

逻辑非运算符 ! 用于取反一个条件表达式的真值。如果条件表达式为真(非零),则取反后为假(零),反之亦然。

示例:

#include <stdio.h>
int main() {
    int x = 10;
    int y = 20;
    if (x > 5 && y > 15) {
        printf("x大于5,且y大于15\n");
    }
    return 0;
}

在这个示例中,只有当 x > 5 为真且 y > 15 也为真时,才会打印 “x大于5,且y大于15”。

运行结果:

x大于5,且y大于15

通过嵌套和组合条件,可以实现更加灵活和复杂的逻辑控制。

三 if … else 语句

在C语言中,if … else语句是一种条件语句,用于根据条件的真假来执行不同的代码块。

其基本语法如下:

if (condition) {
    // 如果条件为真,执行这里的代码块
} else {
    // 如果条件为假,执行这里的代码块
}

流程图如下:

它工作原理是,首先计算condition中的表达式。

如果表达式的值为真(即非零),则执行if后面的代码块;

如果表达式的值为假(即零),则执行else后面的代码块。在执行完其中一个代码块后,程序会继续执行if … else语句之后的代码。

与纯if 语句的区别是它不管条件的真假一定会执行一个代码块的内容,而不是有可能什么都不执行。

if … else语句也可以嵌套,即在一个if或else块中再包含另一个if … else语句,以实现更复杂的条件判断。

示例

#include <stdio.h>
int main() {
    int number = 10;
    if (number > 0) {
        printf("Number is positive\n");
    } else {
        printf("Number is non-positive\n");
    }
    return 0;
}

输出结果:

Number is positive

在这个例子中,如果number的值大于0,则会输出"Number is positive";否则,输出"Number is non-positive"

四 if…else if…else语句

在C语言中,if…else if…else语句是一种用于处理多个条件的控制流语句。

它允许你在一个条件不满足时检查另一个条件,并根据不同的条件执行相应的代码块。

其基本语法如下:

if (condition1) {
    // 如果条件1为真,执行这里的代码块
} else if (condition2) {
    // 如果条件1为假,而条件2为真,执行这里的代码块
} else if (condition3) {
    // 如果条件1和条件2都为假,而条件3为真,执行这里的代码块
} else {
    // 如果所有条件都为假,执行这里的代码块
}

if…else if…else语句的执行流程是按照条件从上到下依次判断。

一旦找到第一个为真的条件,就执行对应的代码块,而不再继续判断后面的条件。

如果所有条件都为假,那么执行else后的代码块(如果存在)。

以下是一个简单的例子,演示了if…else if…else语句的使用:

#include <stdio.h>
int main() {
    int number = 0;
    if (number > 0) {
        printf("Number is positive\n");
    } else if (number < 0) {
        printf("Number is negative\n");
    } else {
        printf("Number is zero\n");
    }
    return 0;
}

输出结果:

Number is zero

在这个例子中,根据number的值,程序会输出相应的消息。

如果number大于0,输出"Number is positive";

如果number小于0,输出"Number is negative";

如果number等于0,输出"Number is zero"。

这样,通过if…else if…else语句,可以根据不同的条件执行不同的代码块。

总结

通过本文的介绍,读者应该对C语言中的if系列语句有了更加全面的了解。

从最基础的if语句到包含多个条件的if…else if…else语句,我们逐步深入探讨了这些语句的语法、用法以及示例,希望能够帮助读者掌握它们的使用技巧。

选择语句在程序设计中起着至关重要的作用,熟练掌握它们将有助于编写更加清晰、简洁和高效的代码。

这篇文章到这里就结束了

谢谢大家的阅读!

如果觉得这篇博客对你有用的话,别忘记三连哦。

我是豌豆射手^,让我们我们下次再见

相关文章
|
C语言
C语言控制语句
C语言控制语句
61 0
|
7月前
|
C语言
C语言学习笔记-C语言中的程序结构语句
C语言学习笔记-C语言中的程序结构语句
|
7月前
|
存储 C语言
C语言中的if语句编程
C语言中的if语句编程
98 0
|
4月前
|
存储 编译器 C语言
C语言中的简单语句
C语言中的简单语句
|
5月前
|
C语言
【C语言】选择语句
C语言中选择语句的相关知识点
49 1
【C语言】选择语句
|
7月前
|
算法 搜索推荐 程序员
C语言中的if语句
C语言中的if语句
204 1
|
7月前
|
C语言
if语句的应用(C语言零基础教程)
if语句的应用(C语言零基础教程)
|
7月前
|
存储 程序员 C语言
c语言中的if语句
c语言中的if语句
35 0
|
7月前
|
C语言
C语言if语句
C语言if语句
68 0
|
7月前
|
C语言
C语言的流程控制语句
C语言的流程控制语句
79 0