C面向对象程序设计[胡云][电子教案和教学指南]

上传人:宝路 文档编号:48103283 上传时间:2018-07-09 格式:PPT 页数:47 大小:347.07KB
返回 下载 相关 举报
C面向对象程序设计[胡云][电子教案和教学指南]_第1页
第1页 / 共47页
C面向对象程序设计[胡云][电子教案和教学指南]_第2页
第2页 / 共47页
C面向对象程序设计[胡云][电子教案和教学指南]_第3页
第3页 / 共47页
C面向对象程序设计[胡云][电子教案和教学指南]_第4页
第4页 / 共47页
C面向对象程序设计[胡云][电子教案和教学指南]_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《C面向对象程序设计[胡云][电子教案和教学指南]》由会员分享,可在线阅读,更多相关《C面向对象程序设计[胡云][电子教案和教学指南](47页珍藏版)》请在金锄头文库上搜索。

1、第2章 数据类型和表达式【本章学习要点】 1. 掌握数据类型的分类、适用范围及表 示方法; 2. 掌握表达式的各种运算。2.1 数据类型概述在C+程序中,不同的数据类型以不同的方 式存取和处理。数据类型决定了该数据所占用的 存储空间、所表示的数据范围和精度及所能进行 的运算。在C+中,数据类型分为两大类:基本数据 类型和构造数据类型。构造数据类型从基本数据 类型“演变”而来,不同的演变方法构成了不同的 数据类型。 C+中的数据类型的分类图 2.1.1 整型C+的整型数一般占用四个字节,也可能是两个字节(取决与具体的计算机系统)。整型还可以通过加修饰符来改变它的长度。1. 整型分类 :(1)基本

2、型:用int来标识(2)短整型:用short int 标识,或简写成short(3)长整型:用long int 标识,或简写成long(4)无符号型:用unsigned标识。相反,不加unsigned标识,则默认是有符号的(singed)。无符号型又可与上述三种类型匹配构成以下三种形式:无符号基本型:用unsigned int或unsigned标识无符号短整型:用unsigned short标识无符号长整型:用unsigned long标识表2-1 各类整型所占内存字节数及表示范围类类型标识标识 符数的范围围字节节数int-3276832767 即-215(215-1)2unsigned in

3、t065535 即0(216-1)2short int-3276832767 即-215(215-1)2unsigned short int065535 即0(216-1)2long int-21474836482147483647即-231(231-1)4unsigned long04294967295 即0(232-1)42. 整型常量整型常量即整常数。C+中的整数可以用十进制、八 进制和十六进制来表示。也可以通过修饰符来表示。 (1)十进制表示:由09十个数码组成,但不能以0开头 。 (2)八进制表示:以0 开头。由07八个数码组成 。例如 :034,-051 。 (3)十六进制表示:以

4、0X或0x开始,由09及AF或af 组成。例如:0x12,0x7A。 (4)带修饰符表示:可以在数后面加上L或l来表示长整 数,无符号常整数以U或u 结尾,以UL或LU(大小写均可 )结尾则可表示无符号长整型常数。反之若不加修饰符, 则表示为一般的整型(基本型)。例:123L为长整型,有 别与123,从值的大小看,123L与123没有区别,但它们占 用的存储空间不相同。【例2.1】指出以下常数中不合法的,并说明理 由。237、0568、1627、 023 、23D 、-0127举例说明:分析: (1)0568不合法,以0开头为八进制,但数码 中有8。 (2)23D不合法,含有D的应是十六进制,

5、但 必须用0X开头。其余的合法。3. 变量的定义 变量定义的一般格式为: =,=,;【例2.2】 int a,b,c; /定义a,b,c为整型变量 long x1,y2; /定义x1,y2为长整型变量 unsigned a1,b1; /定义a1,b1为无符号整型变量 short x,y,z=6; /定义x,y,z为短整型变量,且对z进行了初始化,值为6变量定义时的注意点:允许在一个类型说明符后,定义多个相同类 型的变量。各变量名之间用逗号间隔。类型 说明符与变量名之间至少用一个空格间隔。 最后一个变量名之后必须以“;”号结尾。 允许在定义变量时同时对变量赋值以进行变 量的初始化。 变量定义必须

6、放在变量使用之前,即“先定义 ,后使用”。在函数内一般放在函数体的开头 部分。 2.1.2 实型1. 实型分类(1)单精度型:用float来标识,占4个字节 (2)双精度型:用double来标识,占8个字节。(3)长精度型:用long double来标识,占10个字节 不同的实型所占内存字节数及表 示范围 类型说明符字节数有效数字数的范围 float4710-371038double81510-30710308long double101910-49311049322. 实型常量实型常量简称实数,一般为带小 数的数值常量。在C+中,实型常数 默认为双精度型。若想表示为单精度 数,则必须在常数后

