C语言操作符详解(二)

news2024/11/26 13:50:47

一、位操作符

&  按位与

|  按位或

^  按位异或

~  按位取反

注意:它们的操作数必须是整数。

下面的码我都只取了后八位

1.1、按位与

使用补码进行按位与

规则:对应二进制位有0就是0,两个同时为1才为1.

1.2、按位或

使用补码进行按位或

规则:对应二进制位有1就是1,两个同时为0才为0

1.3、按位异或

使用补码进行按位异或

规则:相同为0,相异为1

1.4、按位取反

二、逗号表达式

exp1,exp2,exp3,...expn

逗号表达式,就是用逗号隔开的多个表达式,从左到右依次执行,整个表达式的结果是最后一个表达式的结果。

三、下标访问[]、函数调用()

3.1、下标访问[]

int arr[10];//创建数组
arr[6]=10;用到了下标引用操作符

3.2、函数调用()

我们写完函数,用()进行调用。

四、结构成员访问操作符

4.1、结构体的声明

假如我们要描述一个学生,我们可以这样描述

注意:结构体最后的分号不能丢

4.2、结构体变量的定义和初始化

定义:

初始化:

4.3结构体成员的直接访问

结构体成员的直接访问是通过点操作符访问的

4.4、结构体成员的间接访问

有时候我们得到的不是一个结构体变量,而是得到了一个指向结构体的指针。

五、操作符的属性:优先级、结合性

5.1、优先级

优先级指的是,如果一个表达式包含多个运算符,哪个运算符应该优先执⾏。各种运算符的优先级是不一样的。

例:3 + 4 * 5

表达式 3 + 4 * 5 里面既有加法运算符 +,又有乘法运算符 * 。由于乘法的优先级高于加法,所以会先计算 4 * 5 ,而不是先计算 3 + 4 。

5.2、结合性

如果两个运算符优先级相同,优先级没办法确定先计算哪个,这时候就看结合性。根据运算符
是左结合,还是右结合,决定执行顺序。大部分运算符是左结合(从左到右执行),少数运算符是右结合(从右到左),比如赋值运算符 = 。

例:5 * 6 /2

上面示例中, * 和 / 的优先级相同,它们都是左结合运算符,所以从左到右执行,先计算 5 * 6 ,
再计算 6 / 2 。
运算符的优先级顺序很多,下面是部分运算符的优先级顺序(按照优先级从⾼到低排列)。

• 圆括号( () )
• 自增运算符( ++ ),⾃减运算符( -- )
• 单目运算符( + 和 - )
• 乘法( * ),除法( / )
• 加法( + ),减法( - )
• 关系运算符( < 、 > 等)
• 赋值运算符( = )
注意:由于圆括号的优先级最高,可以使用它改变其他运算符的优先级。

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

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

相关文章

Windows内核是什么,如何保障内核安全

Windows操作系统发展到如今已有三十余年&#xff0c;是目前在全球范围内广泛使用的操作系统。Windows内核是操作系统的核心部分&#xff0c;内核包括了HAL(硬件抽象层)&#xff0c;设备驱动&#xff0c;微内核&#xff0c;各种管理设备&#xff0c;管理层以及系统服务界面&…

【优选算法专栏】专题十六:BFS解决最短路问题(二)

本专栏内容为&#xff1a;算法学习专栏&#xff0c;分为优选算法专栏&#xff0c;贪心算法专栏&#xff0c;动态规划专栏以及递归&#xff0c;搜索与回溯算法专栏四部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握算法。 &#x1f493;博主csdn个人主页&#xff1a;小…

OpenHarmony实战:瑞芯微RK3566移植案例(下)

OpenHarmony实战&#xff1a;瑞芯微RK3566移植案例&#xff08;下&#xff09; OpenHarmony实战&#xff1a;瑞芯微RK3566移植案例&#xff08;中&#xff09; WIFI 整改思路及实现流程 整改思路 接下来熟悉HCS文件的格式以及"HDF WIFI”核心驱动框架的代码启动初始化…

Java入门基础知识第七课(超基础,超详细)——数组

前面二白讲了选择结构和循环结构&#xff0c;动手的同学会发现已经有了一定的难度&#xff0c;后面二白会专门收集一些经典的题目&#xff0c;训练多了才能让记忆更加深刻&#xff0c;这次咱们讲一下数组。 一、数组的定义 什么是数组呢&#xff0c;我们都知道变量是存储数据的…

第八讲 Sort Aggregate 算法

我们现在将讨论如何使用迄今为止讨论过的 DBMS 组件来执行查询。 1 查询计划【Query Plan】 我们首先来看当一个查询【Query】被解析【Parsed】后会发生什么&#xff1f; 当 SQL 查询被提供给数据库执行引擎&#xff0c;它将通过语法解析器进行检查&#xff0c;然后它会被转换…

新增长100人研讨会:20+上海医疗企业共探数字驱动下的目标管理与业绩增长策略

近日&#xff0c;纷享销客新增长100人系列活动之上海医疗专场&#xff0c;我们有幸邀请百趣生物一起&#xff0c;共同探讨医疗器械行业数字化增长的新理念、新方法和新实践。 活动聚集了百趣生物、汉维生物、松佰牙科器械、多宁生物、松佰医疗、瑞丰达医疗等20余位标杆医疗健康…

