25.10.13 C语言 运算符

news/2025/10/13 9:34:49/文章来源:https://www.cnblogs.com/laobanjiao/p/19137730

运算符:

运算符

结合性

优先级

() [] -> .

1

! ~ ++ --

+(单目,正号) -(单目,负号)

*(解引用运算符)

&(取地址运算符) (类型) sizeof

2

*(乘法) / %

3

+(双目,加法)

-(双目,减法)

4

<< >>

5

< <= > >=

6

==(逻辑等于)

!=

7

&(按位与)

8

^

9

|

10

&&

11

||

12

?:

13

=(赋值等于) += -= *= /= %= &= ^= |= <<= >>=

14

,

15

左右结合的定义:

多个相同运算符,或同一优先级运算符存在时,从左至右或从右至左的运算顺序

算术运算符:

单目+和单目-,以及双目的+,-,*,/和%

算术运算的结果即为运算式的结果

关系运算符:

< <= > >= == !=

关系运算的结果为int,为0或1(0假1真)

逻辑运算符:

操作对象为0或非0的一个表达式

!(单目逻辑非,操作数为非0,则输出1,反之为0)

&&(双目逻辑与,有0则输出0,若第一个操作数为0,则不再计算第二个操作数)

||(双目逻辑与,有非0则输出1,若第一个操作数为非0,则不再计算第二个操作数)

逻辑运算的结果为int,为0或1(0假1真)

自增与自减运算符:

结果类型与操作数类型一致

++和--

注意:++x和x++表达不同的意思

++x是先让x自增,再返回x自增之后的值;而x++是先让x返回初始值,再让x自增

序列点:规范自增在某一进程前完成的位置

包括&&、||、?:、和逗号运算符的第一个操作数结尾处,以及完整表达式的结束

赋值运算符:

简单赋值:操作数1=操作数2

数1必须是一个可改变内容的左值表达式

过程是首先计算操作数2的值,然后将该值赋给操作数1对应的储存单元,执行赋值之前操作数被自动转换为操作数1的类型

简单赋值运算的值和类型与操作数1相同

复合赋值:操作数1 op =操作数2 或 操作数1 =操作数1 op操作数2 (但不一定等价,左值计算次数1次和2次同会影响效率,部分情况下影响结果)

op代表加、减、乘、除、求余,以及<<、>>、&、^和|

条件运算符:

操作数1?操作数2:操作数3

如果操作数1的值非0,则计算操作数2,并以其值作为结果;如果操作数1的值为0,则计算操作数3,并以其值作为结果

注意:不会计算未被选中的分支

表达式类型由操作数2和操作数3确定

逗号运算符:

操作数1,操作数2,操作数3,……,操作数n

表达式从左到右依次计算各个操作数,表达式的值和类型由操作数n决定

要用到逗号运算符时,需要用括号把含有逗号运算符的逗号表达式括起来

sizeof运算符:

sizeof(类型名):给出指定数据类型占用的存储字节数

sizeof表达式:给出表达式结果的类型占用的存储字节数,表达式可有或无括号,若无,sizeof与表达式之间要有空格

Sizeof在编译时确定类型,不在运行时对表达式求值(例如,在sizeof里的复合赋值不影响原左值)

位逻辑运算符:

~a 按位取反:对操作数上的每一个位取相反值;

a&b 按位与:对两个操作数上的每一位进行与运算,两个同时为1则为1,其他都是0;

a|b 按位或:对两个操作数上的每一位进行或运算,两个同时为0则为0,其他都是1;

a^b 按位和:对两个操作数上的每一位进行不进位的加法运算,两个相同则为0,不同则为1;

移位运算:

a<<b 左移:将左操作数的每一位向左移动右操作数指定的位数,高位被移出,低空位填0;

a>>b 右移:将左操作数的每一位向右移动右操作数指定的位数,低位被移出,高空位填0或1(由操作数类型及系统决定);

类型转换

1、整数提升:表达式中char和short(整数类型)会自动转换成int(有符号)或unsigned(无符号)类型,若所有值都能用int表示,则用int,否则转换为unsigned(很少,可能出现在16位系统中)两个数不一定转成一样的类型;

