C语言程序设计 | 操作符介绍与使用方法

本文详细介绍了C语言中的各类操作符,包括算术、移位、位、单目、关系、逻辑、条件、逗号表达式及下标引用等。解析了每种操作符的功能、使用场景及特殊规则,如移位操作符的两种移位方式,位操作符的具体应用,以及单目操作符中a++与++a的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录:


算术操作符

+ - * /

注意事项:
1.除了%运算符之外,其他的几个操作符可以作用于整数和浮点数
2.对于/操作符如果两个操作符都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。
3.%操作符的两个操作数必须为整数。返回的是整数之后余数


移位操作符

<<左移操作符

>>右移操作符

左移操作符 移位规则:
高位遗弃,低位补0

例如:

3的二进制位:
00000000000000000000000000000011
3<<1得
00000000000000000000000000000110

右移操作符 移位规则:
1.逻辑移位
2.算术移位

例如:

-1的二进制位补码:
11111111111111111111111111111111

逻辑移位:低位遗弃,高位补0
例如:
-1>>1得
01111111111111111111111111111111

算术移位:低位遗弃,高位补原符号位
例如:
-1>>1得
11111111111111111111111111111111


位操作符

& | ^

&:与操作符
对比两个整形数据的二进制的每一位,在每一位上两部同时为时该位取1,否则取0

如 1 和 3
1:
00000000000000000000000000000001
3:
00000000000000000000000000000011
1&3:
00000000000000000000000000000001

|:或操作符
对比两个整形数据的二进制的每一位,在每一位上任意一边存在1时该位取0,不存在1时取0

如 1 和 3
1:
00000000000000000000000000000001
3:
00000000000000000000000000000011
1&3:
00000000000000000000000000000011

^:异或操作符
对比两个整形数据的二进制的每一位,在每一位上当两边相同时取0,不相同时取1

如 1 和 3
1:
00000000000000000000000000000001
3:
00000000000000000000000000000011
1&3:
00000000000000000000000000000010


单目操作符

!   逻辑反操作
-   负值
+  正值
&  取地址
sizeof  操作数的类型长度(以字节为单位)
~  对一个数的二进制位按位取反
- -  前置、后置--  
++  前置、后置++
*  间接访问操作符(解引用操作符)
(类型) 强制类型转换

a++,a- -与++a,- -a的区别

当++或者- -前置时,先运算,后使用
如:

int a = 1;
printf("%d",++a);

这里输出的是2

当++或者- -后置时,先使用,后运算
如:

int a = 1;
printf("%d",a++);

这里输出的是1


关系操作符

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

逻辑操作符

&&   逻辑与
| |      逻辑或

条件操作符

exp1 ? exp2 : exp3

对条件exp1进行判断,正确时返回exp2,错误时返回exp3


逗号操作符

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


下标引用、函数调用和结构成员

1.[ ]下标引用操作符
操作数:一个数组名 + 一个索引值

2.( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

3.访问一个结构的成员

. 结构体.成员名

-> 结构体指针->成员名

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌桓丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值