
程序设计基础:第2章 数据表示及数据运算.ppt
84页1第第2 2章章 数据表示及数据运算数据表示及数据运算2.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性22.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性第第2 2章章 数据表示及数据运算数据表示及数据运算32.1 2.1 数据类型的一般概念数据类型的一般概念第第2 2章章 数据表示及数据运算数据表示及数据运算42.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性第第2 2章章 数据表示及数据运算数据表示及数据运算52.2 常量与变量在程序执行过程中,其值不能被改变的量称为常量常量。
例:12、0、-7 为整型常量 3.14、-2.8 为浮点型常量 a、b、c 为字符常量 符号常量符号常量在使用之前必须先定义,其一般形式为:#define 标识符标识符 常量常量其中#define是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值第第2 2章章 数据表示及数据运算数据表示及数据运算62.2 常量与变量在程序执行过程中,其值不能被改变的量称为常量符号常量符号常量在使用之前必须先定义,其一般形式为:#define 标识符标识符 常量常量其中#define是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值使用符号常量的好处如下:含义清楚在需要改变一个常量时能做到“一改全改”第第2 2章章 数据表示及数据运算数据表示及数据运算例2.1符号常量的使用程序代码如下:#definePI3.14#includevoidmain()floatarea,r;r=10;area=PI*r*r;printf(area=%fn,area);82.2 常量与变量在程序执行过程中,其值可变的量称为变量。
一个变量必须有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值第第2 2章章 数据表示及数据运算数据表示及数据运算92.2 常量与变量 变量名是一种标识符,所谓标识符标识符就是程序中用来为符号常量、变量、函数、数组、文件等命名的有效字符序列标识符的命名规则如下:只能由字母、数字和下划线组成第一个字符必须为字母或下划线不能使用C语言中的关键字区分大小写字母,sum和Sum是不同的标识符第第2 2章章 数据表示及数据运算数据表示及数据运算102.2 常量与变量变量则必须作强制定义,即“先定义,后使用”这样做的目的有以下几点:凡未被事先定义的,不作为变量名,这就能保证程序中的变量名使用得正确一个变量被指定为某一确定的数据类型,在编译时就能为其分配相应的存储单元一个变量被指定为某一确定的数据类型,便于在编译时据此检查所进行的运算是否合法第第2 2章章 数据表示及数据运算数据表示及数据运算112.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性第第2 2章章 数据表示及数据运算数据表示及数据运算122.3 整型数据1整型变量的分类整型变量可分为基本型、短整型、长整型和无符号型4种。
基本型类型声明符为intint,在内存中占2个字节短整型类型声明符为short int或short,所占字节和取值范围均与基本型相同长整型类型声明符为long intlong int或longlong,在内存中占4个字节无符号型类型声明符为unsignedunsigned,存储单元中全部二进位(bit)都用作存放数本身,而不包括符号第第2 2章章 数据表示及数据运算数据表示及数据运算142.3 整型数据整型变量的定义整型变量的定义C规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”变量定义的一般形式为:类型声明符类型声明符 变量名标识符变量名标识符1,变量名标识符变量名标识符2,.;第第2 2章章 数据表示及数据运算数据表示及数据运算例如:int a,b,c;/*a、b、c为整型变量*/long m,n;/*m、n为长整型变量*/unsigned int p,q;/*p、q为无符号整型变量*/152.3 整型数据变量定义时应注意以下几点:允许在一个类型声明符后定义多个相同类型的变量,各变量名之间用逗号间隔类型声明符与变量名之间至少用一个空格间隔最后一个变量名之后必须以分号(;)结束。
变量定义必须放在变量使用之前可在定义变量的同时给出变量的初值其格式为:类型声明符类型声明符 变量名标识符变量名标识符1=初值初值1,变量名标识符变量名标识符2=初值初值2,.;例:例:int a=1,b=2;第第2 2章章 数据表示及数据运算数据表示及数据运算例2.2整型变量的定义与初始化程序代码如下#includevoidmain()inta=3,b=5;printf(a+b=%dn,a+b);变量在内存中的存储形式数据在内存中是以二进制补码形式存放的整型数据的溢出一个int型变量的取值范围是-3276832767,超过这个范围则溢出例例2.3整型数据的溢出程序代码如下:#includevoidmain()inta,b;a=32767;b=a+1;printf(a=%d,b=%dn,a,b);192.3.2 2.3.2 整型常量整型常量 整型常量就是整常数在整型常量就是整常数在C语言中,使用的整常数有八进制、十六进制和十进语言中,使用的整常数有八进制、十六进制和十进制制3种,使用不同的前缀来相互区分除了前缀外,种,使用不同的前缀来相互区分除了前缀外,C语言中还使用后缀来区分不语言中还使用后缀来区分不同的整数。
同的整数1八进制整常数八进制整常数八进制整常数必须以八进制整常数必须以0 0开头,即以开头,即以0作为八进制数的前缀作为八进制数的前缀2十六进制整常数十六进制整常数十六进制整常数的前缀为十六进制整常数的前缀为0X0X或或0 x0 x3十进制整常数十进制整常数十进制整常数没有前缀,数码取值为十进制整常数没有前缀,数码取值为094整型常数的后缀整型常数的后缀长整型数是用后缀长整型数是用后缀“L”或或“l”来表示的来表示的5整型常数的类型整型常数的类型第第2 2章章 数据表示及数据运算数据表示及数据运算202.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性第第2 2章章 数据表示及数据运算数据表示及数据运算212.4 浮点型数据1浮点型变量的分类按照数值的取值范围不同分为以下三种:1)单精度型:类型声明符为floatfloat,在内存中占4个字节。
2)双精度型:类型声明符为doubledouble,在内存中占8个字节3)长双精度型:类型声明符为long double,在内存中占16个字节2.浮点型变量的定义浮点型变量声明的格式和书写规则与整型相同例如:float x,y;/*x、y为单精度变量*/也可在声明变量为浮点型的同时,给变量赋初值例如:double a=0.2,b=1.3,c=5.1第第2 2章章 数据表示及数据运算数据表示及数据运算222.4 浮点型数据1浮点型常量的表示形式有两种形式:十进制数形式和指数形式1)十进制数形式由数码09和小数点组成例如0.0、.25、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数2)指数形式一般格式是“实数+e(或E)+整数”,记为a E n,其值为a10n2浮点型常量的类型许多C编译系统将实型常量作为双精度来处理第第2 2章章 数据表示及数据运算数据表示及数据运算例2.4演示float和double的区别程序代码如下:#includevoidmain()floata;doubleb;a=33333.333333;b=33333.333333333;printf(a=%fnb=%fn,a,b);242.1 2.1 数据类型的一般概念数据类型的一般概念2.2 2.2 常量与变量常量与变量2.3 2.3 整型数据整型数据2.4 2.4 浮点型数据浮点型数据2.5 2.5 字符型数据字符型数据2.6 2.6 赋值运算符及变量赋初值赋值运算符及变量赋初值2.7 2.7 不同数据类型数据间的混合运算不同数据类型数据间的混合运算2.8 2.8 运算符和表达式运算符和表达式2.9 2.9 运算符的优先级和结合性运算符的优先级和结合性第第2 2章章 数据表示及数据运算数据表示及数据运算252.5 字符型数据字字符符常常量量是用一对单引号括起来的单个字符,如A、a、X、?、$等都是字符常量。
注意单引号是定界符,不是字符常量的一部分C语言还允许用一种特殊形式的字符常量,即转转义义字字符符转义字符以反斜线“”开头,后跟一个或几个字符第第2 2章章 数据表示及数据运算数据表示及数据运算262.5 字符型数据转义字符表示含义反斜杠字符“”单引号字符”双引号字符n换行,将当前位置移到下一行开头t水平制表,横向跳到下一个输出区r回车,将当前位置移到本行开头f换页,将当前位置移到下页开头b退格,将当前位置移到前一列ddd1到3位八进制数所代表的字符xhh1到2位十六进制数所代表的字符第第2 2章章 数据表示及数据运算数据表示及数据运算区分一下:650650 x65nn”n”n65x65十进制数65八进制数65十六进制数65变量n字符常量字符串常量“换行”ASCII值为(65)8的字符ASCII值为(65)16的字符282.5 字符型数据字字符符变变量量用来存放字符常量,即单个字符每个字符变量被分配一个字节的内存空间,因此只能存放一个字符字符变量的类型声明符为char,字符变量类型声明的格式如下:char a,b;/*定义字符变量 a和b*/a=x,b=y;/*给。












