一、操作符
*1、算数操作符
*2、移位操作符 <<(左移) >>(右移)
计算机中的数值是以二进制的方式存储的(存的是二进制数的补码),左移和右移,移的是二进制数补码,然后转 换成原码,在转换十进制数打印到屏幕上。
*3、位操作符 & (按位与) |(按位或) ^(按位异或)
这三个操作符操作的都是计算机中存储的二进制
按位与 & :每一位的二进制数相与,其他两个也是这样计算的
*4、赋值操作符 = += -= /= %= &= |= ^= >>= <<=
这里a += 2相当于a = a + 2
这里a -= 2相当于a = a - 2
这里a *= 2相当于a = a * 2
这里a /= 2相当于a = a / 2
其他的操作符都是这样计算的。
*5、单目操作符
& 取地址 就是将 a 的地址取出来放进 p 当中,可以通过 p 找到a 中的值将它改变或使用
sizeof 操作数的类型长度(以字节为单位)
可以求取变量的大小。
- 解引用操作符 *
*p就是通过解引用找到a,然后对a 进行改变
(类型)强制类型转换
(int)10.5 ,将10.5强制转换成int类型,但是这种操作会丢失精度
*6、关系操作符
*7、逻辑操作符
(表达式1)&&(表达式2)要两个为真,整体就为真
一个为假,整体就为假
(表达式1)||(表达式2)一个为真,整体就为真
两个为假,整体就为假
*8、条件操作符
(表达式1)?(表达式2):(表达式3)
如果表达式1位真就执行表达式2; 如果表达式1位假就执行表达式3;
下标引用、函数调用和结构体成员
arr [ ]就是下标引用
print ()就是函数调用
结构体操作符
二、常用关键字
*2.1、关键字 static
在C语言中: static 是用来修饰变量和函数的 1、修饰局部变量--静态局部变量 2、修饰全局变量--静态全局变量 3、修饰函数--静态函数 *1、static 修饰局部变量
对比代码1和代码2的效果理解static修饰局部变量的意义。
结论:
static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,
生命周期才结束。
*2、修饰全局变量
全局变量是默认具有连接属性的,就是在add.c源文件定义的变量可以在test-1016.c源文件里使用,但是使 用之前必须要声明(extern int a;),才能使用。
static 修饰的全局变量就取消了全局变量的,默认链接属性,即使声明了也不能使用。所以static修饰全局变量只能在自己所在的.c文件中使用
*3、修饰函数
两个代码对比,说明static定义的函数只能在自己所在的.c 文件中使用
三、指针
要学习指针就要先了解内存
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地
址
变量都有地址,取出变量的地址:
那地址又是如何存储的呢???
通过一个变量int* 类型的指针变量来存储
指针类型的大小又是多少呢??????
所有指针都是存放地址的,所以在32位平台上是4个字节,在64位平台上是8个字节
四、结构体
结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。
比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。
这里只能使用结构体来描述了
关于C语言我们要有一个大概的了解,以后会对每一个部分会有一个更详细的说明。
不对的地方希望大家指出,我会加以改正的!!!!!



