C语言菜鸟入门·判断语句(if语句、if...else语句、嵌套if语句)详细介绍

目录

[1. if语句](#1. if语句)

[2. if...else语句](#2. if...else语句)

[3. if...else if...else 语句](#3. if...else if...else 语句)

[4. 嵌套if语句](#4. 嵌套if语句)


C 语言把任何非零非空 的值假定为 true ,把null 假定为 false

语句 描述
if语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if...else语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套if语句 您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句。
switch语句 一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套switch语句 您可以在一个 switch 语句内使用另一个 switch语句。

1. if语句

C 语言中 if 语句的语法:

复制代码
if(判断条件)
{
   /* 如果表达式为真将执行的语句 */
}

如果布尔表达式为 true ,则 if 语句内的代码块将被执行。如果布尔表达式为 false,则 if 语句结束后的第一组代码(闭括号后)将被执行。

C 语言把任何非零非空 的值假定为 true ,把null 假定为 false

代码示例,条件满足:

复制代码
#include <stdio.h>

int main()
{
    /* 局部变量定义 */
    int a = 10;

    /* 使用 if 语句检查布尔条件 */
    if (a < 20)
    {
        /* 如果条件为真,则输出下面的语句 */
        printf("a 小于 20\n");
    }
    printf("a 的值是 %d\n", a);

    return 0;
}

条件不满足,将跳过if语句:

复制代码
#include <stdio.h>

int main()
{
    /* 局部变量定义 */
    int a = 10;

    /* 使用 if 语句检查布尔条件 */
    if (a < 9)
    {
        /* 如果条件为真,则输出下面的语句 */
        printf("a 小于 20\n");
    }
    printf("a 的值是 %d\n", a);

    return 0;
}

2. if...else语句

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。

C 语言中 if...else 语句的语法:

复制代码
if(判断语句)
{
   /* 如果布尔表达式为真将执行的语句 */
}
else
{
   /* 如果布尔表达式为假将执行的语句 */
}

如果布尔表达式为 true ,则执行 if 块内的代码。如果布尔表达式为 false ,则执行 else 块内的代码。

C 语言把任何非零非空 的值假定为 true ,把null 假定为 false

代码示例,条件满足:

复制代码
#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   int a = 10;
 
   /* 检查布尔条件 */
   if( a < 20 )
   {
       /* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }
   else
   {
       /* 如果条件为假,则输出下面的语句 */
       printf("a 大于 20\n" );
   }
   printf("a 的值是 %d\n", a);
 
   return 0;
}

条件不满足,将执行else语句:

复制代码
#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
 
   /* 检查布尔条件 */
   if( a < 20 )
   {
       /* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }
   else
   {
       /* 如果条件为假,则输出下面的语句 */
       printf("a 大于 20\n" );
   }
   printf("a 的值是 %d\n", a);
 
   return 0;
}

3. if...else if...else 语句

一个 if 语句后可跟一个可选的 else if...else 语句,这可用于测试多种条件。

当使用 if...else if...else 语句时,以下几点需要注意:

  • 一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
  • 一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
  • 一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

C 语言中的 if...else if...else 语句的语法:

复制代码
if(判断条件1)
{
   /* 当布尔表达式 1 为真时执行 */
}
else if(判断条件2)
{
   /* 当布尔表达式 2 为真时执行 */
}
else if(判断条件3)
{
   /* 当布尔表达式 3 为真时执行 */
}
else 
{
   /* 当上面条件都不为真时执行 */
}

当if语句满足后将不在执行else...if以及else语句:

复制代码
#include <stdio.h>

int main()
{
	int a = 9;

	if (a<10)
	{
		printf("a 的值小于10\n");
	}
	else if (a<20)
	{

		printf("a 的值小于20\n");
	}
	else if (a<30)
	{
		printf("a 的值小于30\n");
	}
	else
	{
		printf("没有匹配的值\n");
	}

	return 0;
}

一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试:

复制代码
#include <stdio.h>

int main()
{
	int a = 19;

	if (a < 10)
	{
		printf("a 的值小于10\n");
	}
	else if (a < 20)
	{

		printf("a 的值小于20\n");
	}
	else if (a < 30)
	{
		printf("a 的值小于30\n");
	}
	else
	{
		printf("没有匹配的值\n");
	}

	return 0;
}

4. 嵌套if语句

在 C 语言中,嵌套 if-else 语句是合法的,这意味着您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句

复制代码
if(判断条件1)
{
   /* 当布尔表达式 1 为真时执行 */
   if(判断条件2)
   {
      /* 当布尔表达式 2 为真时执行 */
   }
}

#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   /* 检查布尔条件 */
   if( a == 100 )
   {
       /* 如果条件为真,则检查下面的条件 */
       if( b == 200 )
       {
          /* 如果条件为真,则输出下面的语句 */
          printf("a 的值是 100,且 b 的值是 200\n" );
       }
   }
   printf("a 的准确值是 %d\n", a );
   printf("b 的准确值是 %d\n", b );
 
   return 0;
}

Visual Studio编辑器左侧菜单栏不小心关掉如何打开(左侧解决方案资源管理器不显示如何打开)、C语言中int main和void main的区别以及C工程的创建_visual studio2022 资源管理器怎么打开桌面面板-CSDN博客
Visual Studio编辑器中C4996 'scanf': This function or variable may be unsafe.问题解决方案-CSDN博客

相关推荐
程序喵大人4 小时前
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里
开发语言·c++·stl
cui_ruicheng5 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
wdfk_prog6 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
晴空了无痕6 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
神明不懂浪漫6 小时前
【第五章】Java中的继承与多态
java·开发语言
安妮细水长流7 小时前
汽车电子面试问题记录
单片机
神州世通7 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
碎光拾影7 小时前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
GeekArch7 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
AC赳赳老秦8 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw