c语言 4则运算符,C语言之4- 运算符

一. 运算符目

C语言中的运算符的运算对象可以是一个,称单目运算符;运算对象也可以是两个,称双目运算符;运算对象还可以是三个,称三目运算符。单目运算符若放在运算对象的前面称为前缀单目运算符;若放在运算对象的后面称为后缀单目运算符。双目运算符 都是放在两个运算对象的中间。三目运算符在语言中只有一个(条件运算符),是夹在 二个运算对象之间的。

1.

“+”号。在算术运算中既表示单目的取正运算,又可表示双目的加法运算,在指针运算中表小双日的加法运算。

2.

“-”号。在算术运算中既表示单目的取负运算,又可表示双目的减法运算,在指针运算中表示双目的减法运算。

3.

“*”号。在算术运算中表示双目的乘法运算,在指针运算中表示指针变量指向的地址中的值。

4.

“&”号。在位逻辑运算中表示双目“与”运算,在指针运算中表示取地址的运算。

二. 运算符分类

每个运算符都代表对运算对象的某种运算,都有自己特定的运算规则。每个运算符运算的对象都规定了数据类型,同时运算结果也有确定的数据类型。因此把运算符也划分为若干种类型,例如,对数值型对象运算,结果仍是数值型的称为算术运算符,结果是逻辑值又(真或假)的称为关系运算符等等

1. 运算符的优先级

当表达式中出现多个运算符,运算表达式值时,就会碰到哪个先算,哪个后算的问题,我们把这个问题称为运算符的优先级。计算表达式值时,优先级高的运算要先进行_注意,在复杂的表达式中,用圆括号括住的部分要先算,其优先级别高于任何运算符若在圆括号中又有圆括号,则内层圆括号优先于外层圆括号。同级别的运算符还规定了结合性若是自左向右先碰到谁先算谁,则结合性称为自左向石的;若是自右向左先碰到谁先算谁,则结合性称为自右向左的。

a4c26d1e5885305701be709a3d33442f.png

2. 算术运算符

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

────────────────────────────

+ 加, 一目取正

- 减, 一目取负

* 乘

/ 除

% 取模

-- 减1

++ 加1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1)

基本算术运算符是对数据进行简单算术运算的。要注意字符型数据也可以看成整型数据,参加基本算术运算。

2)

两个单目运算符都是前缀运算符。单目正(+)运算不改变运算对象的值,很少使用。单目负(-)运算是取运算对象的负值。

3)

双目加(+)、减(-)、乘(*)运算和普通算术运算中的加法、减法和乘法相同。

4) 双目除运算(/

)和运算对象的数据类型有关。若两个对象都是整型数据,该运算称为“整除”,即获得的商是整数若商有小数,则截去小数部分。如14 / 5

,结果为2 ;若两个运算对象有一个或两个都是实型,则运算结果是实型例如,而14 / 5 . 0 ,则结果为2 . 8 。

5) 双目模运算(%)的对象必须是整型数据,结果是整除后的余数。例如,14 %

5 的结果为4 (商为2 ) ; 14 呢4 的结果为2 (商为3 )注意运算结果的符号与被除数相同

6) 实例1:

a4c26d1e5885305701be709a3d33442f.png

7) 实例2:

当为a1=a+(++a),最后a1的值为12;

分析:a1=5;a1=a1+++a1++;

最后a1的值为12;

3. 关系运算符

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

─────────────────────────────

> 大于

>= 大于等于

<= 小于等于

== 等于

!= 不等于

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1) 关系运算符是用来比较两个数据大小的,运算的结果是成立或不成立。

2) 如果成立,则结果为逻辑值“真”,用整数“l

”表示;如果不成立,则结果为逻辑值“假”,用整数“0 ”表示。

3) 所有关系运算符都是双目运算符,所组成的表达式称为关系表达式。

4)

关系运算符可以用来比较两个数值型数据的大小,也可以比较两个字符型数据的大小。字符数据比较时是按该字符对应的ASCII

代码值的大小进行比较,其实质也是数值比较。

4. 逻辑运算符

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

─────────────────────────────

&& 逻辑与

|| 逻辑或

! 逻辑非

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1) 在C 语言中,逻辑值是用数值非0

和0来表示逻辑真和假的,所以逻辑运算符也可以对两个数值型数据进行运算,包括整型、实型、字符型等数据。

2) 单目逻辑运算符(!

)是前缀运算符,双目逻辑运算符是插在两个运算对象中间,所组成的表达式称为逻辑表达式。逻辑表达式的运算结果是逻辑值。若运算结果为逻辑真,则获得l

; 若运算结果是逻辑假,则获得0。

3)

要特别注意逻辑真的表示方法,对参加运算的逻辑真,是用非0值来表示的;而运算结果的逻辑真是用数值1

来表示的。而对逻辑假,不管是参加运算,还是运算结果,都是用数值0来表示的。

a4c26d1e5885305701be709a3d33442f.png

5. 位运算符

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

操作符 作用

────────────────────────────

& 位逻辑与

| 位逻辑或

^ 位逻辑异或

~ 位逻辑反

>> 右移

<

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1) 位逻辑运算符

位逻辑运算符是将数据中每个二进制位的0和1都看成逻辑值,逐位进行逻辑运算的运算符。位逻辑运算符分为非、与、或、按位加四种。非是前缀单目运算符,其余三种都是双目运算符。

2) 位移位运算符

第一运算对象是移位对象,第二个运算对象是所移的二进制位数。如:a<

移位时,移出的数位全部丢弃,移出的空位补入的数与左移还是右移有关。如是是左移,规定补入的数全部是0;如果是右移,还与被位的数据是否带符号有关。若是不带符号数,则补入的数全部是0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。

3) 位自反赋值运算符

a4c26d1e5885305701be709a3d33442f.png

6. 赋值运算符

1) 赋值运算符的前面必须是变量,后面是表达式。

b=200; 解释成把值200赋给变量b,而不能说出b等于200.

2)

由于任何运算符和运算对象组成的式子都是表达式,所以由赋值运算符连接运算对象组成的式子“变量=表达式”也是表达式,称为赋值表达式。

3)

每个表达式都有值,所以赋值表达式也有值,其值等于赋值运算符右边表达式的值,也就是赋予左边变量的那个值。

7. 条件运算符

1) 实例1

8. 逗号运算符

1) 实例1

a4c26d1e5885305701be709a3d33442f.png

9. 下标运算符 [ ]

分两步完成:a[i]

第一步:求偏移量的地址:a+i;

第二步:获取地址的内容:*(a+i)

10. 引用运算符”.”,对内存的访问

通过首地址的方式对内存进行访问的,

比如创建一个结构体类型变量,就会为该变量分配一块内存空间,用于存放结构体成员。而结构体变量本身是指向该块内存空间的首地址,通过该变量,可以引用访问结构体里面的成员变量。

11. sizeof运算符

12. 复合赋值运算符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值