得程序设设 感减 20023
C语言程序设计 2002 年 第二章 基本数据类型和运算
21基本数据类型 数据是程序处理的对象,包括常量、变量、有返回值 的函数。 不同性质的数据需要不同大小的存储空间,导致数据 类型的划分,对某一编译程序而言,给各种数据类型分配 固定大小存储空间,使其表示的数据值在一定的范围内, 称为数据类型的值域 例:对短整型数,分配2个字节,值域为-32768~32767 数据类型是一组值和一组运算的集合
2.1 基本数据类型 ➢ 数据是程序处理的对象,包括常量、变量、有返回值 的函数。 ➢ 不同性质的数据需要不同大小的存储空间,导致数据 类型的划分,对某一编译程序而言,给各种数据类型分配 固定大小存储空间,使其表示的数据值在一定的范围内, 称为数据类型的值域。 例: 对短整型数,分配2个字节,值域为-32768~32767 ➢ 数据类型是一组值和一组运算的集合
21.1C的数据类型 类别 数据类型 char (字符型) 类型区分符 t (整型 整型 short (短整型) long (长整型) 基本类型 signed(有符号整型) unsigned(无符号整型) enum (枚举) float (单精度浮点数) 浮点型(dute (双精度浮点数) ong double(长双精度浮点数) 指针 导出类型 数组 结构( struct结构名) 联合( union联合名)
2.1. 1 C的数据类型 类别 数据类型 基本类型 整型 char (字符型) int (整型) short (短整型) long (长整型) signed (有符号整型) unsigned (无符号整型) enum (枚举) 浮点型 float (单精度浮点数) double (双精度浮点数) long double (长双精度浮点数) 导出类型 指针 数组 结构(struct结构名) 联合(union联合名) 类型区分符
其他类型区分符: void表示没有值的类型(亦称为空类型) 用途:(1)表示函数没有返回值; VOl id f(int x).... (2)说明函数参数的类型,表示函数没有参数; VOl (3)说明指针所指对象的类型。 void N const将一个指对象说明为常量
其他类型区分符: void 表示没有值的类型(亦称为空类型) 用途: (1)表示函数没有返回值; void f(int x) {….} (2)说明函数参数的类型,表示函数没有参数; int g(void) {……..} (3)说明指针所指对象的类型。 void *p; const 将一个指对象说明为常量
21.2数据类型的名字及长度 完整的类型名简写的类型名长度(字节)x 值的范围 char char 有符号:-128~127 无符号:0~255 signed char Signed char 128~127 unsigned char unsigned char 0~255 t t 2或4(与具2字节:-32768~32767 signed int 体机器有关)4字节:约-21亿~21亿 unsigned unsigned2或4(与具2字节:0~65535 体机器有关)4字节:约0~42亿 d unsigned int short int short int short 32768~32767 signed short signed short int
2.1. 2 数据类型的名字及长度 完整的类型名 简写的类型名 长度(字节) 值的范围 char char 1 有符号:-128~127 无符号:0 ~255 signed char signed char 1 -128~127 unsigned char unsigned char 1 0 ~255 int int 2或4(与具 体机器有关) 2字节: -32768 ~32767 signed int 4字节: 约-21亿~21亿 unsigned unsigned 2或4(与具 体机器有关) 2字节: 0 ~65535 4字节: 约0~ 42亿 unsigned int short int short 2 -32768 ~32767 short int signed short signed short int
2.12数据类型的名字及长度(续 完整的类型名简写的类型名长度(字节) 值的范围 long long int ong signed long 约-21亿~21亿 signed long int l unsigned short unsigned short 0~65535 l unsigned short int unsigned long unsigned long 约0~42亿 unsigned long int 444 float 约34e-38~34e+38 (7位有效数字) double double 约1.7e-308~1.7e+308 (15位有效数字) long double long double 8 由具体实现定义
2.1. 2 数据类型的名字及长度(续) 完整的类型名 简写的类型名 长度(字节) 值的范围 long long 4 约-21亿~21亿 long int signed long signed long int unsigned short unsigned short 2 0~65535 unsigned short int unsigned long unsigned long 4 4 约0~ 42亿 unsigned long int float float 4 约|3.4e -38| ~ |3.4e +38| (7位有效数字) double double 8 约|1.7e -308| ~ |1.7e +308| (15位有效数字) long double long double ≥8 由具体实现定义
说明: (1)8种基本类型关键字名 char int short long signed unsigned float double 可直接用于说明数据对象, 今 short long signed unsigned中的1个或2个可以用于修 char, int, double 类型关键字组合规则 signed与 unsigned不能同时修饰char; short;long;int: 例 SIgne ed unsigned int a;产生二义型 short和long不能同时修饰int; foat不能使用任何修饰词; double可用long修饰
说明: (1)8种基本类型关键字名 char int short long signed unsigned float double 可直接用于说明数据对象, short long signed unsigned 中的1个或2个可以用于修 饰 char, int , double。 类型关键字组合规则: ▪ signed 与unsigned 不能同时修饰char;short; long;int: ▪ 例: signed unsigned int a; 产生二义型 ▪ short 和long不能同时修饰 int; ▪ float不能使用任何修饰词; ▪ double可用 long修饰
(2)int的长度与具体机器的字长相同, short与long不变 shot的长度≤int的长度≤long的长度
(2)int的长度与具体机器的字长相同,short与long不变: short的长度≤int的长度≤ long的长度
22常量和变量 文字常量(简称为常量或常数) 常量形式 101.23 china 符号常量 #define pi 3. 14 22常量的表示 整数常量 浮点常量 C常量字符常量 字符串常量 枚举常量
2.2 常量和变量 文字常量(简称为常量或常数) 常量形式 10 1.23 ‘a’ “china” 符号常量 #define PI 3.14 2.2 常量的表示 整数常量 浮点常量 C 常量 字符常量 字符串常量 枚举常量
1.整数 十进制整数:逢10进1,数字0~9组成的符号串 前面可有+和 123 +10 80 形式八进制整数:逢8进1,数字0~7组成的符号串,第 数字必须为0,八进制一般用于表示无符号整数 正确形式:01370777+010 024 错误形式:087 十六进制整数:逢16进1,数字0~9和字母a~fA F)组成的符号串,第一数字必须为0x或0X,十六进制 般用于表示无符号整数 正确形式:0x120xab0xb0xc0xd0xe0xf 错误形式:0abc0 bgh a123
1. 整数 十进制整数:逢10进1,数字0 ~ 9组成的符号串, 前面可有+和- 123 +10 -80 形式 八进制整数:逢8进1,数字0 ~ 7组成的符号串,第 一数字必须 为0,八进制一般用于表示无符号整数 正确形式: 0137 0777 +010 -024 错误形式: 087 十六进制整数: 逢16进1,数字0 ~ 9和字母a ~ f( A ~ F)组成的符号串,第一数字必须为0x或0X,十六进制 一般用于表示无符号整数 正确形式: 0x12 0xab 0xb 0xc 0xd 0xe 0xf 错误形式: 0abc 0xbgh a123