字符型char用于表示一个很小的整数 1个字节 8位
短整型short用于表示一个不怎么大的整数 2个字节 16位
整型int生活中一般的整数都可以表示 4个字节 32位
长整型long用于表示一个较大的整数 4个字节 32位
加长整型long long用于表示一个非常大的整数 8个字节 64位
为什么要定义不同的整型类型?
因为占用内存大小不一样,表示数据范围不一样。
计算机是通过晶体管的开关状态来记录数据的,通常8个一组,称为字节,而晶体管的开关状态又可以分别用1(开)和0(关)来表示,这种表示方法称为二进制,因此一个字节8个晶体管可以拥有2的8次方个不同状态,让每一种状态对应一个数值,这样一个字节可以表示256个不同的数值。
如果只想表达0到100只需要使用1个字节即可。
C语言并未规定数据类型的大小范围,具体实现交由编译器和平台来决定。
sizeof测量实体占用字节大小,例如sizeof(int)
每个晶体管的状态称之为位
如果不考虑负数,可表示的数据范围:
假设位数为n,数据范围为0到(2的n次方)-1
负数怎么表示呢?拿出一位作为符号位,符号位表示正数或者负数。
浮点类型float:
%d占位符用于整型
%f占位符用于浮点型
float类型至少能表示6位有效数字,并且取值范围是10的﹣37次方到10的37次方,比如365.12345
前6位是准确的,但是后面有误差。
浮点类型精度越高,范围越大,所占字节越大。
#include <stdio.h>
int main()
{
printf("sizeof float = %d/n", sizeof(float));
return 0;
}
变量:可以改变并且有可能改变
变量可以多次赋值,但不能多次初始化。
初始化:int a = 100;
赋值:
int a ;
a = 100;
常量:没有变化且不能变化.
符号常量:#define 符号常量名 值
字符变量:char
字符类型的占位符位%c.
字符和数值存在一一对应的映射关系:美国信息交换标准代码(ASCII)
#include <atdio.h>
int main()
{
char c1 = 'a';
char c2 = '\n';
char c3 = '1';
printf("c1 = %c c2 %c c3=%c",c1,c2,c3);
return 0;
}
单引号最好只包含一个字符。
\n为转行符。
#include <stdio.h>
int main()
{
char letter = 'A';
letter = letter + 32;
printf("letter= %c,letter");
return 0;
}
转义字符:\数值(8进制)
hello0world→字符0
hello\0world→数值0
\n=\12