所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类
基本数据类型
最主要的特点是,其值不可以再分解为其它类型;在中,只有4种基本数据类型:
- int 整型
- char 字符型
- float 单精度型
- double 双精度型
类型限定符
- short,long 用于限定整数类型,如:short int n;long int m;在此类变量声明中,int可以省略:short n ;long m;引入这两个限定符的目的是为了提供不同长度的整数。在不同的软硬件环境下,int,short,long的长度可能不一样,但可以确定的是16(位)<=short<=int<=long, long>=32(位)
- signed,unsigned用于限定char或int。分别表示有符号char/int和无符号char/int。
- long还可以用于限定double(C99标准),其大小也和实现有关
- C99标准中引进了long long int
常量和变量
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先说明后使用。
变量的长度(VC6环境下)
- char 8 (bit)
- short 16
- int 32
- long 32
- float 32
- double 64
变量的范围(VC6环境下)
- signed char -128~127
- unsigned char 0~255
- signed short -32768~32767
- unsigned short 0~0xffff
- signed int (-2147483647 - 1)~2147483647
- unsigned int 0~0xffffffff
- signed long (-2147483647L - 1)~2147483647
- unsigned long 0~0xffffffffUL
- float 1.175494351e-38F /* min positive value */
3.402823466e+38F /* max value */
- double 3.3621031431120935063e-4932L /* min positive value */
1.189731495357231765e+4932L /* max value */
整型常量 整型常量就是整常数。在C语言中,常用的整常数有八进制、十六进制和十进制三种
- 前缀:用来区分各种进制数的。八进制整型常数的前缀为0;十六进制整型常数的前缀为0X或0x;十进制常数没有前缀
- 后缀:用来限定数据类型。长整型数用后缀“L”或“l”来表示的;整型常数的无符号数的后缀为“U”或“u”。
- 前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165
实型常量 实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制数形式指数形式
- 十进制数形式由数码0~ 9和小数点组成。例如:0.0,.11,123.,-36.8230等均为合法的实数。
- 指数形式由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n (a为十进制数,n为十进制整数)其值为 a*10,n 如: 2.1E5 , 3.7E-2 , -2.8E-2
- 后缀为“f”或“F”即表示该数为浮点数。如356f和356.是等价的。
字符常量 字符常量是用单引号括起来的一个字符
- 字符常量只能用单引号括起来,不能用双引号或其它括号
- 字符常量只能是单个字符,不能是字符串
- 字符可以是字符集中任意字符
转义字符 转义字符也是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。常用的转义字符及其含义
\n 回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f 走纸换页
\\ 反斜线符"\"
\' 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。
字符串常量 由一对双引号括起的字符序列,字符串常量和字符常量的区别:
- 字符常量由单引号括起来,字符串常量由双引号括起来
- 字符常量只能是单个字符,字符串常量则可以含一个或多个字符
- 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量
- 字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"\0"(ASCII码为0)。这是字符串结束的标志
阅读(3076) | 评论(0) | 转发(0) |