一、操作符
(可以不使用括号)
1.逻辑反操作符:!
if(a)
if(!a)= else
2.正负数操作符:+ -
3.取地址操作符:&
4.sizeof:操作数的类型长度操作符
求数组元素个数:
sizeof(a)/sizeof(a[0]);
5.对一个数的二进制按位取反操作符:~
// int a = 0;
// printf("%d\n",~a);
二进制中,当第一位为0时,为正值
当第一位为1时,为负值
整数(负数):在内存中,以补码形式存在
(正数):原码补码反码一致
/*
原码:1000000001
反码:1111111111(与原码相比,符号位(第一位)不变,其他位改变)
补码:11111111111(在反码的基础上,末位+1)
*/
小结:
a.所有正数按位取反的值是其本身+1的负数
b.所有负数按位取反的值是其本身+1的绝对值
c.0按位取反是-1
eg
/*
int a = 2;
int b = -2;
printf("%d\n",~a);
printf("%d\n",~b);
输出结果为-3,1
*/
6.a++和++a
/*
int a = 1;
printf("%d\n",a++);
printf("%d\n",++a);
输出结果:1,3
解释:
a++//先输出1,但此时输出后+了,这时候是2
++a//在a++的2基础上,先+再输出
*/
7.强制类型转换
int a = (int)3.14
打印出来为3
即在()里加入需要转换的类型
8.关系操作符
>,<,<=,>=,!=,==
tips:一个等号是赋值,两个等号是等于
9.逻辑操作符
&&逻辑与
||逻辑或
10.条件操作符
int a = 1;
int b = 3;
int max = 0;
max = a > b ? a : b;
max = a > b ? a : b;相当于if与else的缩写
11.逗号表达式
int a = 1;
int b = 3;
int c = 0;
int d = (a = b - c,b = c + a);
依次进行运算,打印结果为最后一个表达式结果
12.下标引用操作符:[ ]
13.函数调用操作符:( )
二、关键字
1.定义:C语言提供的,不是自己创建的,比如:int , return
2.不能把关键字作为变量名
3.常见的关键字:
(1)auto:自动变量关键字
(2)break:循环程序中,跳出循环
(3)while
(4)for
(5)case:选择语句关键词
(6)循环关键词
continue
if
else
switch
default
do-while
(7)goto:跳转语句
(8)变量类型关键字
char,int,float , double , long , short,
signed:有符号类型//-10,+20
unsigned:无符号类型,打印方式:%u
const:常变量----将一个变量赋予常量
enum:枚举关键字
extern:外部变量、函数申明符号
int gol_a = 1 :全局变量
register:寄存器变量关键词
static:静态变量关键字
tips:static修饰全局变量/函数,使得全局变量/函数只能在自己所在的源文件(.c)中使用
define定义的常量:
#define PI 3.14
int main()
{
printf("%f",PI);
return 0;
}
define定义的宏
#define PRINT printf("hello world")
int main()
{
PRINT;
return 0;
}