C语言总结五:操作符(压缩版)

一,操作符分类

算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用,函数调用,结构成员访问

二,原码,反码,补码

有符号整数的三种表达方法均有符号位和数值位两部分。

2进制序列中,最高位的1位被当做符号位,剩余的都是数值位。

原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码。

反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。

补码:反码+1就可以得到补码。

三,操作符详细

1,移位操作符

<<左移位操作符:左边抛弃,右边补0。

>>右移位操作符:

逻辑右移:左边用0填充,右边丢弃。

算术右移:左边用原该值的符号位填充,右边丢弃。

注:对于移位操作符,不要移动负数位,这个是标准未定义的。

2,位操作符

注:操作数必须是整数。

3,单目操作符

特点:只有一个操作数。

4,逗号表达式

从右到左依次执行

5,下标访问操作符

操作数:一个数组名+一个索引值

6,函数调用操作符

接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

7,结构体成员访问操作数

结构体成员的直接访问:结构体变量.成员名

结构体成员的间接访问:结构体指针->成员名

三,操作符的属性

1,优先级

概念:如果有多个操作符,哪个运算符应该优先执行。

2,结合性

如果两个操作符优先级相同,这时候就要看结合性了,根据运算符是左结合还是右结合,决定执行顺序。(大部分是左结合,少数右结合,例如"=(赋值操作符)")

相关推荐
油丶酸萝卜别吃1 小时前
前端转全栈学习路线
前端·学习
wuyk5552 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml2 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
萧瑟余晖3 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
ttod_qzstudio4 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
GlueNa2SiO35 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
萧瑟余晖5 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
weixin_431600445 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js
带娃的IT创业者6 小时前
DeepTutor:当 Agent-Native 架构撞上个性化学习的临界点
学习·架构·ai agent·大模型应用·个性化学习·教育技术·agent-native架构
xian_wwq6 小时前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context