int
- int 占用字节取决于编译器(CPU)在不同编译器里 int 大小不一输入scanf("%d",&变量名);输出printf("%d",变量名);
short
- short占用2个字节输入scanf("%hd",&变量名);输出printf("%hd",变量名);
long与long long
- long占用4个字节,而long long占8个字节如果一个字面量常数想要表达自己是long需要后缀 l或L 来表示 例如 255L输入 scanf("%d",&变量名);输出 printf("%d",变量名);
double
- double占用8个字节输入 scanf("%lf",&变量名);输出 printf("%.3f",变量名);%.3f是四舍五入的保留三位小数double: 64位(15位有效数字)
float
- float占用4个字节如果一个字面量常数想要表达自己是float需要后缀 f或F 来表示 例如 23.0F输入 scanf("%lf",&变量名);输出 printf("%.2f",变量名);%.2f是四舍五入的保留两位小数float: 32位(7位有效数字)
- 所谓浮点数就是指不是整数的数,含小数点的是浮点数 如 1.0 就是一个浮点数浮点数的运算精度不一定准确带小数点的字面量是double而非float float需要用f或F后缀来表明身份printf输出inf表示超过范围的浮点数:正负无穷大printf输出nan表示不存在的浮点数
char
- char只占一个字节char既可以是个整数也可以是个字符; char 1表示整数1,而char '1'表示字符'1'用单引号'表示一个字符的字面量'a' , '1' , ''也是一个字符输入 scanf("%c",&变量名);输出 printf("%c",变量名);
字符运算
- 一个字符加一个数字得到ASCll码表中那个数之后的字符 如'A'+1='B'两个字符相减可以得到它们在表中的距离 如'D'-'B'=2'1'的ASCll码是49 'a'的ASCll码是97 'A'的ASCll码是65
unsigned
- 如果一个字面量常数想要表达自己是unsigned 可以在后面加u或U 例255Uunsigned用于做纯二进制运算(主要是为了位移)
bool
- bool 需要头文件#include
自动类型转换
- 当运算符的两边出现不一样的类型时,会自动转换为较大的类型 如 2/3.0 的结果会转换成浮点数double类型而不是int类型对于printf,任何小于int的类型都会转换成int;float会转换成double , 但scanf不会
强制类型转换
- (类型)值 :要把一个量强制转换成另一个类型 如(int)10.2强制类型转换通常是大的转换成小的类型
科学计数法5.236E+6 = 5.236*10^6 = 5236000 E或e后面的数就是10的次方(E后+或-为10的次方的正负)printf中%e或%E为输出科学计数法的数 C语言中如何查变量类型的大小?
sizeof( );查看内存大小 1 byte (字节)=8 bit (比特)sizeof( );输出的结果是占了几个字节
例如
结尾



