【c语言】if 选择语句

在这里插入图片描述

🎈个人主页:豌豆射手^
🎉欢迎 👍点赞✍评论⭐收藏
🤗收录专栏:C语言
🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!

【c语言】if 选择语句

  • 一 初步了解选择语句
    • 1.1 概念
    • 1.2 类比
  • 二 if 语句
    • 2.1 语法及作用
    • 2.2 示例
    • 2.3 if 语句中的嵌套
    • 2.4 多条件判断:
  • 三 if ... else 语句
  • 四 if...else if...else语句
  • 总结

引言:

在C语言中,控制流语句是编写程序时至关重要的部分之一。而其中的选择语句,尤其是if系列语句,是实现条件执行的重要工具。

在本篇博客中,我们将深入探讨C语言中的if语句及其衍生形式,帮助读者更好地理解和运用这些语句。

在这里插入图片描述

一 初步了解选择语句

1.1 概念

选择语句是编程中的一种结构,用于根据条件的真假来选择性地执行不同的代码块。

它允许程序根据特定的条件,选择性地执行一组语句或代码块中的某一部分,从而实现根据不同情况采取不同行动的逻辑。

选择语句是控制流程的基本工具之一,能够使程序根据不同的情况采取不同的分支,以实现更加灵活和智能的程序逻辑。

在C语言中,常见的选择语句包括 if 语句、switch 语句和三元运算符 ? :。

1.2 类比

让我们考虑一个现实生活中的例子:

假设你去商店购买一件衣服,并且你的购买决定取决于以下几个条件:

如果你的预算足够买下你喜欢的一件衣服,你会购买它。

如果你的预算不足以购买你喜欢的衣服,但商店提供了折扣,使得价格适合你的预算,你也会考虑购买。

如果价格仍然超出了你的预算,但你对其他款式或品牌的衣服也感兴趣,而这些衣服的价格在你的预算范围内,你可能会选择购买其中一件。

如果所有的衣服都超出了你的预算,你可能会决定不购买,或者等待更好的折扣或更合适的时机。

在这个例子中,你面临不同的选择,取决于你的预算、商品的价格以及可能存在的折扣。

这类似于编程中的选择语句,你根据不同的条件(预算、价格、折扣)做出不同的决策(购买、考虑购买、不购买),从而达到最符合你需求和情况的结果。

在接下来,我将介绍c语言中常见的选择语句。

二 if 语句

2.1 语法及作用

在C语言中,if语句是一种条件语句,用于根据某个条件的真假执行相应的代码块。

if语句的基本语法如下:

if (condition)
{// 如果条件为真,则执行这里的代码块
}

其中,condition 是一个表达式,它会被计算为真(非零)或假(零)。

如果 condition 为真,那么紧跟在 if 后面的代码块会被执行;如果 condition 为假,则这个代码块会被跳过。

流程图如下:
在这里插入图片描述

2.2 示例

下面是一个简单的if语句示例:

#include <stdio.h>int main() {int x = 10;if (x > 5) {printf("x大于5\n");}return 0;
}

在这个示例中,x > 5 是条件表达式。如果 x 的值大于5,则条件为真,于是打印 “x大于5”;如果 x 的值不大于5,则条件为假,代码块不会执行。

运行结果:

x大于5

2.3 if 语句中的嵌套

if语句可以嵌套,即在一个if语句的代码块中包含另一个if语句。这种嵌套可以使程序员根据更复杂的条件来控制程序的流程。

示例:

#include <stdio.h>int main() {int x = 10;int y = 20;if (x > 5) {if (y > 15) {printf("x大于5,y大于15\n");}}return 0;
}

这段C代码首先定义了两个整数变量 x 和 y 分别赋值为 10 和 20。

接着,通过嵌套的if语句进行条件判断。

第一个if语句检查 x > 5 是否为真,如果为真,则进入内部的第二个if语句。

在第二个if语句中,条件为 y > 15,只有当 y 大于15时,才会执行内部的代码块,即打印 “x大于5,y大于15”。

由于 x 是大于5的,而 y 也是大于15的,所以最终会输出 “x大于5,y大于15”。

