C语言学习——四则运算,关系运算,逻辑运算与位运算

 

目录

前言

​编辑

一、四则运算

1. 四则运算的概念

2. 注意事项

3. 小结

二、关系运算

1. 关系运算的概念

三、逻辑运算

1. 逻辑运算的概念

2. 逻辑运算中的短路法则

(1)对于&&运算

(2)对于 || 运算

3. 取非运算( ! )

四、位运算

1. 位运算的概念

2. 深度剖析位运算

(1)再论数据类型

(2)所以位运算时需要明确知道的事

(3)类型补充知识——char字符型

3.小结

五、总结


 

前言

——C语言中支持下面四种类型的运算

16021d0c75a872c99ad8be7eb12358ef.png

一、四则运算

1. 四则运算的概念

—四则运算运算符有 +,-,*,/,%等

—四则运算就是数学中的加,减,乘,除等运算

—四则运算遵循先乘除后加减的运算优先级

2. 注意事项

C语言中的除法运算,其除数不能为0!!!

3. 小结

(1) 整数型的除法运算结果会舍弃小数部分

(2) 取余(%)运算也是一种除法运算,结果为余数

(3) 浮点数不能进行取余运算

二、关系运算

1. 关系运算的概念

—关系运算有<,>,<=,>=,==,!= 等

—关系运算是比较两个值大小关系或相等关系的运算

—关系运算比较的结果为逻辑值:真(1),假(0)

三、逻辑运算

1. 逻辑运算的概念

—逻辑运算有&&,||,!等

—逻辑运算的参与者为逻辑值(真或假)

—任何非零值在逻辑运算中都为真

—任何零值在逻辑运算中都为假

6beb6a18aa49d3e5271ec45cfd031e58.pngfe1fa3788cfa7890372e04f3c7869f79.png

2. 逻辑运算中的短路法则

(1)对于&&运算

          —从左到右进行,如果有一个操作数为假,则整个表达式为假

          —第一个为假的操作数之后的操作数不再计算

(2)对于 || 运算

          —从左到右进行,如果有一个操作数为真,则整个表达式为真

          —第一个为真的操作数之后的操作数不再计算

3. 取非运算( ! )

——单目运算(只需要一个操作数),运算结果为逻辑值

       —对真值取非的结果为假

       —对假值取非的结果为真

四、位运算

1. 位运算的概念

—位运算有&,|,~,^,<<,>> 等

—位运算的基本单位是二进制位,所以也是一种0和1的操作

—可以使用括号来改变位运算的运算顺序

—位运算的操作数只能是整数型(浮点数不能直接进行运算)

2bf60552a959baae9ad3246a1c9d5cf2.png

注意:

1. 按位与和逻辑与的计算法相同:两值为1,结果为1,否则为0

1. 按位或和逻辑或的计算法相同:两值为0,结果为0,否则为1

6e2969810b13ff68270dc2f97d61386d.png

示例自己运算 

2. 深度剖析位运算

(1)再论数据类型

short和int的表示范围不同,其本质差异是什么?

  不同类型的本质在于:

——占用的内存大小不同

           如short占用2字节,int占用4字节

——表示具体数据的方式不同

           正整数用原码表示,负整数用补码表示

           整型数和浮点数的二进制表示不同

(2)所以位运算时需要明确知道的事

—操作数的类型(占用字节的大小)

—操作数是正数还是负数(符号位,数据表示)

—不同类型的操作数先自动对齐再进行位运算(补符号位)

(3)类型补充知识——char字符型

—char是字符型,一个字节的整型,范围为[-128, 127]

—字符数据(单引号括起来的字符)的本质是整数型

—char类型的变量可以打印为整数或者字符

3.小结

(1)位运算直接对数据的二进制进行操作

(2)位运算的操作数只能是整数型(浮点数不能直接进行位运算)

(3)正数符号位为0,右移运算时,高位补0,低位移除

(4)负数符号位为1,右移运算时,高位为1,低位移除

(5)左移运算时,最高位移除,低位补0

(6)最高位的具体位置,由数据类型决定

五、总结

1.可以使用括号改变运算顺序

2.不同的运算优先级不同,可以用括号来改变运算优先级

3.如果不同类型的运算同时出现在一个表达式中,那么尽量用括号来指明运算关系

4.运算优先级

0c0c12b0835140557fd9cb0b6856bd17.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值