C 语言 if...else 语句

C 语言 if...else 语句

在本教程中,您将在示例的帮助下了解C语言编程中的if语句(包括if ... else和嵌套if...else)。

C 语言 if语句

ifC语言编程中该语句的语法为:

示例

复制代码
if (test expression) 
{
   //测试表达式为真时,执行的语句
}

if语句如何工作?

if语句在括号()内评估测试表达式。

  • 如果测试表达式的计算结果为true,则将if执行主体内部的语句。
  • 如果测试表达式的计算结果为false,if则不会执行主体内的语句。

要了解有关何时将测试表达式评估为true(非零值)和false(0)的更多信息,请检查关系运算符和逻辑运算符。

示例1:if语句

c 复制代码
//程序显示一个数字,如果它是负数
#include <stdio.h>
int main() {
    int number;

    printf("输入一个整数: ");
    scanf("%d", &number);

    //如果数字小于0,则为true
    if (number < 0) {
        printf("您输入 %d.\n", number);
    }

    printf("if语句很简单。");

    return 0;
}

输出1

c 复制代码
输入一个整数: -25
您输入  -25.
if语句很简单。

当用户输入-25时,测试表达式number<0将评估为true。因此,您输入的-25 将显示在屏幕上。

输出2

c 复制代码
输入一个整数: 5
if语句很简单。

当用户输入5时,测试表达式number<0的计算结果为false,并且if不执行主体内部的语句

C 语言 if ... else语句

if语句可以有一个可选的else块。if...else语句的语法为:

示例

c 复制代码
if (test expression) {
    //测试表达式为真时,要执行的语句
}
else {
    // 如果测试表达式为假,则执行的语句
}

if... else语句如何工作?

如果测试表达式(test expression)的计算结果为true,

  • if内的语句被执行。
  • 主体中else的语句从执行中跳过,即else中的语句不会被执行。

如果测试表达式(test expression)的值为false,

  • else内的语句会被执行
  • if主体中的语句会被跳过,即不会执行。

示例2:if ... else语句

c 复制代码
// 检查一个整数是奇数还是偶数
#include <stdio.h>
int main() {
    int number;
    printf("输入一个整数: ");
    scanf("%d", &number);

    //如果余数为0,则为true
    if  (number%2 == 0) {
        printf("%d 是一个偶数。",number);
    }
    else {
        printf("%d是一个奇数。",number);
    }

    return 0;
}

输出结果

c 复制代码
输入一个整数: 23
23 是一个奇数。

当用户输入23时,(test expression)测试表达式 number%2==0 的评估结果为false。因此,将执行else主体内的语句。

C 语言 if...else if...else 语句

if...else语句执行两个不同的代码,具体取决于测试表达式(test expression)为true还是false。适用于必须从两种以上的可能性中进行选择。

if...else if...else允许您在多个测试表达式之间进行检查并执行不同的语句。

if...else if...else的语法

示例

c 复制代码
if (test expression1) {
   // 语句
}
else if(test expression2) {
   // 语句
}
else if (test expression3) {
   // 语句
}
.
.
else {
   // 语句
}

示例3:C 语言if...else if...else示例

c 复制代码
//程序使用=、> 或< 符号比较两个整数

#include <stdio.h>
int main() {
    int number1, number2;
    printf("输入两个整数: ");
    scanf("%d %d", &number1, &number2);

    //检查两个整数是否相等
    if(number1 == number2) {
        printf("结果: %d = %d",number1,number2);
    }

    //检查number1是否大于number2。
    else if (number1 > number2) {
        printf("结果: %d > %d", number1, number2);
    }

    //如果以上两个测试表达式均为false,则执行下面语句
    else {
        printf("结果: %d < %d",number1, number2);
    }

    return 0;
}

输出结果

c 复制代码
输入两个整数: 12
23
结果: 12 < 23

C 语言 if...else 语句嵌套

可以在另一个if...else语句的主体中包含另一个if...else语句。

示例4:if...else嵌套演示

此程序下面给出使用任一涉及两个整数<,>和=类似if...else阶梯的实例。但是,我们将使用嵌套if...else语句来解决此问题。

c 复制代码
#include <stdio.h>
int main() {
    int number1, number2;
    printf("输入两个整数: ");
    scanf("%d %d", &number1, &number2);

    if (number1 >= number2) {
      if (number1 == number2) {
        printf("结果: %d = %d",number1,number2);
      }
      else {
        printf("结果: %d > %d", number1, number2);
      }
    }
    else {
        printf("结果: %d < %d",number1, number2);
    }

    return 0;
}

如果if...else语句的主体只有一个语句,可以不需要使用方括号{}。

例如,下面代码

示例

c 复制代码
if (a > b) {
    print("Hello");
}
print("Hi");

等同于

示例

c 复制代码
if (a > b)
    print("Hello");
print("Hi");
相关推荐
我命由我123459 分钟前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
额额额对了13 分钟前
【项目实战】从IMX6ULL环境监测到N647 AI视觉加速
linux·开发语言·嵌入式硬件
羊锦磊21 分钟前
嵌入式基础1
c语言·c++·gnu
熊猫钓鱼>_>26 分钟前
端侧 NPU 轻量大模型推理接入笔记【鸿蒙心迹】
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙
外收内放28 分钟前
FastAPI猜字谜实战(8):收官
开发语言·python·学习·fastapi
爱敲代码的TOM29 分钟前
10.27 易购软件 Java开发线下一面
java·开发语言
学逆向的36 分钟前
C++ 别名命名空间
开发语言·c++·网络安全
沉下心来学鲁班37 分钟前
具身智能实战:让机器鸭爬梯子——双策略交接与接触力控制的深度解读
开发语言·人工智能·python·机器人
唐青枫42 分钟前
C 语言 calloc() 详解:零初始化、动态数组与内存管理实战
c语言
David猪大卫1 小时前
【C++修炼】STL容器—stack与queue
c语言·开发语言·数据结构·c++·经验分享·笔记·学习