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

 

目录

前言

​编辑

一、四则运算

1. 四则运算的概念

2. 注意事项

3. 小结

二、关系运算

1. 关系运算的概念

三、逻辑运算

1. 逻辑运算的概念

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

(1)对于&&运算

(2)对于 || 运算

3. 取非运算( ! )

四、位运算

1. 位运算的概念

2. 深度剖析位运算

(1)再论数据类型

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

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

3.小结

五、总结


 

前言

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

C语言学习——四则运算,关系运算,逻辑运算与位运算_第1张图片

一、四则运算

1. 四则运算的概念

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

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

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

2. 注意事项

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

3. 小结

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

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

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

二、关系运算

1. 关系运算的概念

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

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

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

三、逻辑运算

1. 逻辑运算的概念

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

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

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

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

C语言学习——四则运算,关系运算,逻辑运算与位运算_第2张图片C语言学习——四则运算,关系运算,逻辑运算与位运算_第3张图片

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

(1)对于&&运算

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

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

(2)对于 || 运算

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

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

3. 取非运算( ! )

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

       —对真值取非的结果为假

       —对假值取非的结果为真

四、位运算

1. 位运算的概念

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

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

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

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

C语言学习——四则运算,关系运算,逻辑运算与位运算_第4张图片

注意:

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

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

C语言学习——四则运算,关系运算,逻辑运算与位运算_第5张图片

示例自己运算 

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.运算优先级

C语言学习——四则运算,关系运算,逻辑运算与位运算_第6张图片

 

 

你可能感兴趣的:(C语言学习,学习,c语言,开发语言)