1.前言
计算机可以在程序的指导下完成各种各样的任务,但要完成这些任务,程序需要使用数据,即承载 信息的数字或字符。有些数据在程序使用之前已经预先设定好了,在整个程序的运行过程中没有变化,这些称为常量。其他数据类型在程序运行期间可能会改变或被赋值,这些称为变量。
不仅变量和常量不同,不同的数据类型之间也有差异。一些数据类型表示数字,一些数据类型表示字母(或者说字符)。C通过识别一些基本的数据类型来区分和使用这些不同的数据类型。
2.基本数据类型关键字
在C语言中存在着许多的数据类型,按照计算机的存储方式可以将数据分为两大基本类型:整数类型和浮点类型。不过我们习惯上更多的是将之分为三大基本类型:整数类型、浮点类型以及字符类型。
以下列出了部分常用的数据类型:
int 整形
char 字符型
short 短整型
long 长整型
float 单精度浮点型
double 双精度浮点型
3.基本数据类型
3.1整形
int类型是有符号整型。这里提到的符号指的是数学中的正负号,也就意味着int类型可以是正整数、负整数或零,但是int类型的值必须是整数。存储一个int类型的数值所需的空间大小为4个字节,可以表示的数值范围为-2147483648~2147483647(2^31~2^31-1)
short int类型(或者简写为short)占用的存储空间比int类型少,只需要2个字节,可以表示的数值范围为-32768~32768,常用于较小数值的场合以节省空间。
long int或long占用的存储空间可能比int多,所需的空间大小为4个字节,可以表示的数值范围为-2147483648~2147483647,适用于较大数值的场合。
unsigned int或unsigned只用于非负值的场合。上述的short int、long int和int类似,都是有符号类型,但是unsigned int或unsigned属于无符号类型,其表示的范围也有所不同。例如,unsigned int允许的取值范围是0~4294967298,而不是-2147483648~2147483647。在有符号类型中,会用一个二进制位表示正负号,但是在无符号类型中,用于表示正负号的位现在用于表示另一个二进制位,所以无符号整型可以表示更大的数。
除了unsigned int是无符号类型外,还有unsigned long int、unsigned long、 unsigned short。
3.2 浮点型
C语言中的浮点类型有float、double和long double 类型。
float在内存中占4个字节,取值范围是-3.4*10^-38~3.4*10^38,并且必须至少能表示6位有效数字.
double在内存中占8个字节,取值范围是-1.7*10^-308~1.7*10^308,并且必须值至少有13 位有效数字。
C语言的第3种浮点类型是long double,以满足比double类型更高的精度要求。不过,C只保证long double类型至少与double类型的精度相同,其取值范围也和double一致。
3.3字符型
char类型用于储存字符(如,字母或标点符号),但是从某种层面上来看, char也是整数类型。因为char类型实际上储存的是标准ASCII码中的编码,而编码是整数不是字符。标准ASCII码的范围是0~127,只需7位二进制数即可表示,所以char所需空间是1个字节。
但是我们会发现有一些 ASCII字符打印不出来。例如,一些代表行为的字符(如,退格、换行、)。C语言提供了3种方法表示这些字符。
1.使用ASCII码
例如:\n
#include<stdio.h>
int main()
{
char ch=10;
printf("%c",ch);
return 0;
}
2.使用特殊的符号序列表示一些特殊的字符。
4.结语
本文简单的阐述了整形、字符型、浮点型三种基本数据类型,事实上C语言还包含基本类型中的枚举类型,构造类型中的数组类型、结构体类型、共用体类型,以及指针类型。