第2章基本数据类型.运算符和表达式.ppt
文本预览下载声明
第二章 基本数据类型、运算符和表达式;§2.1 C语言的数据类型
§2.1.1 概述
程序设计主要解决两个问题:一个是动作,即怎样
做的问题,这由语句来实现;另一个是动作的对象,即数
据的存放问题,这由数据类型来决定。
世界上著名的计算机科学家沃斯(N.Wirth)提出这
样一个公式:程序=数据结构+算法
为什么要规定数据类型呢?
不同数据类型的数据在内存中占据不同长度的存储区
(2) 一种数据类型对应着一个值的范围。
(3) 一种数据类型对应着一个运算集。
;§2.1.2 数据类型;§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×23 +0×22+1×21 +0×20
+1×2-1 +1×2-2 =10.75
二进制数权值:128 64 32 16 8 4 2 1
注:计算机中使用二进制编码表示数据,且只存在二进制。
2、十进制表示
基数:10
权:10x
数码:0 ~ 9
例如:123.45=1×102+2×101 +3×100+4×10-1+5×10-2
;3、八进制表示
基数:8
权:8x
数码:0 ~ 7
例如:023=2×81+3 ×80 =19
注:八进制是二进制的短格式计数法,一位对三位。
例如:023对应的二进制数为010 011
注:C语言中八进制数第一个数字必须为0(八进制标志)
例如:0213 -030 +056 -0123
4、十六进制表示
基数:16
权:16X
数码:0 ~ 9,A,B,C,D,E,F
例如:0XBF3C=11×163+15×162+3×161+12×160 =48956 ;注:十六进制是二进制的短格式计数法,一位对四位。
例如: 0XBF3C对应的二进制数为1011 1111 0011 1100
注:十六进制数前两个数字必须为0X(十六进制标志)
例如:0X213 -0X30 +0X56 -0X12A
二、整数常量的几种表示方式之间的转换
;1、十进制变八进制或十六进制(红色)
(1) 将139变为八进制数(0213)
8 139
8 17 余3
8 2 余1
0 余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
;三、整数常量的取值范围
短整型数:
基本整型数:
长整型数:
四、溢出
整数的值超出了所能表示的范围
;五、实数
实数只使用十进制形式表示
两种表示方法:小数形式与指数形式
1、小数形式:由整数部分、小数点、小数部分组成
2.718 0.123 123.0 .123 123. 0.0
2、指数形式:[+][整数部分][.][小数部分] e[+]n
e前部分称为尾数,表示实数的有效值,符号表示整体的正负。
e后部分称为阶码,表示小数点在尾数基础上的移动位数,符号表示移动的方向
例如:-3.14e2, 3.14e-2
实数的分类; 实数取其值的绝对值范围。当实数超出它的类型所能表示的范围时产生溢出。如果实数的绝对值小于所能表示的最小值则产生下溢,
例如:实数1.7e-309和-1.7e-309均产生下溢,
因为|±1.7e-309||±1.7e-308|。下溢时绝对值太小以致机器不能表示而产生零值,称之为“机器零”。下溢时程序可能无法正常运行。
当实数的绝对值大于所能表示的最大值时产生上溢,
显示全部