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

目录

1.  if语句

2.  if...else语句

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

4.  嵌套if语句


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

语句描述
if语句一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if...else语句一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套if语句您可以在一个 if 或 else if 语句内使用另一个 if 或 else 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 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else 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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/358247.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

绿色荧光素标记半胱氨酸,FITC-Cysteine,可以用来标记和追踪细胞内的蛋白质

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;FITC半胱氨酸&#xff0c;绿色荧光素标记半胱氨酸&#xff0c;FITC Cysteine 一、基本信息 产品简介&#xff1a;FITC Crystal green fluorescent labeled cysteine is a widely used biological tracer with high …

海外云手机开辟企业跨境电商新道路

近几年&#xff0c;海外云手机为跨境电商、海外媒体引流、游戏行业等互联网领域注入了蓬勃活力。对于国内跨境电商而言&#xff0c;在亚马逊及其他平台上&#xff0c;短视频引流和社交电商营销成为最为有效的流量来源。如何通过海外云手机的助力&#xff0c;在新兴社交平台为企…

28 python快速上手

索引和函数及存储过程 1. 索引1.1 索引原理1.1.1 非聚簇索引&#xff08;mysiam引擎&#xff09;1.1.2 聚簇索引&#xff08;innodb引擎&#xff09; 1.2 常见索引1.2.1 主键和联合主键索引1.2.2 唯一和联合唯一索引1.2.3 索引和联合索引案例&#xff1a;博客系统 1.3 操作表1.…

​ArcGIS Pro 如何批量删除字段

在某些时候&#xff0c;我们得到的图层属性表内可能会有很多不需要的字段&#xff0c;如果挨个去删除会十分的麻烦&#xff0c;对于这种情况&#xff0c;我们可以使用工具箱内的字段删除工具批量删除&#xff0c;这里为大家介绍一下使用方法&#xff0c;希望能对你有所帮助。 …

Unity3d Cinemachine篇(三)— FreeLook

文章目录 前言一、使用FreeLook制造第三人称跟随效果1. 创建一个游戏物体2. 创建FreeLook相机4. 完成 前言 上一期我们简单的使用了Dolly CamerawithTrack相机&#xff0c;这次我们来使用一下FreeLook 一、使用FreeLook制造第三人称跟随效果 1. 创建一个游戏物体 游戏物体比较…

类与对象下篇

前言 在类与对象上篇我们讲解了类的基础框架&#xff0c;中篇我们讲解了类的基本内容&#xff0c;下篇我们将补充类的一些零散知识点。 一、构造函数的初始化&#xff08;初始值&#xff09;列表 构造函数&#xff1a;创建类对象时自动调用&#xff0c;给对象中各个成员变量一…

多模态大模型综述整理

论文&#xff1a;MM-LLMs: Recent Advances in MultiModal Large Language Models 论文地址&#xff1a; https://arxiv.org/pdf/2401.13601.pdf 表1&#xff1a;26种主流多模态大型语言模型&#xff08;MM-LLMs&#xff09;概要 输入到输出模态&#xff08;I→O&#xff09;…

[React源码解析] Fiber (二)

在React15及以前, Reconciler采用递归的方式创建虚拟Dom, 但是递归过程不可以中断, 如果组件的层级比较深的话, 递归会占用线程很多时间, 那么会造成卡顿。 为了解决这个问题, React16将递归的无法中断的更新重构为异步的可中断更新, Fiber架构诞生。 文章目录 1.Fiber的结构2…

MySQL前百分之N问题--percent_rank()函数

PERCENT_RANK()函数 PERCENT_RANK()函数用于将每行按照(rank - 1) / (rows - 1)进行计算,用以求MySQL中前百分之N问题。其中&#xff0c;rank为RANK()函数产生的序号&#xff0c;rows为当前窗口的记录总行数 PERCENT_RANK()函数返回介于 0 和 1 之间的小数值 selectstudent_…

Ubuntu22.04 网络图标突然消失

本来好好的&#xff0c;突然就发现没有网络了&#xff0c;图标也不见了。 特别是Ubuntu虚拟机&#xff0c;容易出现此问题。 修复办法 1. sudo service network-manager stop2. sudo rm /var/lib/NetworkManager/NetworkManager.state3. sudo service network-manager start到…