2、算术转换:对于整数提升后操作数类型不同的两个数,会发生算术转换,原则是值域较窄的类型向值域较宽的类型转换,方向如下:

char/short-> int-> unsigned ->long ->unsigned long-> long long ->unsigned long long ->float->double ->long double

注意:如果一个是long,一个是unsigned时,如果在该系统中long能表示unsigned的所有数(比较最大值),则将unsigned操作数转换为long,否则将两个都转换为unsigned long

(原因与整数提升中类似,在32位系统中unsigned与long长度相同,由于long带符号所以短了一半)

3、赋值转换

右操作数的值和类型完全由左操作数的值和类型决定

4、强制类型转换

(类型名)操作数 只对操作数(或表达式)的值进行类型转换,不干涉原有变量的类型和值

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

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

相关文章

matlabe东向偏移、北向偏移、垂直偏移转经纬度

1.代码function [target_lat, target_lon, target_alt] = relative2geodetic(ref_lat, ref_lon, ref_alt, east_offset, north_offset, up_offset) % 将相对偏移转换为地理坐标系 % 输入: % ref_lat, ref_lon, ref_…

在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名媒体系统生态需求洞察

本文深入分析某知名开源媒体系统的插件生态,揭示其丰富的功能特性和应用场景,涵盖智能播放列表、多平台同步、界面定制等核心功能,展现了一个成熟开源项目的完整生态体系。a.内容描述核心功能定位:该项目是一个专注…

2025 年立体画厂家最新推荐榜单:涵盖 3d 光栅立体画、立体光栅卡、3D 装饰立体画、三维立体画,助力企业与消费者精准挑选优质品牌

当前,立体画行业发展迅猛,市场上品牌数量激增,涵盖 3d 光栅立体画、立体光栅卡、3D 装饰立体画、三维立体画等多个品类。然而,众多品牌中产品质量参差不齐,部分品牌技术水平落后,服务保障缺失,导致企业在采购用…

修改Windows10的TLS版本和Ciphers加密算法 导致 sql server 2008 连接不上

服务器是Windows10 sql server 2008 ,安全扫描出漏洞,要求禁用TLS1.0 和一些 旧的加密算法 使用IISCrypto.exe 发现服务器目前是这样的 然后点击左下角的 Best Practices,然后点击apply,重启服务器,然后sql s…

20232403 2025-2026-1 《网络与系统攻防技术》实验一实验报告

20232403 2025-2026-1 《网络与系统攻防技术》实验一实验报告 1.实验内容 本次实验围绕一个pwn20232403,通过三种不同的方式,调用getShell函数。包括直接修改可执行文件本身、利用foo函数中的缓冲区溢出漏洞和注入一…

2025 年板材厂家推荐:兔宝宝以绿色创新筑根基,全链服务护健康家居需求

行业背景在 “双碳” 战略深化与城市旧改浪潮的双重推动下,中国板材产业正加速从规模竞争转向价值竞争,2025 年行业 CR10(前十大品牌市占率)已达 47.3%,绿色环保、智能生产成为核心竞争维度。消费者对健康家居的需…

基于SC译码算法的极化码解码实现与优化

1. SC译码算法原理与核心流程 串行抵消(Successive Cancellation, SC)译码是极化码的基本解码算法,其核心思想是通过递归消除已译码比特的影响,逐比特推断信息。主要步骤如下:初始化:根据接收信号计算初始似然比…

idea远程连接并本地打包到远程服务器

开发环境需要把本地的jar包打包并部署到远程服务器,idea自带远程连接。记录一下 1.idea 工具- 部署 - 配置 2.点击 左上角的 添加按钮,输入服务器地址 以及 根路径,映射则配置本地的target目录 如下3.连接成功后…

2025 年快速退火炉优质厂家最新推荐榜单:真空 / 半导体 / 晶圆 / 高温 / 桌面 / 半自动 / 全自动 / 芯片 / 硅片 / RTP 设备企业核心竞争力全面解析

