欢迎来到天天文库
浏览记录
ID:37094052
大小:411.81 KB
页数:44页
时间:2019-05-11
《基本数据类型、运算符和表达式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章基本数据类型、运算符和表达式§2.1C语言的数据类型§2.1.1概述程序设计主要解决两个问题:一个是动作,即怎样做的问题,这由语句来实现;另一个是动作的对象,即数据的存放问题,这由数据类型来决定。世界上著名的计算机科学家沃斯(N.Wirth)提出这样一个公式:程序=数据结构+算法为什么要规定数据类型呢?不同数据类型的数据在内存中占据不同长度的存储区(2)一种数据类型对应着一个值的范围。(3)一种数据类型对应着一个运算集。§2.1.2数据类型数据类型基本类型整型(有符号、无符号的短、基、长)字符型单精度双精
2、度构造类型指针类型空类型数组类型结构体类型联合体类型实型(浮点型)枚举类型1§2.2常量(2)常量:程序运行过程中其值不发生变化的量。三类常量:数值、字符和字符串。§2.2.1数值常量一、整数常量的表示1、计数制的通用表示方法A=an-1×bn-1+an-2×bn-2+…..+a1×b1+a0×b0+a-1×b-1+a-2×b-2+…..+a-m×b-m基数(b):所含数码的个数权(bx):表明数码所在的位置数码:0~b-1整数常量实数常量数值常量二进制数:基数:2权:2x数码:0~1例如:1010.11=1×
3、23+0×22+1×21+0×20+1×2-1+1×2-2=10.75二进制数权值:1286432168421注:计算机中使用二进制编码表示数据,且只存在二进制。2、十进制表示基数:10权:10x数码:0~9例如:123.45=1×102+2×101+3×100+4×10-1+5×10-23、八进制表示基数:8权:8x数码:0~7例如:023=2×81+3×80=19注:八进制是二进制的短格式计数法,一位对三位。例如:023对应的二进制数为010011注:C语言中八进制数第一个数字必须为0(八进制标志)例如:0
4、213-030+056-01234、十六进制表示基数:16权:16X数码:0~9,A,B,C,D,E,F例如:0XBF3C=11×163+15×162+3×161+12×160=48956注:十六进制是二进制的短格式计数法,一位对四位。例如:0XBF3C对应的二进制数为1011111100111100注:十六进制数前两个数字必须为0X(十六进制标志)例如:0X213-0X30+0X56-0X12A二、整数常量的几种表示方式之间的转换红色:连续除基数,取余数直到商为零浅蓝:按权值位展开。黄色:借助二进制数转换。1
5、、十进制变八进制或十六进制(红色)(1)将139变为八进制数(0213)8139817余382余10余2将3158变为十六进制数(0XC56)2、八进制或十六进制变十进制(浅蓝)(1)将0213变为十进制数(139)0213=2×82+1×81+3×80=139(2)将0XC56变为十进制数(3158)3、八进制与十六进制变换(黄色)(1)将0X1A3变成八进制数(0643)P19(2)将0334变为十六进制数(0XDC)P19三、整数常量的取值范围短整型数:基本整型数:长整型数:四、溢出整数的值超出了所能表示
6、的范围有符号短整型(16位):-32768~+32767无符号短整型(16位):0~65535有符号整型(16位):-32768~+32767无符号整型(16位):0~65535有符号长整型(32位):-2147483648~+2147483647无符号长整型(32位):0~4294967295五、实数实数只使用十进制形式表示两种表示方法:小数形式与指数形式1、小数形式:由整数部分、小数点、小数部分组成2.7180.123123.0.123123.0.02、指数形式:[+][整数部分][.][小数部分][
7、+]e前部分称为尾数,表示实数的有效值,符号表示整体的正负。e后部分称为阶码,表示小数点在尾数基础上的移动位数,符号表示移动的方向例如:-3.14e2,3.14e-2实数的分类单精度,例如:3.1415f双精度,例如:3.1415长双精度,例如:3.1415L实数取其值的绝对值范围。当实数超出它的类型所能表示的范围时产生溢出。如果实数的绝对值小于所能表示的最小值则产生下溢,例如:实数1.7e-309和-1.7e-309均产生下溢,因为
8、±1.7e-309
9、<
10、±1.7e-308
11、。下溢时绝对值太小以致机器
12、不能表示而产生零值,称之为“机器零”。下溢时程序可能无法正常运行。当实数的绝对值大于所能表示的最大值时产生上溢,例如:实数1.7e+309和-1.7e+309均产生上溢,因为
13、±1.7e+309
14、>
15、±1.7e+308
16、。上溢时将产生错误的结果。实数又分为单精度(float)、双精度(double)和长双精度(longdouble)三类。实数的缺省类型为双精度数(double型);在实
此文档下载收益归作者所有