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.hqwc.cn/news/439929.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL解决 恢复从备份点到灾难点之间数据(不收藏找不到了)

CSDN 成就一亿技术人&#xff01; 今天分享一期 mysql中 备份之后发生灾难造成数据丢失 那么如何恢复中间的数据呢&#xff1f; 数据库数据高于一切&#xff08;任何数据是不能丢失的&#xff09; CSDN 成就一亿技术人&#xff01; 目录 1.准备测试数据库 2.备份数据库 观…

vue 使用 v-viewer 用于图片浏览的Vue组件,支持旋转、缩放、翻转等操作,基于viewer.js。

作者连接 npm&#xff1a; npm install v-viewerlegacy viewerjs main.js 引入&#xff1a; // 引入Viewer插件 import VueViewer, { directive as viewerDirective } from v-viewer; // 引入Viewer插件的图片预览器的样式 import viewerjs/dist/viewer.css; // 使用Viewer图片…

动手学RAG:汽车知识问答

原文&#xff1a;动手学RAG&#xff1a;汽车知识问答 - 知乎 Part1 内容介绍 在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;如GPT-3、BERT等已经取得了显著的进展&#xff0c;它们能够生成连贯、自然的文本&#xff0c;回答问题&#xff0c;并执行…

SSE长连接( SpringBoot整合SSE(Server-Sent Events)可以实现后端主动向前端推送数据)

Demo代码分享 依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.or…

记录一次腾讯云服务器部署宝塔

一、查看是否安装 宝塔面板 bt 14 1 已安装会列出宝塔登录地址&#xff1b; 否则-bash: bt: command not found&#xff1b; 下载及安装命令&#xff08;这条是目前最新的宝塔安装命令&#xff09; yum install -y wget && wget -O install.sh http://download.bt.cn/…

常见的网络安全威胁和防护方法

随着数字化转型和新兴技术在各行业广泛应用&#xff0c;网络安全威胁对现代企业的业务运营和生产活动也产生了日益深远的影响。常见的网络安全威胁通常有以下几种&#xff1a; 1. 钓鱼攻击 攻击者伪装成合法的实体&#xff08;如银行、电子邮件提供商、社交媒体平台等&#xf…

ASPICE--汽车行业过程评估/参考模型

近几年&#xff0c;汽车行业飞速发展&#xff0c;尤其是是新能源汽车&#xff0c;试图完全颠覆传统汽车行业的风格&#xff0c;多家企业喊出“软件定义汽车”“软件智能一体化”等类似的口号。由此可见&#xff0c;软件在新类型的汽车设计中占有独一无二的领导地位&#xff0c;…

【webrtc】‘ninja.exe‘ 不是内部或外部命令,也不是可运行的程序及vs2019 重新构建m98

werbtc 就是用ninja.exe 来构建找到了自己以前构建的webrtc 原版 m98 【m98 】webrtc ninja 构建 、example、tests 及OWT- P2P 项目P2PMFC-E2E-m98G:\CDN\rtcCli\webrtc-checkout\src找到了自己的deptools的路径 deptools里确实没有ninja.exe D:\SOFT\depot_tools\third_party…

【Django开发】前后端分离美多商城项目:项目准备和搭建(附代码,文档)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论django商城项目开发相关知识。本项目利用Django框架开发一套前后端不分离的商城项目&#xff08;4.0版本&#xff09;含代码和文档。功能包括前后端不分离&#xff0c;方便SEO。采用Django Jinja2模板引擎 Vue.js实现…

考研经验总结——英语篇

文章目录 一、前言二、刷题情况三、关于背诵四、建议五、大作文模板作文词汇一、图画类作文1.1 para.1 description 远景近景&#xff08;倒装分词结构&#xff09;1.2 para.2 interpretation (两正一反或一正一反)1.3 para.3 comment 二、柱线饼表2.1 line chart 双柱对比图线…

课时8:shell基础_shell实践

1.3.2 shell实践 学习目标 这一节&#xff0c;我们从 shell分类、shell实践、小结 三个方面来学习。 shell分类 简介 在不同的操作系统上&#xff0c;shell的表现样式是不一样的&#xff0c;按照我的角度&#xff0c;它主要分为两类 图形界面shell图形界面shell就是我们常…

element -table,多行或列合并

需求:后端返回的表格数据,如果某列值一样,前端表格样式需要合并他们,需要合并的列的行数未知(所以需要有数据后遍历后端数据对需要合并的属性进行计数)即动态遍历表格合并 效果 - 重点方法;table自带的:span-method="objectSpanMethod"方法 代码环境:vue2 ,…