C语言中的赋值运算、比较运算和逻辑运算详解

在C语言中,赋值运算、比较运算和逻辑运算是常用的操作符,用于进行变量赋值、条件判断和逻辑组合。本文将详细介绍这三种运算符的用法和示例。

1. 赋值运算符

赋值运算符使用等号(=),用于将右侧的值赋给左侧的变量。C语言支持连续赋值和扩展赋值运算符。

1.1 基本赋值

int a = 10;
int b = 20;

1.2 连续赋值

int a, b;
a = b = 10;

1.3 扩展赋值运算符

int x = 5;
x += 3;  // 等同于 x = x + 3;
x -= 8;  // 等同于 x = x - 8;
x *= 9;  // 等同于 x = x * 9;
x /= 2;  // 等同于 x = x / 2;
x %= 5;  // 等同于 x = x % 5;

1.4 注意事项

赋值运算符要注意不要误写成比较运算符,例如:

int m = 10;
int n = 20;
if (m = n) {// 错误的写法,应该使用==printf("m和n相等\n");
}

2. 比较运算符

比较运算符用于比较两个值的关系,返回布尔值(0表示假,非零表示真)。

int num1 = 10;
int num2 = 20;if (num1 > num2) {printf("num1大于num2\n");
} else {printf("num1不大于num2\n");
}

常用的比较运算符有:

  • > 大于
  • >= 大于等于
  • < 小于
  • <= 小于等于
  • == 等于
  • != 不等于

3. 逻辑运算符

逻辑运算符用于对多个条件进行逻辑组合,常用的有与(&&)、或(||)、非(!)。

int x = 5;
int y = 11;if (x < 10 && y > 20) {printf("条件满足\n");
} else {printf("条件不满足\n");
}

3.1 短路现象

逻辑运算符具有短路现象,即当表达式的结果已经可以确定时,不再继续计算后续表达式。

int i = 0;
int j = 10;
if (i && j++ > 0) {printf("条件满足\n");
} else {printf("条件不满足\n");
}printf("%d\n", j); // 输出10

在上述例子中,由于 i 的值为假(0),后续的表达式 j++ > 0 不再计算,因此 j 的值保持为 10。

逻辑运算符在实际应用中,尤其是条件判断时,需要注意避免连续使用多个关系运算符,而应该使用括号明确逻辑关系。

总结

赋值运算、比较运算和逻辑运算是C语言中常用的运算符,它们在控制流程、判断条件等方面发挥着重要的作用。熟练掌握这些运算符的用法,有助于编写清晰、准确的C语言程序。

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

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

相关文章

uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法

目录 #平台差异说明 #基本使用 #配置顶部的提示信息和底部取消按钮 #如何知道点了第几项 #API #Props #Event 本组件用于从底部弹出一个操作菜单&#xff0c;供用户选择并返回结果。 本组件功能类似于uni的uni.showActionSheetAPI&#xff0c;配置更加灵活&#xff0c;所…

使用知行之桥EDI系统的HTTP签名身份验证

本文简要概述了如何在知行之桥EDI系统中使用 HTTP 签名身份验证&#xff0c;并将使用 CyberSource 作为该集成的示例。 API 概述 API 是”应用编程接口”的缩写。这听起来可能很复杂&#xff0c;但它的真正含义是一种允许两个不同实体相互通信的软件。自开发以来&#xff0c;…

php内置函数-文件包含的函数

目录 1.include 2.require 3.include_once 4. require_once 1.include 可以将别的文件直接引用过来&#xff08;被引用的文件含有打印代码的话&#xff0c;会直接打印&#xff09;&#xff0c;如果失败了&#xff0c;会返回一条警告&#xff0c;文件会继续执行下去&#…

Skywalking UI页面中操作的各种实用功能汇总

刚刚接触skywalking不久&#xff0c;在这里总结一下在UI页面中操作的各种实用功能&#xff0c;随着使用的不断深入&#xff0c;我也会对文章进行持续补充。 本文skywalking 的ui入口是官方demo &#xff0c;版本是10.0.0-SNAPSHOT-593bd05 http://demo.skywalking.apache.org…

HTML+JS+CSS移动端购物车选购界面

代码打包资源下载&#xff1a;【免费】HTMLJSCSS移动端购物车选购界面资源-CSDN文库 关键部分说明&#xff1a; UIGoods 类&#xff1a; 构造函数&#xff1a; 创建 UIGoods 实例时&#xff0c;传入商品数据 g&#xff0c;初始化商品的数据和选择数量。getTotalPrice() 方法…

往数组添加对象的方法

在JavaScript中&#xff0c;有多种方法可以将对象添加到数组中。以下是其中一些常用的方法&#xff1a; push()方法&#xff1a;使用push()方法向数组末尾添加一个或多个对象。 var arr []; arr.push(obj1); arr.push(obj2);2.unshift()方法&#xff1a;使用unshift()方法向…

网络安全B模块(笔记详解)- 隐藏信息探索

隐藏信息探索 1.访问服务器的FTP服务,下载图片QR,从图片中获取flag,并将flag提交; ​ 通过windows电脑自带的图片编辑工具画图将打乱的二维码分割成四个部分,然后将四个部分通过旋转、移动拼接成正确的二维码 ​ 使用二维码扫描工具CQR.exe扫描该二维码 ​ 获得一串…