蓝桥杯简单模板

目录 最大公约数 两个数的最大公约数 多个数的最大公约数 最小公倍数 两个数的最小公倍数 多个数的最小公倍数 素数 ​编辑 位数分离 正写 ​编辑 反写 闰年 最大公约数 两个数的最大公约数 之前看见的是辗转相除法&#xff0c;例如现在让算一个49&#xff0c;21…

数码相框-LCD显示多行文字

显示几行文字: 从左显示&#xff1a;先描边再算出边框。居中显示&#xff1a;先算出边框&#xff0c;再确定坐标描画。 从左显示 第一行数据的起始位置是从(0,24)开始的。 要知道第二行数据从哪里开始&#xff0c;我们得知道画出来的矢量字体的边框是多少&#xff1a; 这个…

【C++】 详解 lower_bound 和 upper_bound 函数(看不懂来捶我!!!)

目录 一、前言 二、函数详解 &#x1f95d; lower_bound &#x1f34d;upper_bound 三、常考面试题 四、共勉 一、前言 这两个函数是我在 LeetCode 上做题见到&#xff0c;看到不熟悉的函数 lower_bound 和 upper_bound让我感觉很难受&#xff0c;于是在 C 官网去学习&…

2024HW --->反序列化漏洞!

对于反序列化&#xff0c;这个漏洞也是常用的&#xff0c;不过涉及到的方面非常非常广&#xff0c;比其他漏洞也难很多 于是本篇文章就分成PHP和JAVA的反序列化来讲讲 1.反序列化 想要理解反序列化&#xff0c;首先就要理解序列化 序列化&#xff1a;把对象转换为字节序列的过…

默克尔(Merkle)树 - 原理及用途

默克尔&#xff08;Merkle&#xff09;树的原理以及用途 引言 在当今数字化时代&#xff0c;确保数据的完整性是至关重要的。默克尔树作为一种高效的数据结构&#xff0c;被广泛应用于网络安全、分布式系统以及加密货币等领域&#xff0c;用于验证大量数据的完整性和一致性 数…

代码随想录算法训练营Day48|LC198 打家劫舍LC213 打家劫舍IILC337 打家劫舍III

一句话总结&#xff1a;前两题白给&#xff0c;第三题树形DP有点难。 原题链接&#xff1a;198 打家劫舍 滚动数组直接秒了。 class Solution {public int rob(int[] nums) {int n nums.length;int first 0, second nums[0];for (int i 2; i < n; i) {int tmp Math.m…

mega2560读取sick位移传感器

本次的项目中&#xff0c;需要使用到mega2560来读取sick位移传感器的模拟量&#xff0c;再把模拟量进行转换&#xff0c;从而使得到的数据为位移传感器的示数。 下面是位移传感器的接线图&#xff1a;棕色线接&#xff0b;24v&#xff0c;蓝色线接0v&#xff0c;白色线为模拟量…

JS 表单验证

点击注册的时候&#xff0c;渲染出来&#xff0c;验证码是自动获取出来的 html&#xff1a; <div class"div1">用户名<input type"text" id"yhm"><span id"span1"></span><br>密码<input type"…

mysql 查询变量@i:=@i+1

学习完mysql的查询&#xff1a;基本查询&#xff0c;连接查询和子查询和mysql 正则表达式查询&#xff0c;接下来先学习下变量查询。 mysql中没有oracle序列号那一列。mysql可以使用查询变量的方式去处理。我们先了解下查询变量&#xff0c;后面应用起来就更清晰。 1&#xff0…

【科东软件】鸿道Intewell-Lin_V2.2.0 软件版本发布

鸿道操作系统 Intewell-Lin_V2.2.0 软件版本发布 Intewell-Lin_V2.2.0 版本号&#xff1a;V2.2.0 版本或修改说明 增加功能&#xff1a; 1、增加T3板级支持 支持硬件列表

深入探索实时音视频技术:RTC程序设计权威指南

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

2024年32款数据分析工具分五大类总览

数据分析工具在现代商业和科学中扮演着不可或缺的角色&#xff0c;为组织和个人提供了深入洞察和明智决策的能力。这些工具不仅能够处理大规模的数据集&#xff0c;还能通过强大的分析和可视化功能揭示隐藏在数据背后的模式和趋势。数据分析工具软件主要可以划分为以下五个类别…

网络与通信-路由协议及基础配置

网络协议之路由协议 静态路由&#xff1a; 明细静态 默认静态 动态路由&#xff1a;&#xff08;可以自动去环&#xff09; RIP 十几台或几十台 &#xff08;维护上一代人搭建的网络&#xff09; OSPF 300台 &#xff08;最短路径算法&#xff09; ISIS 1200台 BGP…

深度学习500问——Chapter06: 循环神经网络(RNN)(2)

文章目录 6.4 CNN和RNN的区别 6.5 RNNs与FNNs有什么区别 6.6 RNNs训练和传统ANN训练异同点 6.7 为什么RNN训练的时候Loss波动很大 6.8 标准RNN前向输出流程 6.9 BPTT算法推导 6.9 RNN中为什么会出现梯度消失 6.10 如何解决RNN中的梯度消失问题 6.4 CNN和RNN的区别 类别特点描述…