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博客

相关推荐
老前端的功夫几秒前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287921 分钟前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab13 分钟前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
yaoxin52112328 分钟前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
小短腿的代码世界31 分钟前
Qt日志系统深度解析:从qDebug到企业级日志框架
开发语言·qt
REDcker1 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
LCG元2 小时前
STM32项目实战:基于STM32F103的智能农业监控系统
stm32·单片机·嵌入式硬件
老花眼猫2 小时前
编制椭圆旋转绘图函数
c语言·经验分享·青少年编程·课程设计
我命由我123453 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
智者知已应修善业3 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机