性能分析与调优: Linux 磁盘I/O 观测工具

目录 一、实验 1.环境 2.iostat 3.sar 4.pidstat 5.perf 6. biolatency 7. biosnoop 8.iotop、biotop 9.blktrace 10.bpftrace 11.smartctl 二、问题 1.如何查看PSI数据 2.iotop如何安装 3.smartctl如何使用 一、实验 1.环境 &#xff08;1&#xff09;主机 …

基于Docker官方php:7.1.33-fpm镜像构建支持67个常见模组的php7.1.33镜像

实践说明&#xff1a;基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2)&#xff0c;所构建的php7.1.33镜像应用于RHEL7-9(如AlmaLinux9.1)&#xff0c;但因为docker的特性&#xff0c;适用场景是不限于此的。 文档形成时期&#xff1a;2017-2023年 因系统或软件版本不同&am…

Vitest 单元测试

一、自动化测试&#xff08;TDD&#xff09;的一些概念&#xff1a; 自动化测试&#xff08;TDD&#xff09;概念&#xff1a; 自动化测试是指 使用独立于待测软件的其他软件或程序来自动执行测试&#xff0c;比较实际结果与预期 并生成测试报告这一过程。在测试流程已经确定…

CentOS安装k8s单机/集群及一些命令

目录 前言 1. 安装docker 2. 安装要求 3.准备网络&#xff08;如果只装单机版可跳过此部&#xff09; 4. 准备工作 5. 安装 5.1. 配置阿里云yum k8s源 5.2 安装kubeadm、kubectl和kubelet 5.3 初始化&#xff0c;只在master执行&#xff0c;子节点不要执行 5.3.1 一些…

npm报错error:03000086:digital envelope routines::initialization error

1.可能是因为node版本过高&#xff0c;与现在的项目不符合 这是降低node版本的命令&#xff0c;然后重新运行 npm install npm8.1.2 -g 2.改下这个package.json "dev": "SET NODE_OPTIONS--openssl-legacy-provider && vue-cli-service serve",也…

编码器与解码器LLM全解析:掌握NLP核心技术的关键!

让我们深入了解&#xff1a;基于编码器和基于解码器的模型有什么区别&#xff1f; 编码器与解码器风格的Transformer 从根本上说&#xff0c;编码器和解码器风格的架构都使用相同的自注意力层来编码词汇标记。然而&#xff0c;主要区别在于编码器旨在学习可以用于各种预测建模…

1、HarmonyOS简介

一、HarmonyOS HarmonyOS全场景分布式智慧操作系统&#xff0c;将逐步覆盖“18N”全场景终端设备 1、“1”代表智能手机 2、“8”代表PC、平板、手表、智慧屏、AI音响、耳机、AR/VR眼镜、车机 3、“N”代表IoT生态产品 二、对于消费者&#xff1a; HarmonyOS用一个“统一…

【Android开发】不同Activity之间的数据回传实例(一)摘桃子游戏

一、功能介绍 该项目实现的功能主要有&#xff1a; 在首页显示一个按钮点击该按钮跳转到桃园页面在桃园页面&#xff0c;点击桃子会弹窗显示摘到几个桃子&#xff0c;同时被点击桃子消失&#xff0c;总桃子数1点击退出桃园会返回首页&#xff0c;首页桃子数会根据点击的桃子数…

数据结构与算法教程,数据结构C语言版教程!(第三部分、栈(Stack)和队列(Queue)详解)四

第三部分、栈(Stack)和队列(Queue)详解 栈和队列&#xff0c;严格意义上来说&#xff0c;也属于线性表&#xff0c;因为它们也都用于存储逻辑关系为 "一对一" 的数据&#xff0c;但由于它们比较特殊&#xff0c;因此将其单独作为一章&#xff0c;做重点讲解。 使用栈…

1.UnityProfiler性能分析提升性能

一 Stats重要参数详解 1.main thread 主线程 业务逻辑都在这里&#xff0c;我们调用Unity API都在这里&#xff1b;例如设置transform位置&#xff0c;main thread里面处理 2.render thread&#xff0c;渲染线程&#xff0c;负责渲染图像、执行渲染循环、处理GPU命令、帧同步。…

zabbix和prometheus怎么选?

简单粗暴的回答&#xff0c;不搞弯弯绕&#xff01; zabbix和prometheus对比 发行时间开发语言性能社区支持容器支持企业使用部署难度Prometheus2016go支持万为单位相对不如zabbix&#xff0c;人数与日俱增。不仅支持swarm原生集群,还支持Kubernetes容器集群&#xff0c;是目前…

MATLAB mat 文件

1.mat文件格式 MATLAB&#xff08;Matrix Laboratory&#xff09;使用 .mat 文件格式来存储和加载数据。MAT 文件是一种二进制文件格式&#xff0c;能够保存 MATLAB 中的各种数据类型&#xff0c;包括矩阵、向量、结构体、元胞数组等。 特定和用途&#xff1a; 二进制格式&a…

计算机网络系统结构-2020期末考试解析

【前言】 不知道为什么计算机网络一门课这么多兄弟&#xff0c;这份看着也像我们的学科&#xff0c;所以也做了。 一&#xff0e; 单选题&#xff08;每题 2 分&#xff0c;共 20 题&#xff0c;合计 40 分&#xff09; 1 、当数据由主机 A 发送到主机 B &#xff0c;不参…