数据类型
分类:
bool(看是不是0) 头文件+bool / _Bool
-Bool 是一种数据类型,不需要头文件也可以, but 想用true false还是要有这个头文件
其头文件中声明的 #define bool -Bool #define true 1 #define false 0
(预处理 -E bool.c -o bool.i)
char char //signed char// unsigned char 1字节
-128~127 // 0~255
(255---补码11111111)
-128的补码为10000000
short short (signed short)// unsigned short 2字节
-32768~32767 // 0~65535
int int(signed int)// unsigned int 4字节
-2147483648~2147483647 // 0~4294967295
long long(signed long)// unsigned long 4字节
-2147483648~2147483647 // 0~4294967295
浮点类型
float 4字节
double 8字节
sizeof ---求长度(字节)
#include<limits.h>
printf("xxx:%d-%d\n, xxx_MIN, xxx_MAX");
#include<stdio.h>
#include<limits.h>
int main(int argc, char*argv[])
{
printf("%d %d %d %d\n", sizeof(_Bool), sizeof(char),sizeof(short),sizeof(int) );
printf("char:%d-%d\n", SCHAR_MIN, SCHAR_MAX);
printf("shor:%d-%d\n", SHRT_MIN, SHRT_MAX);
printf("char:%d-%d\n", INT_MIN, INT_MAX);
return 0;
}
常量
09877 0指八进制
0x6544 0x指十六进制
ASCⅡ值:
A---65 a---97 大小写字母相差32 加空格space可以得到A→a space---32
'0'---48 字符0和数字0相差48,
双引号“”里隐含一个\0 “9”---‘9’,‘\0’
宏 是原样展开(不要自己臆想加括号)!!!
例:一个水分子的质量约为3.156X10^-23克,一夸脱水大约是950克,编写一个编程,提示用户输入水的夸脱数,并显示水分子的数量。
程序如下:
变量
四种存储类型:auto register static extern
auto:可省略,某一范围内使用,
register:寄存器里,不可以用&
static:静态,默认是0;程序没结束就一直存在
extern:引用外部文件的变量
static修饰全部变量,其他文件无法使用,加extern也没用
运算符
float double 不能取余!!!
&&有0后面语句可能不执行 ||有1后面语句可能不执行
unsigned char x=0x17, y;
printf("%#x\n", y)(输出0x格式)
x++先判断再运算i, ++x先运算再判断;
^是异或
sizeof加数据类型或变量名都行