运行结果:

x大于5,y大于15

2.4 多条件判断:

此外,还可以使用逻辑运算符来组合多个条件进行判断。

常用的逻辑运算符包括 &&(逻辑与)、||(逻辑或)和 !(逻辑非)。

逻辑运算符介绍

逻辑与运算符 && 用于连接两个条件表达式。当且仅当两个条件表达式都为真(非零)时,整个逻辑与表达式才为真,否则为假(零)。

逻辑或运算符 || 用于连接两个条件表达式。当两个条件表达式中至少有一个为真(非零)时,整个逻辑或表达式就为真,只有当两个条件表达式都为假(零)时,整个表达式才为假。

逻辑非运算符 ! 用于取反一个条件表达式的真值。如果条件表达式为真(非零),则取反后为假(零),反之亦然。

示例:

#include <stdio.h>int main() {int x = 10;int y = 20;if (x > 5 && y > 15) {printf("x大于5,且y大于15\n");}return 0;
}

在这个示例中,只有当 x > 5 为真且 y > 15 也为真时,才会打印 “x大于5,且y大于15”。

运行结果:

x大于5,且y大于15

通过嵌套和组合条件,可以实现更加灵活和复杂的逻辑控制。

三 if … else 语句

在C语言中,if … else语句是一种条件语句,用于根据条件的真假来执行不同的代码块。

其基本语法如下:

if (condition) {// 如果条件为真,执行这里的代码块
} else {// 如果条件为假,执行这里的代码块
}

流程图如下:

在这里插入图片描述

它工作原理是,首先计算condition中的表达式。

如果表达式的值为真(即非零),则执行if后面的代码块;

如果表达式的值为假(即零),则执行else后面的代码块。在执行完其中一个代码块后,程序会继续执行if … else语句之后的代码。

与纯if 语句的区别是它不管条件的真假一定会执行一个代码块的内容,而不是有可能什么都不执行。

if … else语句也可以嵌套,即在一个if或else块中再包含另一个if … else语句,以实现更复杂的条件判断。

示例

#include <stdio.h>int main() {int number = 10;if (number > 0) {printf("Number is positive\n");} else {printf("Number is non-positive\n");}return 0;
}

输出结果:

Number is positive

在这个例子中,如果number的值大于0,则会输出"Number is positive";否则,输出"Number is non-positive"

四 if…else if…else语句

在C语言中,if…else if…else语句是一种用于处理多个条件的控制流语句。

它允许你在一个条件不满足时检查另一个条件,并根据不同的条件执行相应的代码块。

其基本语法如下:

if (condition1) {// 如果条件1为真,执行这里的代码块
} else if (condition2) {// 如果条件1为假,而条件2为真,执行这里的代码块
} else if (condition3) {// 如果条件1和条件2都为假,而条件3为真,执行这里的代码块
} else {// 如果所有条件都为假,执行这里的代码块
}

if…else if…else语句的执行流程是按照条件从上到下依次判断。

一旦找到第一个为真的条件,就执行对应的代码块,而不再继续判断后面的条件。

如果所有条件都为假,那么执行else后的代码块(如果存在)。

以下是一个简单的例子,演示了if…else if…else语句的使用:

#include <stdio.h>int main() {int number = 0;if (number > 0) {printf("Number is positive\n");} else if (number < 0) {printf("Number is negative\n");} else {printf("Number is zero\n");}return 0;
}

输出结果:

Number is zero

在这个例子中,根据number的值,程序会输出相应的消息。

如果number大于0,输出"Number is positive";

如果number小于0,输出"Number is negative";

如果number等于0,输出"Number is zero"。

这样,通过if…else if…else语句,可以根据不同的条件执行不同的代码块。

总结

通过本文的介绍,读者应该对C语言中的if系列语句有了更加全面的了解。

从最基础的if语句到包含多个条件的if…else if…else语句,我们逐步深入探讨了这些语句的语法、用法以及示例,希望能够帮助读者掌握它们的使用技巧。

