数据类型
摘要:
数据类型一般分为浮点型和整型,本轮笔记主要记录他们的异同以及相互转换。
主要内容:
1、二进制
二进制为逢二进一的数制,是在计算机中常用的数制。难点:二进制运算规则、二进制转换十进制、十进制转二进制。
2、八进制
八进制为逢八进一的数制。在C语言中一般以数字0开头,例如:04、017等。
3、十六进制
十六进制为逢十六进一的数制。在C语言中一般以数字0x开头,例如:0x1A、0xFF等。
4、数制转换
函数的格式控制参数(常用于printf):
例子:
#include<stdio.h>
int main(void)
{
unsigned int x = 12;
unsigned int y = 012;
unsigned int z = 0x12;
printf("十进制%u转换为 八进制%o 十六进制%x\n", x, x, x);
printf("十进制%u转换为 八进制%o 十六进制%x\n", y, y, y);
printf("十进制%u转换为 八进制%o 十六进制%x\n", z, z, z);
return 0;
}
结果为:
5、整型
整型,指整型数据。分为七类:字符型、短整型、整型、长整型、无符号短整型、无符号整型和无符号长整型
各个不同整型的所占字节数及其取值范围:
注:
(1)对于有符号数与无符号数,有符号数以最高位来记录数字的符号,而无符号数则不用。
(2)在将过大的数据范围的变量(如int)赋值给过小的数据变量(如char)时,会造成数据的溢出。
6、字符型
字符型是整型数据的一种,存储的是单个字符,占一个字节、八位。如‘A’、‘5’等。字符型的输出可用“%c”和“%u”,前者用于输出字符本身,后者用于输出其ASCII码。
字符型中的转义符应用:
7、浮点型
浮点型是除了整型外的另一种数据类型,用于表示有小数部分的数据。浮点型包含三种数据类型:单精度float、双精度double、长双精度long double。
浮点型的位数、有效数字和取值范围:
注:
(1)当对两个差别非常大的数值做求和运算时,小数据不会对结果造成影响。
(2)当表达式中存在double类型数值时,或无明确类型转换的情况下,表达式的数据类型为double。
or
浮点数据不但能用小数表示也能用指数形式:
注:
*两个差距小于0.001的数值在float浮点型中属于相等。
8、类型转换
(1)隐式转换
例如:
#include<stdio.h>
int main(void)
{
int i;
i = 1 + 2.0 * 3 + 1.234 + 'c' - 'A';
printf("%d", i);
return 0;
}
输出结果为42。
(2)显式转换
#include<stdio.h>
int main(void)
{
float f1, f2;
f1 = (int)1.2 + 3.4;
f2 = (int)(1.2 + 3.4);
printf("f1=%f\tf2=%f", f1, f2);
return 0;
}
结果为:
f1=4.400000等同于1+3.4。
f2=4.000000等同于(int)4.6。