C语言教程:数据类型 学习目的:在编制算法时,必须 注意数据结构。通过讲解数据类 型、运算符的概念,使学生熟悉 并能正确应用
C语言教程:数据类型 学习目的:在编制算法时,必须 注意数据结构。通过讲解数据类 型、运算符的概念,使学生熟悉 并能正确应用
数据类型内容介绍 1C语言的数据类型 2常量和变量 3整型数据 4实型数据 5字符型数据
数据类型内容介绍 1 C语言的数据类型 2 常量和变量 3 整型数据 4 实型数据 5 字符型数据
数据与数据类型的概念 兴计算机中的数据的概念 用来描述现实世界中各种对象和概念的属性、性质的数字化形式 兴现实世界中的数据种类 数字、文字、图形、声音、学生的档案记录、货物的运输情况等等 鱉表示不同种类数据的计算机内结构形式成为计算机的数据类型 C语言中的数据类型的概念 就是C语言在计算机中表示现实数据数据形式,不同种类的数据,在计算机中的 表示形式(即存储结构)也不相同。例如 字节1 字符型数据’A0100000 (即16进制的41) 字节2 字节1 整型数据327 9 (即16进制的14700010100000 lol o C程序中两种基本数据形式:常量和变量
数据与数据类型的概念 计算机中的数据的概念 用来描述现实世界中各种对象和概念的属性、性质的数字化形式 现实世界中的数据种类 数字、文字、图形、声音、学生的档案记录、货物的运输情况等等 表示不同种类数据的计算机内结构形式成为计算机的数据类型 C语言中的数据类型的概念 就是C语言在计算机中表示现实数据数据形式,不同种类的数据,在计算机中的 表示形式(即存储结构)也不相同。例如 字符型数据’A’ (即16进制的41) 整型数据327 (即16进制的147) C程序中两种基本数据形式:常量和变量 0 1 0 0 0 0 0 1 字节1 7 6 5 4 3 2 1 0 0 0 0 1 0 1 0 0 字节2 15 14 13 12 11 10 9 8 0 0 0 0 0 0 0 0 字节1 7 6 5 4 3 2 1 0
数据类型及其存储结构 基|整|nt 16 bit0000 00 00001-3278327121(221 型 本数据类型 Short l6 bit[ 0000 00 I|o1|01]13278326721-(21) lon g 32bitDo 00 0000 D0 o 0o D0D0 Do Do 11 01 unsigned int l6bit[oo||o0011010-65535即0-(211) unsigned short 16bit00000000000011010-65535 Ep0-(216-1) unsigned long 32bit[0 00[00 00[00 o DC 实foat 32bit6-7位有效数字范围1037-1038 型 double 64bt15-16位有效数字范围101307~10308 字|char 8bit 字节 存放字符的ASCⅡ码值 符 0oo00000 说明:上面的 short也可以写成 short int,ng也可以写成 long int;前面没有 unsigned的,表示为有符号型整型,前面可以加 signed,也可以省略
数据类型及其存储结构 基 本 数 据 类 型 整 型 int 16bit short 16bit long 32bit unsigned int 16bit unsigned short 16bit unsigned long 32bit 实 型 float 32bit 6~7 位有效数字 范围10-37~1038 double 64bit 15~16位有效数字 范围10-307~10308 字 符 char 8bit 存放字符的ASCII码值 -32768~32767 即-2 15~(2 15 -1) -32768~32767 即-2 15~(2 15 -1) 0~65535 即0~(2 16 -1) 0~65535 即0~(2 16 -1) 说明:上面的short也可以写成short int,long也可以写成long int;前面没有 unsigned的,表示为有符号型整型,前面可以加signed,也可以省略
C语言中的数据类型及其存储结构 其他的数据类型(以后详细的介绍) ◆基本数据类型 枚举 ◆测试数据类型所占字节数的 sizeof运算符 printi(%dn” sizeof(int);/结果为2* ◆构造数据类型 printf("%d; sizeof(long int)结果为4 rinf( oa\.sIZ 数组 printf(%din", sizeof( double)/结果为8* 结构体 printi(°%din", sizeof(char);鬥结果为1 共用体 ◆指针类型 ◆空类型
C语言中的数据类型及其存储结构 其他的数据类型(以后详细的介绍) 基本数据类型 • 枚举 构造数据类型 • 数组 • 结构体 • 共用体 指针类型 空类型 ◆测试数据类型所占字节数的sizeof运算符 printf(“%d\n”,sizeof(int));/*结果为2*/ printf("%d\n",sizeof(long int)); /*结果为4*/ printf("%d\n",sizeof(float)); /*结果为4*/ printf("%d\n",sizeof(double)); /*结果为8*/ printf("%d\n",sizeof(char)); /*结果为1*/
C语言中的数据类型及其存储结构 数值的原码与补码表示 ◆原码表示 最高位为符号位,正为0.负为1.其位为定际值.如10.原码表示为 0000000000001010 -10 主二斗 [100000000000101 ◆补码表示 符号位与原码相同,对于其余部分,正数也与原码相同,负数则为原码的 各位取反,末位加1 16码10 取反: 再加1,得-10的补码 +1 1111111111010 注意:将补码转换为原码的方法,与原码到补码的转换相同
C语言中的数据类型及其存储结构 数值的原码与补码表示 原码表示 最高位为符号位,正为0,负为1,其他位为实际值,如10,原码表示为 -10,原码表示为 补码表示 符号位与原码相同,对于其余部分,正数也与原码相同,负数则为原码的 各位取反,末位加1 例如,-10,补码表示如下: . +1 注意:将补码转换为原码的方法,与原码到补码的转换相同 -10的原码
C语言中的数据类型及其存储结构 整型数据的存储结构 ◆不同类型的整型数据在内存中所占的bit数(字节数) 见上面 ◆整数在计算机内部以补码表示 有符号整型变量m最大表示32707 1111111111 有符号整型变量it:最小表示32768 0000000 1000 0000 无符号整型变量unsi ) sned int:最大表示6535 1111111111山 无符号整型变量 unsigned int最小表示0 o000000000000000
C语言中的数据类型及其存储结构 整型数据的存储结构 不同类型的整型数据在内存中所占的bit数(字节数) 见上面 整数在计算机内部以补码表示
C语言中的数据类型及其存储结构 以人13为例 0000000000001101 hort int型: 000n0o0o0D 01101 0000000000000000000000000001101 unsigned int型: 0000000000001101 unsigned short int型 1101 unsigned long int型: 0000000000 0000000000000000001101 以-13为例: int型 short int型: 1111111111110011 long int型: unsigned int型和 unsigned short int不能表示-13
C语言中的数据类型及其存储结构
C语言中的数据类型及其存储结构 几个常见整(int)型教据在计鳟机中的存儲形式一 0000000000000001 11111111 32767 0111111111111111 -32767 1000000000000001 32768(见上页) 说明:当一个整型数据被当作其它类型的数据看待时,其所具有的值不尽相同
C语言中的数据类型及其存储结构 说明:当一个整型数据被当作其它类型的数据看待时,其所具有的值不尽相同
C语言中的数据类型及其存储结构 ◆整型数据的益处 举例 32767 maino 32768 b:[000000000000000 a=32767: b=a+ printf(" %d, %dn, a, b) /*输出结果:32767-32768*/
C语言中的数据类型及其存储结构 整型数据的益处 • 举例 main() { int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b); /*输出结果:32767,-32768*/ }