选择语句在程序设计中起着至关重要的作用,熟练掌握它们将有助于编写更加清晰、简洁和高效的代码。

这篇文章到这里就结束了

谢谢大家的阅读!

如果觉得这篇博客对你有用的话,别忘记三连哦。

我是甜美的江,让我们我们下次再见

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

rk3568 I2C

rk3568 I2C I2C(Inter-Integrated Circuit)总线是一种串行通信协议,由Philips(现在的NXP)公司于1980年代初开发。它最初被设计用于连接不同的集成电路和集成模块,以降低系统成本和复杂度。随着时间的推移,I2C总线已经成为连接各种设备的主要标准之一。I2C总线最初只支持…

java设计模式的总结

作用 设计模式是一套被反复使用、经过验证、解决特定问题的最佳实践。它们提供了一种通用的语言&#xff0c;让软件开发者能够更轻松地理解和设计复杂的系统。设计模式有助于提升代码的可读性、可维护性、可扩展性和灵活性。 总结 现知设计模式总共可以分为三种目的型设计模…

SQL--字符串反转函数 reverse() 简单明了

字符串反转函数&#xff1a;reverse 语法: reverse(string A) 返回值: string 说明&#xff1a;返回字符串A的反转结果 举例&#xff1a; hive> select reverse(abcedfg); gfdecba

Navicat的使用

1. Navicat介绍 Navicat: 是一款流行的数据库管理和开发工具, 它支持多种数据库系统, 如: MySQL, MariaDB, MongoDB, SQL Server, Oracle, PostgreSQL 等. Navicat通过提供直观的图形用户界面(GUI), 使用户能够更轻松地执行各种数据库操作, 而无需记住复杂的SQL命令.以下是Nav…

PyQt5图片浏览器

PyQt5图片浏览器 实现方式功能实现具体代码 界面实现pillow源码修改ImageQt错误主页面布局 项目开源地址 分享一个图片浏览器 实现方式 qt本身有一个QGraphicsView类用来当做视图框架。 具体参考&#xff1a;如何在pyqt中使用 QGraphicsView 实现图片查看器 不过大佬给的例子…

聚集高速托盘类四向穿梭车ASRV|一车跑全仓可获得10000个货位的HEGERLS智能搬运机器人

随着国内外制造业加速转型升级&#xff0c;越来越多的企业需要进行物流智能化升级&#xff0c;但是往往受到仓库面积、高度、形状等现实条件的限制&#xff0c;以及市场不确定性因素的影响。因此&#xff0c;相对于投资传统的自动化立体库&#xff0c;企业更倾向于选择智能化、…

【深度学习数学工具】K-FAC:Kronecker-factored Approximate Curvature

Kronecker-factored Approximate Curvature (K-FAC) 是一种优化深度神经网络的先进方法&#xff0c;特别适用于大规模网络。K-FAC通过近似神经网络的Hessian矩阵的结构&#xff0c;以更有效率和准确性的方式更新网络权重。这种方法基于一个关键的观察&#xff1a;深度网络的Hes…

如何在 HTML 中嵌套、引入其他的 HTML?

在日常开发中&#xff0c;书写的 HTML 页面往往不是独立或互不通用&#xff0c;通常是有些头部、尾部或者其他部分是公用的&#xff0c;但是 HTML 有不同 JSP 页面可以使用类似 include 这样的动作标记&#xff0c;所以接下来介绍二种 HTML 页面引入其他 HTML 页面的方法。 1.…

机器学习-01-课程目标与职位分析

总结 本系列是机器学习课程的第01篇&#xff0c;主要介绍本门课程的课程目标与职位分析 教材 数据挖掘与机器学习 课程教学方法 布鲁姆教学法 认知领域&#xff08;cognitive domain&#xff09; 1.知道&#xff08;知识&#xff09;&#xff08;knowledge&#xff09; 是指…

kylin v10 升级 openssl、openssh

升级 openssl 一、查看当前安装的版本 # openssl version OpenSSL 1.0.2g 1 Mar 2016注意&#xff1a;不要卸载旧版本&#xff0c;会出依赖方面的问题&#xff01; 二、下载 wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz三、编译 tar zxvf openssl-1.1.1g…

