先用简单的的语言去大概浏览C语言的代码,对于看完概览这一章节对于C语言有个基本的认识,详细的知识点后面又专门的章节提到。
目录
操作符
指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作.
每个操作符都有自己的语义.
每个操作符都有优先级.
算数操作符
C语言中的算数 操作符有我们很常见的 + - * / (除号是正斜杠)加减乘除的基础上还多了一个 % ,取模。取模%的运算方法也很简单,就是去余数,比如
指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。不同的指令用操作符这个字段的不同编码来表示,每一种编码代表一种指令。组成操作符字段的位数一般取决于计算机指令系统的规模。
移位操作符
移位操作符的用法:给一个数>>移动几个二进制位。
如果创建一个变量接收他的值,不管你怎么移,移多少位,原数总是不变。
他的算法就是把十进制表示的数字转化成二进制,再把他们向左或向右移动
位操作符
& 按位与
用法 3&5 :把两个数的二进制表示序列位位对应,两个对接的位数值只要有一个是0,则位0。除非两个数全是1,则为1。
3&5
011&101 = 001 =1
‘ | ‘按位或
用法3 | 5
把两个数的二进制表示序列位位对应,两个对接的位数值只要有一个是1,则为1。除非两个数全是0,则为0。
011 | 101 = 111 =7
‘^‘ 按位异或
用法 3 ^ 5
把两个数的二进制表示序列位位对应,两个对接的位数值一样则为0,对应的两个二进制为不相同则为1。
011^101 = 110 =6
赋值符
‘ = ‘在c语言中是赋值的意思。(两个等号是判断是否相等)。
A = 10;的意思就是把10这个数字赋值给A,那么,
A = A + 10;意思就是把A加上10然后赋值给A,所以我们可以把它简化写成 A += 10,他们完全等价。
就像这些+= ,-=,<<=,&= 统一称他们为复合赋值符。
单目操作符
像加号减号这样的操作符,我们必须得提供两个数字它才可以使用,它有两个操作数,所以我们把它叫做双目操作符。
举一反三,那么当然,只有一个操作数的操作符叫做单目操作符,有三个操作数的操作符叫三目操作符。
典型的单目操作符有: ! - + & ~ -- ++ * () sizeof
!
‘ !’ 反逻辑操作符,在c语言中,0为假,非0即为真。感叹号的作用就是反逻辑,反逻辑真为假,反逻辑假为真,这里假反逻辑后的真固定为 1 ,而反逻辑后的假当然为 0 .
sizeof
‘ sizeof ’是计算变量或者类型所占的空间大小,单位为字节。
用法:sizeof(变量/类型)。Ps:这里可以填上变量,就是计算变量占空间大小也就是类型的大小,当然也可以直接填上类型计算这类型的大小,也可以填上数组,算数组的总大小。
细节:sizeof计算变量和数组的时候后面的括号可以省略,但是计算类型的时候不可以。
可以通过sizeof来计算出数组的元素数量。上图可以了解的东西很多。可以仔细观看。
~
‘ ~ ’ 单目操作符 ~
波浪号的作用是的作用是把一个数的二进制序列按位取反,包括他的符号位。正数按位取反后因为符号位的改变整体也变为负数。负数在计算机中按补码的方式储存,若要计算出结果,要对按位取反之后的数进行反推,得出它的原码。反之,计算负数按位取反的结果时,首先要得出负数的补码,再将其按位取反,得出的结果则为正数的补码即原码。
++ --
‘++’ ‘- -‘ 这个++和- -有两种使用方法
后置++和前置++不一样,后置一个是先把变量的值赋给它,然后再给他++。就是意思先把这个值按原来的赋了,然后再给变量本身++,每赋一次值,他都++一下。后者是先++,然后再使用变量,区别就是先把这个值++了,然后再把值赋值为-1。
关系操作符
这个就是比较两个数的关系,大小啊相等不相等这些。
<= >= == !=,<,>之类的。关系操作符是双目操作符。C语言中的大于等于这些和我们数学上的不一样,例如 ,>=就表示大于等于。==表示相不相等。
逻辑操作符
&&,逻辑与:
前面与后面两个数逻辑都为真的,则为真。
| | ,逻辑或:
前面或后面两个数逻辑其一为真,则为真。
条件操作符
“ 表达式1? 表达式2:表达式3 ”
首先判断表达式1是否为真,若为真,则执行表达式2,表达式2就是这个三个表达式的结果。若表达式2为假,则执行表达式3。那么表达式3就是整个表达式的结果。
整个条件操作符也是三目操作符
下标引用、函数调用和结构成员
[ ] - 下标引用操作符
使用数组中元素的下标以调出数组中的元素。
( ) - 函数调用操作符
调用函数,并在括号里填上函数对应的操作数,以达到调用函数并执行的结果。