欢迎来到天天文库
浏览记录
ID:58706064
大小:812.50 KB
页数:84页
时间:2020-10-04
《第2章基本数据类型汇编ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章基本数据类型2.0数制与编码2.1基本数据类型的特征2.2数据常量2.3数据类型转换2.4数据的控制台输入与输出(补充)C语言数据类型基本数据类型导出数据类型double(双精度浮点型)long(长整型)char(字符类型)整型short(短整型)int(整型)浮点型float(单精度浮点型)longdouble(长双精度浮点型)void类型用户定制类型T*(指针类型)struct{…}(结构体类型)union{…}(共用体类型)文件类型enum(枚举型)函数类型构造类型T[…](数组类型)C语言提供有丰富的数据类型:2.1基本数据类型的特征C语言提供的基本数据类型包括:char(字符
2、)型、int(整)型、float(单精度实)型、double(双精度实)型并且还可以通过使用:short、long、signed和unsigned修饰char和int,用long修饰double,形成更多的类型。2.1.1数值的定点表示与浮点表示定点表示和浮点表示,是C语言基本数据类型的重要特征。为了说明什么是“定点”,什么是“浮点”,先看π值的几种表示形式:日常的表示法C语言中的表示形式3.14159×1003.14159e00.314159×1010.314159e+10.0314159×1020.0314159e+231.4159×10-131.4159e-13141.59×10-33
3、141.59e-3浮点形式存储0.314159+1数值部分(尾数)指数(阶码)2.1.2整数的有符号类型与无符号类型内存中的数值是以补码形式存放的,一个正数的补码就是该数的二进制数。对一个负数(如-10),求补码的方法如下:①先取该数的绝对值:先取10②然后表示为二进制形式:0000000000001010③再对其按位取反:1111111111110101④然后加1:得1111111111110110即-10的16位存储形式(补码)为:11111111111101102.1.3类型宽度与取值范围C语言对不同类型的数据分配不同宽度的存储空间。典型的存储空间宽度有:1B(8位)、2B(16位)、
4、4B(32位)、8B(64位)和10B(80位)几种。不同的长度对应的数据取值范围是不同的。同样长度的取值范围还与有无符号、是定点表示(整型)还是浮点表示(实型)有关。另外还取决于所用的编译系统。2.1.3类型宽度与取值范围多数编译系统带符号整数的数值范围为:-2n-1~2n-1-1其中n为该整数所占的bit数若一个整数所占的bit数为16,则其范围为:-32768~32767少数编译系统带符号整数的数值范围为:-(2n-1–1)~2n-1-1。若一个整数所占的bit数为16,则其范围为:-32767~32767。不同长度整型数据的取值范围数据长度(比特)取值范围Signed(有符号)Uns
5、igned(无符号)8-127~1270~25516-32767~327670~6553532-2147483647~21474836470~429496729564-(263-1)~263-10~264-1(18446744073709551615)整型数据的类型字符型:[signed]char,unsignedchar普通整型:[signed]int,unsigned[int]短整型:[signed]short[int],unsignedshort[int]长整型:[signed]long[int],unsignedlong[int]超长整型:(很多编译系统未实现)[signed]lon
6、glong[int],unsignedlonglong[int]C语言中不同长度实型数据的取值范围和表数精度宽度(比特)数据类型机内表示(位数)取值范围有效数字和精度阶码尾数符号32float8231
7、3.4e-38
8、~
9、3.4e+38
10、大约7位十进制有效数字,7位精度64double11521
11、1.7e-308
12、~
13、1.7e+308
14、16或17位十进制有效数字,7位精度80longdouble由具体实现确定
15、1.2e-4932
16、~
17、1.2e+4932
18、18位十进制有效数字,7位精度C语言提供了一个测定某一种类型数据所占存储空间长度的运算符“sizeof”。它的格式为:sizeof(类型标
19、识符或数据)当不了解所使用的编译器中的某数据类型的宽度时,可使用这个运算符计算之。/***文件名:ex020101.c***测定数据类型长度***/#includeintmain(void){inti=0;printf("char:%dbytes.",sizeof(char));printf("short:%dbytes.",sizeof(short));printf("i:%dby
此文档下载收益归作者所有