细嗦MySQL三大日志

文章目录 三大日志&#xff1a;binlog&#xff08;归档日志&#xff09;、redo log&#xff08;重做日志&#xff09;、undo log&#xff08;回滚日志&#xff09;redo log刷盘机制日志文件组 binlog记录格式写入机制 两阶段提交undo log提供回滚操作提供MVCC&#xff08;多版本…

CSS常见的选择器介绍

CSS&#xff08;层叠样式表&#xff09;选择器是一种模式&#xff0c;用于选择要应用样式的HTML元素。以下是一些常见的CSS选择器类型和实际应用样例供参考&#xff1a; 1、元素选择器&#xff1a; 直接通过HTML元素名称选择元素。例如&#xff0c;p选择所有<p>元素。 …

MySQL基本知识

目录 一&#xff0c;MySQL的元数据库 1.1.什么是元数据库 1.2.有哪些元数据库 1.3.切换数据库 二&#xff0c;账户管理 2.1.设置权限 2.2.授权用户 2.3.查看权限 2.4.撤销权限 三&#xff0c;MySQL引擎 3.1什么是数据库引擎 3.2.查看数据引擎 3.3.MyISAM引擎 3.4…

科技云报道:黑马Groq单挑英伟达,AI芯片要变天?

科技云报道原创。 近一周来&#xff0c;大模型领域重磅产品接连推出&#xff1a;OpenAI发布“文字生视频”大模型Sora&#xff1b;Meta发布视频预测大模型 V-JEPA&#xff1b;谷歌发布大模型 Gemini 1.5 Pro&#xff0c;更毫无预兆地发布了开源模型Gemma… 难怪网友们感叹&am…

【Excel PDF 系列】POI + iText 库实现 Excel 转换 PDF

你知道的越多&#xff0c;你不知道的越多 点赞再看&#xff0c;养成习惯 如果您有疑问或者见解&#xff0c;欢迎指教&#xff1a; 企鹅&#xff1a;869192208 文章目录 前言转换前后效果引入 pom 配置代码实现 前言 最近遇到生成 Excel 并转 pdf 的需求&#xff0c;磕磕碰碰总…

stm32——hal库学习笔记(DMA实验)

一、DMA介绍&#xff08;了解&#xff09; 二、DMA结构框图介绍&#xff08;熟悉&#xff09; 三、DMA相关寄存器介绍&#xff08;熟悉&#xff09; 四、DMA相关HAL库驱动介绍&#xff08;掌握&#xff09; 五、DMA配置步骤&#xff08;掌握&#xff09; 六、编程实战&#xff…

Anaconda和TensorFlow环境搭建!!

Anaconda下载 进入官网下载 https://www.anaconda.com/download 也可以通过清华的映像站下载&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我这里下载的是3.4.20版本。下载好就可以安装默认安装就行。 打开Anaconda Prompt修改成国内镜像 conda c…

大概了解一下G1收集器

在上一篇文章中&#xff08;链接&#xff1a;大概了解一下CMS收集器&#xff09;我们提到&#xff0c;CMS是一种主要针对旧生代对象进行回收的收集器。与CMS不同&#xff0c;G1号称“全功能的垃圾收集器”&#xff0c;对初生代内存和旧生代内存均进行管理。鉴于此&#xff0c;这…

ubuntu虚拟机与windows之间实现复制粘贴功能

1.首先卸载ubuntu中已有的vm-tools工具 sudo apt-get autoremove open-vm-tools 2.安装open-vm-tools sudo apt-get install open-vm-tools #安装open-vm-tools sudo apt-get install open-vm-tools-desktop 3.重启ubuntu虚拟机

pyspark分布式部署随机森林算法

前言 分布式算法的文章我早就想写了&#xff0c;但是一直比较忙&#xff0c;没有写&#xff0c;最近一个项目又用到了&#xff0c;就记录一下运用Spark部署机器学习分类算法-随机森林的记录过程&#xff0c;写了一个demo。 基于pyspark的随机森林算法预测客户 本次实验采用的…