数组是用下标来访问的
操作符
算术操作符: + - * / %
除号两端都是整数执行整数除法,除号两端有一个小数则执行小数除法
%取模(取余数)
移位操作符:>> <<
移位操作符移动的是二进制位,将所以的数转化为二进制数后在移位
转为二进制要求完整的二进制 即 2=00000000000000000000000000000010
2整数型4字节32bite
位操作符:& | ^
& 按位与
| 按位或
^ 按位异或
赋值操作符:= += -= *= /= &= |= ^= >>= <<=
单目操作符:只有一个操作数
双目操作符:有俩个操作数
数据在内存中存的是补码
一个二进制表示有3钟:
负整数:
原码:二进制数
反码:符号位不变,其他位按位取反得反码
补码:反码加1为补码
正整数:
原码、反码、补码相同
前置++ ++a ++a 是先是a+1,赋值给a后,再将a赋值给其他变量
先++后使用
后置++ a++ a++是先让a赋值给其他变量,再将a+1赋值给a
先使用后++
逻辑符号 && II
条件操作符(三目操作符) ?:
exp1?exp2:exp3
exp1 成立,exp2计算,整个表达式的结果是exp2
exp1不成立,exp3计算,整个表达式的结果是exp3
max=a<b?a:b
逗号表达式是逗号隔开的一串表达式,逗号表达式从左向右依次计算,整个表达式的结果是最后一个表达式的结果
C语言提供的关键字
1.C语言提供的,自己不能创建关键字
2.变量名和关键字不能冲突
auto 自动的 每个局部变量都是auto修饰的
break case char const修饰变量变为常变量 continue default do double else enum枚举 extern是用来声明外部符号的 for float goto if int long register寄存器关键字 return short signed有符号 unsigned无符号 sizeof static静态的 struct结构体 switch typedef类型定义
union联合体(共用体) void无-空 volatileC语言暂时不讲 while
typdef类型重定义
static静态的
1.static修饰局部变量
static修饰局部变量改变了局部变量的生命周期(本质上是改变了变量的存储类型)
2.static修饰全局变量
static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c文件)内使用,其他源文件不能使用
全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成了内部链接属性,其他源文件就不能链接到这个静态的全局变量了
3.static修饰函数
static修饰函数,使得这个函数只能在自己所在的源文件(.c文件)内使用,其他源文件不能使用
与全局变量类似
include define他们是预处理指令
计算机中数据可以存储在哪里?
寄存器、高速缓存、内存、硬盘、网盘