C、C++、java强调类型;
JavaScript、python、php不看重类型,甚至不需要事先定义。
类型
○ 整数
○ 浮点数
○ 逻辑
○ 指针
○ 自定义类型
sizeof 查看所占字节
给出某个类型或变量在内存中所占据的字节数
# include <stdio.h>
int main(void)
{
int a;
a=6;
printf("sizeof(a)=%ld\n",sizeof(a));
return 0;
}
整数所占字节
char :1字节(8比特)
short:2字节
int:取决于编译器(CPU),通常为“1个字”
long:取决于编译器(CPU),通常为“1个字”
long long:8字节
整数的输入输出表示
以0开头就是8进制;
以0x开头就是16进制。
浮点类型
PS:inf 为无穷大,nan为不存在
输出精度
在%和f之间加上.n可以指定输出小数点后几位,这样的输出是四舍五入的。
# include <stdio.h>
int main(void)
{
printf("%.3f\n",-0.0049);//小数点后三位
printf("%.30f\n",-0.0049);//小数点后三十位
printf("%.3f\n",-0.0049);
}
PS:● f1== f2 可能失败
● 用fabs(f1-f2)<1e-12判断
字符的类型
逃逸字符
类型转换
强制类型转换
bool
与或非优先级
条件运算与逗号运算
进制,字节,字,位之间的关系
进制:
一个二进制数 = 1bit
一个八进制数07 = 3bit(二进制表示为111)
一个十六进制数0xf = 4bit(二进制表示为1111)
两个十六进制数0xff= 8bit = 1个字节
一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。
正确的说法:
①:1字节(byte) = 8位(bit)
②:在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)
在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)
在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)