10.14
一. 操作符--可以不使用括号的符号
1. 单目操作符
! —逻辑反操作符
- —负数操作符
+—正数操作符
& —取地址操作符(也是位运算符)
~ —对一个数的二进制按位取反操作符
sizeof——操作数的类型长度操作符
二. 前置和后置的区别
i++:后置,先输出原值,然后计算
++i:前置,先进行计算,然后输出
三. 强制转变类型
eg: float a=2.4; 则(int)a=2
四. ~的补充及举例
eg:int a=-1; 则~a=0;
原码:10000000000000000000000000000001
反码:11111111111111111111111111111110——符号位(第一位)不变,其他位改变
补码:11111111111111111111111111111111——在反码的基础上加1
整数(正数):原码,反码,补码一致
整数(负数)://在内存中,以补码的形式存在
注意:1. 所有的正数按位取反的值是其本身+1的负数
2. 所有的负数按位取反的值是其本身+1的绝对值
3. 0按位取反得到是-1
五. 关系操作符
>,>= ,<= ,!=,==
六. 逻辑操作符
&&,||
七. 条件操作符
exp1 ? exp2 : exp3;
eg:int a = 3; int b = 7; int max = 0;
if (a > b) { max = a; }
else { max = b; }
既为:max = a > b ? a : b;
八. 逗号表达式
exp1, exp2, exp3...expN;
eg:int a = 3; int b = 7; int c = 0;
int d = (a = b - c, b = c + a, c = a - b);
结果为最后一个表达式的结果,既d=0
九. 下标引用操作符
eg:int a[10] = { 1,2,3,4,5,6,7,8,9,10 }; a[5]=6
十. 关键字
1.定义:C语言提供的,不能自己创建的,为关键字。比如 int, return;
2.不能把关键字作为变量名
3. 常见的关键字:
auto:自动变量关键字
变量在进大括号的时候变量创建,出大括号的时候变量自动销毁
4. 循环判断关键词
(do-)while,for:循环关键字
continue:循环关键词,仅跳出此步循环
break:循环程序中,直接跳出循环关键字
switch,case,default:选择语句关键词
if,else:判断关键字
goto:跳转语句
十一. 变量类型关键字
char, int, float, double, long, short, gol
signed:有符号类型,max的值更大
unsigned:无符号类型,覆盖的范围更广
const:常变量关键字体 enum:枚举关键字
extern:外部变量、函数申明符号,延申文件
register:寄存器变量关键词,提高效率,不能与&连用
static:静态变量关键字
其修饰局部变量时,局部变量改变自身生命周期,变成了与全局变量生命周期一致
其修饰全局变量时,使得全局变量只能在自己所在的源文件(.c)使用
其修饰函数时,使得函数只能在自己所在的源文件(.c)使用
static改变外部链接属性,使得其无法在其他文件中使用
define:定义的关键字
eg:#define add(x,y)((x)+(y))
int a=3*add(2,3) a=3*2+3=9