C语言的数据类型
2010-04-16 18:24阅读:
C语言提供的数据结构,是以数据类型形式出现的。
一、数据类型分类
1.基本类型
整型 、
实型(又称浮点型)、
字符型 、 枚举型、 空类型
2. 构造类型
数组类型 、结构类型
、共用类型
3. 指针类型
C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。
二、基本数据类型
1.基本数据类型:
整型、实型(又称浮点型)、双精度实型、字符型、无值型(空类型)。
2. 基本数据类型的标识符:
int、 float 、double、
char、 void
3. 类型说明符
除无值型以外的4种基本数据类型可以带有说明前缀。
类型说明符有以下4种:
(1) signed
(2)unsigned
(3) long
(4)short
三、常量和变量
1.常量的概念
在程序运行过程中,其值不能被改变的量称为常量。
常量的类型,可通过书写形式来判别。
常量的分类:
表达形式:
(1)整型常量
6、432、76543、546783424
(2)实型常量
2.23、546.2487615247 、
3.057439E+5
(3)字符常量 'a ' 、' c '
、' 6 ' 、' M '
(4)符号常量
WHI
#define WHI
'I am a student. '
WHI是符号常量
2.变量的概念
在程序运行过程中,其值可以被改变的量称为变量。变量的三个要素:
(1)变量名。每个变量都必须有一个名称。
(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。
(3)变量的类型
例如:
a
(2个字节)
变量的类型 int
变量名字:a
变量的值:23
在内存中存储单元占16位
3.变量的定义与初始化
(1)在C语言中,要求对所有用到的变量,必须先定义、后使用。系统才可知道分配多大的存储空间。
变量定义的一般格式:
[存储类型] 数据类型
变量名[, 变量名2 …];
例如: int a1,
a2, a3;
(2)变量初始化:在定义变量的同时进行赋初值的操作。变量初始化的一般格式:
[存储类型] 数据类型 变量名[=初值][, 变量名2[=初值2]
…];
例如: float a1=2.5,
a2=5.23, a3=45.43;
4.标识符命名规则
C语言中,用标识符来区分不同文件、函数、变量。
(1)标识符有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。
(2)标识符有效长度:TC
V2.0标识符的有效长度为1~32个字符。随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。
例如student11和student12的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。
(3)C语言的关键字不能用作变量名。
4)标识符命名通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。通过变量名就知道变量值的含义,做到“见名知意”。
例如:
name ⇒ xm ⇒ 姓名
sex ⇒ xb
⇒ 性别
age ⇒ nl
⇒ 年龄
salary ⇒ gz
⇒ 工资
注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。变量名total与变量名TOTAL、ToTaL、totAl等不是同一个变量
习惯上,变量名和函数名中的英文字母用小写,以增加可读性。
四、整 型 数 据
1.整型变量占用的内存字节数
在16位操作系统中占用:
int 型变量
占 2个字节
值域占16位
short 型变量
占 2字节
值域占16位
long 型变量
占 4字节
值域占32位
2.不同类型的整型变量值域
占用内存位数为 n 的整型变量其值域:
有符号为:-2n -1 ~ ( 2n –1 -1)
无符号为: 0 ~(2n -1)
五、实型数据
(1)单精度型变量
float型变量
占4 字节( 32位)
提供
7 位有效数字
值域:
+ (3.4e-38~3.4e+38)
(2)双精度型变量
double型变量 占
8 个字节( 64位)
提供 15~16位有效数字
值域:+ (
1.7e-308~1.7e+308)
六、字符型数据
字符变量类型,占用1字节内存单元。
(1) 变量值的存储
将一个字符常量存储到一个字符变量中,实际上是将该字符的 ASCII
码值(无符号整数)存储到内存单元中。
(2) 变量值的特性
字符数据在内存中存储的是字符的 ASCII
码(一个无符号整数),其形式与整数的存储形式一样。
七、字符串常量
(1)字符串常量的概念和字符串长度
字符串常量:是用一对双引号括起来的若干字符序列。
字符串长度:字符串中字符的个数称为。
空串: 长度为0的字符串(即一个字符都没有的字符串),表示为“ ”
(一对紧连的双引号)。
例如字符串常量:
“How do you do.” 长度为14(空格也是一个字符)
“Good
morning.” 长度为13
如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例
① C:\msdos\v6.22 →
'C:\ \msdos\ \v6.22'
② I
say:'Goodbye!' → 'I say:\'Goodbye
八.字符常量 ' A '与字符串常量 ' A '的区别:
(1)定界符不同:
字符常量使用单引号'A' ,
而字符串常量使用双引号 ' ' ;
(2)长度不同:
字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;
(3)存储要求不同:
字符常量存储的是字符的ASCII码值,
而字符串常量,除了要存储有效的字符外,还要存储一个结束标志 ' \0 ' 。