单 *** 作符( *** 作符,可以不使用括号)
!逻辑反 *** 作符
- 负数 *** 作符
+ 正数 *** 作符
& 取地址 *** 作符
~ 对一个数的二进制按位取反 *** 作符
sizeof *** 作符的类型长度 *** 作符
-- 前置 后置 --
++ 前置 后置 ++
关系 *** 作符
> >= < <= != ==
逻辑 *** 作符
&& ||
条件 *** 作符
exp1 ? exp2 : exp3;
逗号表达式
exp1,exp2,exp3...expN;
例题:
int a=3;
int b=7;
int c=0;
int d=(a=b-c,b=c+a,c=a-b);(注:结果为最后一个表达式的结果)
下标引用 *** 作符
例题:
int a[10] = {1,2,3,4,5,6,7,8,9,10};
a[5] = {1,2,3,4,5,6};
对一个数的二进制按位取反 *** 作符
例题:
int a = 0;
printf("%dn",~a);
0000000000000000000000000
11111111111111111111111111111
-1
1000000000000000000000001
整数(正数):原码、反码、补码一致
整数(负数):在内存中,以补码的形式存在
原码:10000000000000000000001
反码:11111111111111111111111110(注:符号位(第一位)不变,其他位改变)
补码:11111111111111111111111111(注:在反码的基础上加一)
所有的正数按位取反的值是其本身+1的负数
所有的负数按位取反的值是其本身+1的绝对值
0按位取反得到的是-1
关键字
定义:C语言提供的,不能自己创建的,为关键字。比如:int return
注:不能把关键字作为变量名
常见的关键字:
auto:自动变量关键字
例题:
{
int a = 1;
变量a在进大括号的时候,变量创建,在出大括号的时候,变量自动销毁
}
循环判断关键词
break 循环程序中,跳出循环关键字
while while循环
for for循环
case 选择语句关键词
continue 循环关键词
if else
switch default do-while
goto 跳转语句
变量类型关键字
char,int,float,double,long,short
signed 有符号类型
unsigned 无符号类型
例题:
int 0000000000000000000000000 -2^31-2^31
int 0000000000000000000000000 0-2^32
注:打印类型 %u
const 常变量关键字
enum 枚举关键字
extern 外部变量、函数申明符号
register 寄存器变量关键字
static 静态变量关键字
(
当其修饰局部变量的时候,局部变量改变自身生命周期,变成了与全局变量生命周期一致;
当其修饰全局变量,使得全局变量只能在自己所在的源文件(,c)中使用
当其修饰函数,使得函数只能在自己所在的源文件(.c)中使用
改变外部连接属性,使得其无法在其他文件中使用
)
define 定义的常量
例题:
#define PI 3.14
int main()
{
printf ("%f",PI);
return 0;
}
define 定义的宏
例题:
#define PRINTF printf("Hello world!n")
#define ADD (x,y)((x)+(y)) 注:若为(x)+(y)则先乘后加
int main ()
{
PRINTF;
int a =3*ADD(2,3);
printf("%dn",a);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)