7、面加上f或F。而 要表示为长双精度,则在常数后面加 L或l。 C+中的实数有两种表示方法 (1)定点表示法:即一般的十进制表示法。例如:123.35,-78.889。 (2)浮点表示法:由尾数、指数符号(E或e)和指数组成的常数。例如:5.98e9,0.67E-4,7.e-6等为浮点表 、示法,它们分别相当于数值5.98109、 0.6710-4、7.010-6。特别要注意:指数必须为整数且尾数不能省略 。例如e-5,1.2e1.4,e,.e3等均不合法。 3. 变量的定义实型变量定义的格式和规则与整型相同【例2.3】 double a=b=c=1.23; /定义了a,b,c双精度型变量,且它

8、们的值是1.23。2.1.3字符型1. 字符型常量 (1)普通字符 C+中的字符型常量是用单引号括起来的一个字符。如 A、*、3、(等都是字符常量。字符型常量有以下特点: 字符型常量只能用单引号括起来,不能用双引号或其 它括号; 字符型常量只能是单个字符,不能是字符串; 字符可以是字符集中任意字符。但数字作为字符时其 类型和值与原来都是不同的。如5和5 是不同的。5是 字符型常量,5是整型常量。(2)转义字符转义字符以反斜线“”开头,后跟一 个或几个字符。转义字符具有特定的含 义,不同于字符原有的意义。常用的转义字符及其含义如表2-3。常用的转义字符及其含义转义字符转义字符的意义ASCII代码

9、n回车换行10 t横向跳到下一制表位置9 b退格8r回车13 f走纸换页12 反斜线符“92 单引号符39“双引号符34 a鸣铃7 ddd13位八进制数所代表的字符xhh12位十六进制数所代表的字符举例分析【例2.4】转义字符的使用 #include void main( ) cout void main( ) char a,b; a=65; b=122; cout enum weekdays Sun=7,Mon=1,Tue,Wed,Thu,Fri,Sat; void main( ) weekdays someday; someday = Mon; cout = 特别要注意的是: 赋值运算符的

10、左边一定是变量,不能是常量。 例如:3=I; /错误 赋值运算符的结合性是从右向左。 例如:a=b=10可看做a=(b=10),即a和b的值都为10。 2.2.3复合赋值运算符C+语言中还有许多复合赋值运算符,所谓复合赋 值运算符是在基本赋值运算符“=”的前面加上其他运算符 。 C+的复合赋值运算符如下: (1)与算术运算符结合的复合赋值运算符: +=a += b相当于a=a+b -=a -= b相当于a=a-b*=a *= b相当于a=a*b/=a /= b相当于a=a/b%=a %= b相当于a=a%b(2)与位运算符结合的复合赋值运算符:=, a+=c; /相当于a=a+c d/=b;

11、/相当于d=d/b c*=2; /相当于c=c*2cout void main( ) int n = 5, post = 1, pre = 1; pre = +n + pre; cout (大于)、=( 大于或等于)、= =(等于)、!=(不等于) 使用关系运算符时要注意: 当关系运算符用于字符比较时,是按该字符的ASCII值的大小进 行比较; 使用关系操作时,要注意它的优先级:算术运算符优先于关系运 算符;、=优先于= =、!=;、=同级;= =、!= 也是同级,它们的结合性自左向右。举例说明:例如:设有如下变量定义 char c1=a,c2=A; int n1=65,n2=97; floa

12、t f1=0.3e1,f2=3.0001; 则以下表达式的值分别为多少? c1c2 c1=n1 f1= =f2 c2=n1!=f2 c1c2的值为1 c1=n1的值为1 f1= =f2的值为0 c2=n1!=f2的值为1 (先操作c2=n1,其 结果为0,0!=f操作,值为1) 2.2.6逻辑运算符C+提供的逻辑运算符有:!(逻辑非)、 cout void main( ) int x=2,y,z; x*=3+1; cout”x=”x+”n”; x+=y=z=5; cout”x=”x”n”; x=y= =z; cout”x=”x”n”; 结果是:x=8 x=14 x=1 2.4 表达式的副作用(1)C+中的表达式根据运算后变量值是否变化可分为无副作用 的表达式和有副作用的表达式。(2) 通常在表达式计算过程中,参与表达式计算的变量的值不 会被改变。 (3)C+表达式中,为了提高程序的运行效率,有意识地引入副 作用机制,在求值过程中不但提取了变量的值,还可能改变他们的 值。 例如:表达式a+b+,操作结果同样是a和b之和,但同是改变b的 值,这就是所谓的“副作用” 。(4)C+表达式具有副作用的最主要的原因是引入了具有副作用的 运算符,这些运算符包括:赋值、复合赋值、自增自减等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号