[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc

上传人:音乐台 文档编号:1991175 上传时间:2019-01-28 格式:DOC 页数:15 大小:93KB
返回 下载 相关 举报
[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc_第1页
第1页 / 共15页
[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc_第2页
第2页 / 共15页
[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc_第3页
第3页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc》由会员分享,可在线阅读,更多相关《[计算机]面向对象程序设计技术_第2章 基本数据类型与表达式.doc(15页珍藏版)》请在三一文库上搜索。

1、第二章 基本数据类型与表达式2.1 C+数据类型概述5大类型:整型、实型、数组、指针、记录、(自定义类型结构、联合、类)sizeof (数据类型):测试某一数据类型实际占用内存的字节数 例:coutsizeof(short) sizeof(int)2.2 整型数据整型:参看P15 表2-1一、整型常量的表示表达式中的短整型常量: 自动转换 整型进制表示方法: 整型例:12 例:012 例:0X12无符号数:数后面跟U或u 例:12 U 012U 0X12U 对长整型常量表示:数后面跟L或l 例:12L二、整型变量的定义和初始化定义: 例:int s=109L; long y=99; 对 数据被

2、转换成与变量类型相同2.3 字符型数据字符型:参看P18 表2-2字符型常量的表示例:A例:r n 转义字符例:0 15 后跟数无条件理解为8进制例:X0D 后跟X16进制例: ” 后跟除上述情况的其他字符表示该字符本身字符型变量的初始化: 例: 以下表示同一字符A char c1=A;char c2=65; 字符型与整型关系: 字符型是一段特殊的整型 例:表达式求值过程,字符整数 return 12+A; 例:输入、输出时区分字符型与整型 coutA65; 结果? 例:char c=A; coutint(c); int i=65; coutchar(i); 结果:?2.4 枚举型数据枚举类型

3、:用户自定义类型,其中每一个符号常量对应一个整数定义枚举类型: enum 枚举名符号名,符号名, enum 枚举名符号名,符号名, 变量名=表达式,; 同时枚举类型定义、枚举变量定义例:enum WEEKDAY Sun, Mon , Tue, Wed, Thu; 例:Enum MONTY Jan, Feb, May x= Jan, y=Feb+2; 枚举与整型的关系:例:枚举中的每个符号依次对应:0 ,1, 2,3. Enum MONTY Jan, Feb, May x= Jan, y=Feb+2; coutx y 结果? 例:为符号规定任意的对应整数,下一个符号默认的对应整数+1 Enum

4、SomeDigit ONE=1, TWO, FIVE=6, SIX, SEVEN ; SomeDigit x=SIX; coutxy; 输入:7 2 SomeDigit z=SIX; coutz; 结果?2.5 实型数据实型:参看P24 表2-4 实型的基本情况实型常量的表示:例:双精度(double)常量表示法: 3.988 (常规法) 3.988e-3 (科学法)例:单精度(float)常量表示法:后加F 或 f 3.988F 3.988e-3F例:长双精度( long double )常量表示法: 后加L 或 l 3.988L 3.988e-3L例:科学记数法:小数点前只1位有效数字 指

5、数必须整数 3.23e+5 对 3.23e5 对实型变量定义、初始化:例:double var1=2.718, var2; Long double ld=3.1415926L;2.6 符号常量与常值变量预处理指令#define: 定义一个符号代表某个常量 例:预处理指令不能跟分号;#define PI 3.1415 对#define PI 3.1415;错!常变量的定义:const 数据类型 变量=表达式 例:定义时:赋初值只能:一次赋值操作 const double PI=3.1415926; cout PI+10; 对! PI=3.1415926; 错! 例:常值变量有明确的类型属性,有利

6、于发挥C+的类型检查机制2.7 数值表达式每个表达式都有一个值:例:表达式常量 cout6.8+89;例:表达式变量 int x=90; coutxendl; 例:表达式函数 coutsqrt(188)endl;算术操作符:位操作符:、|、&、异或、取反 例:位操作只能对整数 52 相当:整除2 5&2 按位与赋值操作符:例:赋值表达式值被赋值变量所获得的值 if ( (k=m)=j ) coutk;例:赋值语句 int k, m=8; k=m=7;复合赋值操作符:变量?=表达式 变量变量?表达式 例:变量?=表达式 变量?=(表达式)s*=j-7增1减1操作符:+变量 、变量 变量+ 、 变

7、量 例:int d=5; cout+d*2; 结果? 例:int d=5; coutd+*2; 结果? 例:连续出现+或:被识别为+或 i+j 识别为:(i+)+j i+j 识别为:(i+)j i+j 识别为:(i+)(+j)sizeof操作符:sizeof(数据类型)sizeof(表达式) 例:double d=3;coutsizeof(5)sizeof(d+2)sizeof(double)操作符的结合性:右左:一元操作符、赋值操作符、复合赋值操作符左右:其余操作符操作符的优先级: 例:相邻两个操作符,若优先级相同,先执行哪个? 答:与前一个操作符的结合性有关 前一个操作符:左右,先执行该操

8、作 前一个操作符:右左,先执行后一个操作 22+19+2*5 i=j+=5*i数据类型自动转换: 短的长的 有符号无符号 整型 实型 低精度高精度 例:4+23L-5.1 例:赋值、复合赋值,以操作符左边那个获得值的变量的类型为准自动转换 即:赋值号左边变量的类型为最终转换类型 int k=3; double d=2.718; k+=d; cout、=、= 例:关系表达式的结果:true 或false couts1*s2 (k+p)(s1*s2)逻辑运算符: !逻辑非、|逻辑或、& 逻辑与 例:逻辑运算符操作对象:true 或alse 逻辑运算符操作结果:true 或alse true & f

9、alse逻辑运算符的结合性:左右逻辑运算符的优先级:逻辑运算符 低于 关系运算符 (除逻辑非!) 例:等价、k+ps1*s2&fun()s1*s2)&(fun()0) 不等价 !x0逻辑表达式等价:任何情况,其值相等(同一条件:可以有不同的表达形式) ! E E !(x=y) x!=y !(xy) x=y !(x=y !(x=y !(x=y) x=2 & x=2)|!(x=7) x7逻辑型与其他数据类型的关系:0false 非0true 例:数值型数据 逻辑形数据 出现在同一表达式中 false 无条件转换 0 true 无条件转换 1 bool k=true; int j=3; couten

10、dlj+k j=k 结果40例:逻辑变量的输出结果:0 (false) 或1 (true) 原因:C+输出流把逻辑数据识别为整数0或1bool k=true; int j=3; cout j!=k; 结果? 例:bool 逻辑变量数值数据 (逻辑变量初始化或赋值), 任何非0值 true bool k=9, h; h=5; coutk x; w=x100 ? 0: x*3; coutW; 输入23 结果? 输入123 结果?2.9 自定义类型修饰符2.10 表达式的副作用与表达式语句有副作用的表达式:表达式在求值过程中,不但要提取变量的值,不可能改变量的值,这样的表达式称为有副作用。有副作用的

11、操作: 赋值(=) 复合赋值前增1 、前减1后增1、后减1例:赋值、复合赋值、前增1 、前减1操作的结果仍然是变量对象,而且就是那个被作用的变量。 int k=3; cout+(k+2); cout k; 结果?例:被赋值的对象:必须是变量 对错?(p+3)=k +5; 100=P;例:对错?+ k *=5; (+k) *=5; k+*=5逗号表达式:表达式1, 表达式2 例:逗号表达式的值 表达式2的值 逗号表达式的类型 表达式2的类型 x=(i+, j); coutx; 例:逗号操作符 优先级 最低 int i=10, j=20;int x=(i+, j); int y=i+,j coutx y; 结果?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1