当前,3C、半导体、光伏、汽车等行业迅猛发展,对快速退火炉的需求持续增长,但其市场现状却存在诸多痛点。不少厂家缺乏核心技术,产品性能不稳定,难以满足高精度生产需求;市场上厂家数量繁杂,质量参差不齐,用户面…

2025 年窗帘品牌最新推荐权威排行榜:精准剖析各品牌优势,定制 / 设计领先 / 家居等多类型窗帘优选母婴/遮光/智能/蕾丝/百叶/阳台/隔音/卷帘窗帘厂家推荐

在当前家居软装市场中,窗帘作为提升空间格调与保障生活舒适度的关键单品,其品牌选择愈发受到消费者重视。然而,市场上窗帘品牌数量繁杂,既有深耕多年的老牌企业,也有不断涌现的新兴品牌,产品质量、工艺水准与服务…

ElasticSearch基础入门和基本概念 - 详解

ElasticSearch基础入门和基本概念 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

电子合同时代来了!推荐一款人人都能用得起的电子合同系统,虽然现在电子合同平台很多,但成本都不低,现推荐一款可能是成本z低的电子合同签署系统,套餐没有有效期,并且可转让,用不完的永远不浪费

电子合同时代来了!推荐一款人人都能用得起的电子合同系统,虽然现在电子合同平台很多,但成本都不低,从3-7元每份价格不等,而且需要在有效期内消费,到期就归零了,对很多中小企业来说每年白白花费不少的成本,现推…

2025 年最新推荐!停车场系统厂商榜单重磅发布,涵盖管理 / 收费 / 无人值守 / 道闸 / 车牌识别系统优质服务商

当下城市化进程不断加速,车辆保有量逐年激增,停车场作为城市交通运转的关键环节,其智能化、高效化管理需求日益迫切。然而当前停车场系统市场鱼龙混杂,部分厂商技术实力薄弱,产品频繁出现识别故障、系统卡顿等问题…

2025 年汽车托运公司推荐排行榜,靠谱的汽车托运服务哪家好?推荐这五家汽车托运公司!优质企业深度解析,助您轻松选对汽车物流服务提供商全国门到门 / 仓储 / 跨境货运服务公司推荐

当前汽车产业飞速发展,跨区域购车、二手车流通、企业车辆调度等需求激增,汽车托运成为刚需。但行业乱象凸显,部分公司无正规资质、运输流程不规范,导致车辆损坏理赔难、运输时效拖延、隐性收费层出不穷,消费者和企…

3C电子企业柔性制造转型:如何依据MES管理系统完成快速换线与弹性生产?

3C电子企业柔性制造转型:如何依据MES管理系统完成快速换线与弹性生产?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

oo

ooimport numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split, KFold, cross_val_score from sklearn.linear_model imp…

实用指南:20250926的学习笔记

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 最新移民机构推荐排行榜:精选国内靠谱移民服务机构,助力高效规划澳洲/美国/欧洲等国移民方案

当前全球化背景下,移民需求持续增长,但移民市场却乱象丛生,给有需求的人群带来极大困扰。众多中介资质参差不齐,部分缺乏专业认证,对各国移民政策解读偏差大,导致申请受阻甚至失败;服务不透明问题突出,隐藏费用…

2026 NOI 做题记录(六)

推荐阅读:H、K、N、PContest Link \(\text{By DaiRuiChen007}\)A. [P13540] 羊驼的坎坷之旅 (6) Problem Link 首先图中点数太多,只考虑所有的 \((0,y)\) 类点,把每条路径按经过 \((0,y)\) 分段。 具体来说,设 \(w…

2025 年安防系统厂商最新推荐榜:弱电 / 智能 / 周界 / 监控等全品类服务商深度测评及选择指南

随着 AI、物联网技术与安防领域的深度融合,市场对智能安防系统的需求已从单一设备采购转向全场景解决方案。当前安防市场中,既有深耕多年的资深企业,也涌现出一批技术新锐品牌,但厂商资质、技术实力与服务能力的差…