通过Nacos权重配置,模拟微服务金丝雀发布效果(不停机部署)

在微服务项目迭代的过程中&#xff0c;不可避免需要上线&#xff1b;上线对应着部署&#xff0c;或者升级部署&#xff1b;部署对应着修改,修改则意味着风险。 传统的部署都需要先停止旧系统&#xff0c;然后部署新系统&#xff0c;之后需要对新系统进行全面的功能测试&#xf…

腾讯云SDK并发调用优化方案

目录 一、概述 二、 网关的使用 2.1 核心代码 三、腾讯云SDK依赖包的改造 一、概述 此网关主要用于协调腾讯云SDK调用的QPS消耗&#xff0c;使得多个腾讯云用户资源能得到最大限度的利用。避免直接使用腾讯云SDK 时&#xff0c;在较大并发情况下导致接口调用异常。网关的工…

AtCoder Beginner Contest 338 A~F

A.Capitalized?&#xff08;模拟&#xff09; 题意&#xff1a; 给一个字符串 s s s&#xff0c;询问 s s s的第一个字母是不是大写&#xff0c;并且其他字母都是小写。 分析&#xff1a; 使用 A S C I I ASCII ASCII码&#xff0c;单独判断第一个字母&#xff0c;循环判断…

三步万能公式解决软件各种打不开异常

程序员都知道,辛苦做的软件发给客户打不开那是一个大写的尴尬,尴尬归尴尬还是要想办法解决问题. 第一步清理环境. 目标机台有环境和没有运行环境的,统统把vs环境卸载了,让目标机台缺少环境.第二步打包环境 源代码添加打包工程,setup,重新编译.![添加setup ](https://img-blo…

vue3项目中让echarts适应div的大小变化,跟随div的大小改变图表大小

目录如下 我的项目环境如下利用element-resize-detector插件监听元素大小变化element-resize-detector插件的用法完整代码如下&#xff1a;结果如下 在做项目的时候&#xff0c;经常会使用到echarts&#xff0c;特别是在做一些大屏项目的时候。有时候我们是需要根据div的大小改…

一文说清楚仿真与数字孪生的关系

获取更多资讯&#xff0c;赶快关注上面的公众号吧&#xff01; 文章目录 何为仿真何为数字孪生 最近看群里的小伙伴在疯狂讨论数字孪生&#xff0c;今天我也谈谈自己的理解。 之前还在北航读博的时候&#xff0c;北航陶飞教授已经算是数字孪生领域的领军人物&#xff0c;也专门…

【C++】2024.01.29 克隆机

题目描述 有一台神奇的克隆机&#xff0c;可以克隆任何东西。将样品放进克隆机&#xff0c;可以克隆出一份一样的“复制品”。小明得到了 k 种珍贵的植物种子&#xff0c;依次用 A,B,C,D,...,Z 表示&#xff08;1≤k≤26&#xff09;。一开始&#xff0c;每种植物种子只有…

PyFlink使用教程,Flink,Python,Java

环境准备 环境要求 Java 11 Python 3.7, 3.8, 3.9 or 3.10文档&#xff1a;https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/dev/python/installation/ 打开 Anaconda3 Prompt > java -version java version "11.0.22" 2024-01-16 LTS J…

信息安全考证攻略

&#x1f525;在信息安全领域&#xff0c;拥有相关的证书不仅能提升自己的专业技能&#xff0c;更能为职业生涯增添不少光彩。下面为大家盘点了一些国内外实用的信息安全证书&#xff0c;让你一睹为快&#xff01; &#x1f31f;国内证书&#xff08;认证机构&#xff1a;中国信…

网工,这才是跳纤的正确姿势!

晚上好&#xff0c;我的网工朋友。 当你们看到下面这张图&#xff0c;内心是什么感想&#xff1f; 这时你是不是巴不得把所有线全部拔了&#xff0c;来重新整一遍哈哈哈哈。那话说到这&#xff0c;到底该如何跳纤呢&#xff1f;有没有什么秘诀呢&#xff1f;遵循什么原则&#…