C语言程序设计(数据与数据类型)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

double
双精度浮点型
long double 长双精度浮点型
另外,在基本数据类型基础上附加一些限定词,得到扩充的数据类型。short,long
可以应用到整型,unsigned 可以应用到整型和字符型:
short int(或 short) 短整型
long int(或 long) 长整型
unsigned int
16 -32768~32767
Short
16 -32768~32767
பைடு நூலகம்Long
32 -21 亿~21 亿
Unsigned int Unsigned short
16 0~65535 16 0~65535
Unsigned long
32 0~42 亿
2.浮点数据类型 浮点型数据也称为实数,可以是数字 0.0 和包含小数点的正数或负数。 C 语言支持三种浮点数据类型:浮点型也称单精度型(float)、双精度型 (double) 和长双精度型(long double)。这些数据类型之间的差别是编译器为每种类型分配的存储 数量。一般情况下,为双精度浮点数采用的存储数量是浮点数采用的数量的两倍,这使双 精度浮点数的精度大约是浮点数的两倍。使用 sizeof(类型) 可以显示你的编译器为每种 数据类型提供的存储数量(字节数)。 当前的 C 编译器所提供的 float 型在内存中占用 4 个字节(32 位),提供 7 位有效数字, 可能的取值范围在-10-38~1038;double 型数据占 8 个字节,提供 15~16 位有效数据,可能 的取值约-10-308~10308。浮点型数据的存储符合 IEEE 浮点数格式,如 float 型数据,1 位用 于符号,8 位用于指数,23 位用于基数。 3.字符型 字符型数据用于存储单个的字符,存储时占用 8 位,它实际存储的是字符对应的 ASCII 码(Americal Standard Code for Information Interchange 美国标准信息交换码)。如 一个 char 型数据’A’,其 ASCII 码为 65,故实际存储的内容是 65。char 型数据取值范围 为-128~127,unsigued char 型数据取值范围为 0~255。字符有符号或无符号是依赖于机
器的,但是可打印的字符总是正的。 由于在内存中字符型数据是以 ASCII 码形式存放,其形式与整型类似,因而在 C 语言
中,字符型数据与整型数据可以通用,字符型数据所有的性质与一字节整型量相同。
2.1.3 常 量
在程序运行过程中其值不能被改变的量称为常量,本节介绍整型常量、实型常量、字符 常量和字符串常量。
整型常量可以使用三种形式表示:十进制数、八进制数、十六进制数。每种进制形式 的数据都有特殊标记。
(1) 十进制数。如 128、-60、0。 (2) 八进制数。以 0 开始的数据是八进制数。如 0123 代表八进制数 123,即十进制数 83。 (3) 十六进制数。以 0x 开始的数是十六进制数。如-0x128 代表十六进制数-128,即十 进制数-296。
2.1 数据与数据类型
2.1.1 数据和数据类型
数据是程序加工、处理的对象,也是加工、处理的结果,所以数据是程序设计中所要 涉及和描述的主要内容。程序所能处理的基本数据对象被划分成一些组,或说是一些集合。 属于同一集合的各数据对象都具有同样的性质,程序设计语言中具有这样性质的数据集合称 为数据类型。
无符号整型
unsigned short 无符号短整型
unsigned long
无符号长整型
unsigned char
无符号字符型
1.整型 数据的取值范围服从数学式子 2n,其中 n 是这种类型所占内存位数,例如,如果 int 型是 16 位,它的数据取值范围在-2n ~2n -1,即-32768~32767 之间。无符号的数总是正 数或零,而 unsigned int 型数据取值范围在 0~2n +1-1,即 0~65535 之间。
2.实型常量
实型常量又称实数或浮点数。实数有两种表示形式: (1) 十进制形式。它由三部分组成:整数部分、小数点、小数部分,当整数或小数部 分为 0 时可以省略,但小数点不能省略。它适合于表示不太大或不太小的数。如 128.0、.128、 128.5、128.、0.0 等都是十进制数形式。 (2) 指数形式。由三部分组成:尾数、字符 e(或 E)、指数。它适用于表示较大或较小 的数。e 之前必须有数字,且 e 后面的指数必须为整数。如 128e2 或 128E2 都代表 128×102。 如果实型常量后缀是“f”或“F”,则被当成 float 型,如果实型常量后缀是“l”或 “L”,则被当成 long double 型,否则,C 语言编译系统总是将实型常量处理成双精度型 的。
所有数据都属于某种类型。一个数据的类型决定了这个数据在内存的存储形式、取值 范围和能够对它进行的操作。
C/C++ 中的数据类型大致可以分为两大类:第一类是基本数据类型,基本数据类型是 系统预定义的类型,包括整型、浮点型(实型)和字符型;第二类是非基本数据类型,即自 定义数据类型,包括数组、结构体、共用体、枚举类型和指针类型。本章介绍几种基本数据 类型,其它数据类型将在以后各章陆续介绍。下面给出这些数据类型(图 2-1)。
数据类型
基本类型
整型 实型 字符型
单精度 双精度
数组类型
自定义类型
结构体类型 共用体类型 枚举型 指针类型
图 2-1 数据类型
2.1.2 C 语言的基本数据类型
基本数据类型是基元,所有的数据类型都建立在基本类型之上。C/C++语言的基本数据
类型有以下几个:
int
整型
char
字符型
float
单精度浮点型
ANSI C 标准没有规定以上各类数据所占内存位数,只要求 short 型数据不长于 int 型,
而 long 型不短于 int 型,具体如何实现,由各编译系统决定。表 2-1 列出了 ANSI C 标准定
义的整型数据的最小取值范围。
表 2-1 数据类型最小取值范围
数据类型
所占位数 最小取值范围
Int
1.整型常量
整型常量即整数。一个整型常量如 123 即为 int 型。长整型常量在后面加字母“l”或 “L”,如 123456789L,如果一个整型数超过了 int 类型的范围就会被当成一个 long int 。 无符号常量在后面加上“u”或“U”,后缀为“ul”或“UL”表明是无符号长整型 unsigned long。
相关文档
最新文档