单目操作符
! 逻辑反操作符 - 负数操作符 + 整数操作符
& 取地址操作符 sizeof 操作数的类型长度操作符 例:sizeof(a[0]);//4
~ 对一个数的二进制按位取反操作符
例:int a = 0;
Printf(“%d\n”,~a);
-1
10000000000000000000000000000001
整数(正数):原码 反码 补码一致
负数:在内存中,以补码形式存在
原码:10000000000000000000000000000001
反码:11111111111111111111111111111110 符号位(第一位)不变,其他位改变
补码:11111111111111111111111111111111 在反码的基础上加1
所有正数按位取反的值是其本身+1的负数
负数 绝对值
0 是-1
--前置,后置--
++前置,后置++
前置:先计算后循环
后置:先循环后计算
强制类型转换
int a =(int)3.14;
关系操作符
>,>=,<=,!=,==
逻辑操作符
&& ||
条件操作符
Exp 1? exp 2:exp 3;
例:int a = 3;
int b = 7;
int max = 0;
if(a>b)
{
max = a;
}
else
{
max = b;
}
max = a>b?a:b;
逗号表达式
exp 1 , exp 2 ,....exp n
例:int a = 3;
int b =7;
int c = 0;
int d =(a=b-c,b=c+a,c=a-b); 结果为最后一个表达式的结果
printf(“%d\n”,d);
下标引用操作符
int a[10] = {1,2,3,4,5,6,7,8,9,10};
a[5];
关键字
- c语言提供的,不能自己创建的,为关键字 比如: int return
- 不能把关键字作为变量名
常见关键字
auto:自动变量关键字
例:int a = 1;变量a在进大括号的时候变量创建,出大括号的时候,变量自动销毁
循环判断关键词
break循环程序中,跳出循环关
while
for
case选择语句关键词
continue循环关键词
if
else
switch 不管是否符合条件先循环一次
default
do-while
goto跳转语句
变量类型关键字
chat,int,float,double,long,short
signed有符合类型 -10 +20 int 00000000000000000000000000000000 -2^31~2^31
unsigned无符合类型 int 00000000000000000000000000000000 0~2^32 %u
const 常变量关键字
enum枚举关键字
extern外部变量,函数申明符合
register寄存器变量关键词 register float a = 123;
static 静态变量关键字
static 修饰局部变量的时候,局部变量改变自身生命周期,变成了与全局变量生命周期一致
static 修饰全局变量,使得全局变量只能在自己所在的源文件(.c)使用,改变外部链接属性,使得其无法在其他文件中使用。
static 修饰函数,使得函数只能在自己所在的源文件(.c)使用
Define定义常量
#define pi 3.14
int main()
{
printf(“%f”,pi);
return 0;
}
定义的宏
#define PRINTF printf(“Hello world!\n”)
#define ADD(x,y) x+y
int main()
{
PRINTF;
int a =3*ADD(2,3);
printf(“%d\n”,a);
return 0;
}