C语言笔记初级篇第五章:操作符
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言笔记初级篇第五章:操作符相关的知识,希望对你有一定的参考价值。
目录
(1)算数操作符
第一点:基本介绍
算数操作符包括以下几种
第二点:注意事项
1:除了“%”之外,其余算数操作都可以用于整数和浮点数,"%"左右两侧必须为整数
2:对于“/”,当左右操作数是整数时,执行的是整除(也就是只要商的部分),当左右操作数有一个是小数时,当然前提变量要定义为浮点型,执行的就是除法,也就是结果是小数
(2)移位操作符
A:左移
左移就是这个数的二进制位向左移动,空出来的用0补齐
左移的结果就是这个数变为2倍
B:右移
逻辑移位:补码向右移动,空出来的用0填充
算数移位:补码向右移动,空出来的用符号位填充(主要使用)
算数右移的结果就是变为原来的二分之一
需要注意不要移动负数位,此标准未定义
(3)位操作符
(4)赋值操作符
赋值操作符基本无需讲解,这里只需注意一下常用的这些复合赋值符
(5)单目操作符
第一:单目操作符的类型
第二:对其中几个单目操作符的说明
1:sizeof
sizeof是用来计算空间大小的
sizeof和数组
sizeof内部不会进行计算
2:"~"按位取反
按位取反基本介绍
按位取反的应用
(6)关系操作符
(7)逻辑操作符
(注意这里的逻辑操作符不要和位操作符搞混了,位操作符是对数的二进制位进行操作,而逻辑操作符是对数本身操作)
第一:逻辑操作符类型
第二:逻辑与和逻辑或的区别
逻辑与:遇假则假,全真则真
逻辑或:遇真则真,全假则假
这里要特别注意逻辑与左边为假停止计算,如果是逻辑或左边为真停止计算
(8)条件操作符(三目运算符)
(9)逗号表达式
用逗号分开的表达式就叫做逗号表达式,逗号表达式会从左到右依次计算,最终逗号表达式返回的是最后一个表达式的结果
在一般情况下,逗号表达式是不常使用的,因为有时会造成代码的不易理解
(10)下标引用,函数调用和结构成员
A:下标引用操作符
B:函数调用操作符
我们调用函数的圆括号,就是函数调用操作符
C:结构体成员
第一点:结构体是什么
我们之前使用的int,char类似于结构体,然后int a,就是创建一个int类型的变量。
我们可以把结构体理解为一个学生,这个学生它有很多信息,例如信息,学号,性别等等。而这些信息就叫做这个结构体的成员
第二点:创建结构体变量
上述实例中创建的就是“struct Student”的结构体,然后类似于Python中类与对象关系,进行实例化,就是创建结构体变量
第三:"结构体.成员名"
第四点:"结构体指针->成员名"
前面我们说过“int* a”,定义了一个指向int的指针a。那么这里对于我们自己创建的结构体也是这样的
当然上述取成员的操作是正确的,但是太麻烦了,于是对于结构体指针我们取成员名是用"->"
(11)表达式求值
A:隐式类型转换
第一点:什么是整型提升
C语言的整型算数运算总是至少以整型类型的精度进行的,如下一个例子中最终的输出结果可能会与我们所想的不一样
在上述这个表达式中,字符或短整形操作数在使用前被转换为了普通整形,这种转换称为整形提升
第二点:整形提升的规则
第三:整形提升的例子
实例1
实例2:
B:算数转换
C:操作符的属性
第一:复杂表达式求值顺序的决定因素
1:操作符的优先级
2:操作符的结合性(先考虑优先级再考虑结合性)
3:是否控制求值顺序
4:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
以上是关于C语言笔记初级篇第五章:操作符的主要内容,如果未能解决你的问题,请参考以下文章