一、数据类型
bool型:1字节
(true or false):非0即为1。
注意:bool类型不是基本数据类型,若要使用需要引入头文件:#include <stdbool.h>
或者直接使用 _Bool ;但是若要使用 true or false 也还是需要增加该头文件。
char型:1字节
signed char(-128~127)
unsigned char (0~255)
short型:1字节
signed short (-23768~32767)
unsigned short (0~65535)
int 型:4字节
signed int 很大
unsigned int 很大 = 2^32-1
二、常量
大写字母转换小写字母(相差32): 'A' + ' ' = 'a'
字符转数字(相差48):‘5 - ‘0’ = 5
字符串常量:(以'\0'结尾)
也就意味着:char aa[] ={"abc"},其实是:‘a’,'b','c','\0' 四个字节
标识常量:宏___ #define PI 3.14
注意:宏,在编译时候是直接 替换!!在做运算时候要注意括号。
三、变量
变量由字母、数字、下划线 组成;不能以数字开头;不能与C语言关键字重名。
变量占据的存储空间由数据类型决定;
变量在内存中的首地址,为变量的地址。
<存储类型> <数据类型> <变量名> <数据>
默认是auto
register 寄存器型:直接将变量放入CPU寄存器中(32位机≤4字节,64位机≤8字节),加快运行速度,但是地址无法访问。(由于寄存器有限,为减少寄存器开销,慎用)
static 静态存储类型:默认是0
例:static int a;
不赋值时候,a=0;且程序不结束,该变量始终存在(多用于函数中,修饰局部变量或全局变量,其他文件无法使用该变量)
extern 修饰全局变量,在调用全局变量(该变量在其他文件中)时候使用。
四、运算符
算数运算符:+ - * / %
注意:float 和 double 不能取余%
关系运算符:> < == != >= <=
逻辑运算符:! && ||
注意:A && B 只有当A为1时候,才会判断B;当A是0时,B不会执行
同理:A || B 只有当A为0时候,才会去执行B;当A为1时,B不会执行
位运算符:~ & | ^ >> <<
赋值运算符: += -= *= /= %= <<= >>= &= |= ~= ^=
五、表达式:
问号冒号表达式: A?B:C; A为真,执行B;否则执行C
例子:x++ > 5?A:B;
首先,先判断x是否>5,再运行x++;
逗号表达式:X=a,b,c,d; X=d