在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt

上传人:ga****84 文档编号:453596 上传时间:2018-10-08 格式:PPT 页数:42 大小:1.93MB
下载 相关 举报
在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt_第1页
第1页 / 共42页
在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt_第2页
第2页 / 共42页
在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt_第3页
第3页 / 共42页
在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt_第4页
第4页 / 共42页
在Internet上传输文件-云纸箱昆山微谷特网络信息.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、面向对象程序设计C+,授课老师:龚涛信息科学与技术学院2017年3月教材:面向对象C+卓越工程师案例教程中国水利水电出版社,2017年5月出版参考开发类书籍:Visual C+程序员成长攻略 C+ Builder程序员成长攻略,龚涛,东华大学信息科学与技术学院,2,第2章 数据类型和表达式,指针和引用,枚举,数组,常量和变量,基本数据类型,运算符,类型定义、结构和联合,表达式,龚涛,东华大学信息科学与技术学院,3,C+语言的基本数据类型整型,说明符为int字符型,说明符为char浮点型(又称实型),说明符有3种:float:单精度浮点型double:双精度浮点型long double:长精度浮

2、点型空值型,说明符为void,用于函数和指针布尔型,说明符为bool,取值只有true(真)和false(假)基本数据类型前可加以下修饰符(除了void和bool类型外)signed表示有符号unsigned 表示无符号long表示长型short表示短型,2.1 基本数据类型,第2章 数据类型和表达式,龚涛,东华大学信息科学与技术学院,4,表2-1 C+语言的基本数据类型,2.1 基本数据类型,龚涛,东华大学信息科学与技术学院,5,表2-1 C+语言的基本数据类型(续),2.1 基本数据类型,龚涛,东华大学信息科学与技术学院,6,int可以省略,在int前有修饰符时可省略。单精度类型float

3、、双精度类型double和长精度类型long double统称为浮点类型。char型和各种int型有时又统称为整数类型,char型变量在内存中是以字符的ASCII码值的形式存储的。各种类型的长度是以字节(B)为单位的,1个字节等于8个二进制位(b)。bool型的 长度在不同编译系统中有所不同,在Visual C+ 6.0编译系统中占1个字节。,表2-1的说明,2.1 基本数据类型,龚涛,东华大学信息科学与技术学院,7,2.2 常量和变量,第2章 数据类型和表达式,2.2.1 常量 常量是在程序中不被改变的量,在C+语言中常量常用符号表示,又称为文字量。整型常量:十进制整型常量、八进制整型常量和

4、十六进制整型常量浮点型常量:小数表示法和科学表示法字符常量:一对单引号括起一个字符或反斜线符带头的ASCII码值字符串 常量:连接、复制布尔常量:只有true和false两种符号常量:可读性、可维护性、只读变量(const),龚涛,东华大学信息科学与技术学院,8,2.2.2 变量,2.2 常量和变量,变量是在程序执行中其值可以改变的量,变量有三个基本要素:名字、类型和值。变量的名字不能使用保留字见名知意多个单词之间使用下划线变量的类型:数据类型和存储类变量的值:数据值和地址值变量的定义可以随时定义变量 ;,龚涛,东华大学信息科学与技术学院,9,2.3 数组,第2章 数据类型和表达式,2.3.1

5、 数组的定义 2.3.2 数组的赋值 数组的赋值是给数组的各个元素赋值。数组元素的表示C+语言中数组元素可用下标表示,也可用指针表示。数组元素的赋初值在定义数组时,可以给数组的各元素赋初值。数组元素的赋值,龚涛,东华大学信息科学与技术学院,10,2.3.3 字符数组,2.3 数组,前述数组的定义和赋值也适用于字符数组。字符数组是指数组元素是char型的一种数组。一维字符数组可以用来存放一个字符串,多维字符数组可以用来存放多个字符串。在将一个一维字符数组初始化为一个字符串时,可用如下简捷方式: char s5=abcd;二维字符数组的初始化可以用前述初始值表的方法,也可以用字符串常量的方法。,龚

6、涛,东华大学信息科学与技术学院,11,2.4 枚举,第2章 数据类型和表达式,2.4.1 枚举类型和枚举变量 枚举是一种构造的数据类型,它是若干个有名字的整型常量的集合。 enum ;是由若干个枚举符组成的,多个枚举符之间用逗号分隔。每个枚举符是一个用标识符表示的整型常量,又称为枚举常量。每个枚举符所表示的整型数值在默认的情况下,最前边一个为0,接着一个为1,后一个总是前一个的值加1。枚举符的值可以在定义时被显式赋值,被显式赋值的枚举符将获得该值,没被显式赋值的枚举符仍按默认值,并按后一个是前一个值加1的规律。,龚涛,东华大学信息科学与技术学院,12,2.4.2 枚举变量的值,2.4 枚举,枚

7、举变量的值是该枚举变量所属的枚举类型的枚举表的某一个枚举符。如果要用某个枚举符所表示的整型值给枚举变量赋值,就需要进行强制类型转换。输出某个枚举变量的值总是整型数值,而不是枚举符。如果要输出其枚举符,还需编程实现。采用枚举变量会增加其可读性,给一个简单数值命名为枚举符,有助于“见名知意”。,龚涛,东华大学信息科学与技术学院,13,2.5.1 指针指针是一种数据类型,具有指针类型的变量称为指针变量。(1) 什么是指针指针是用来存放某个变量的地址值的一种变量,指针变量所表示的数据值是某个变量在内存中的地址值。指针存放哪个变量的地址值,它就指向那个变量。指针的类型是它所指向变量的类型,而不是指针本身

8、数据值的类型,因为任何指针本身数据值的类型都是unsigned long int型的。指针不仅可以指向各种类型的变量,还可以指向数组(也可以指向数组元素)、函数、文件,甚至也可以指向指针。,2.5 指针和引用,第2章 数据类型和表达式,龚涛,东华大学信息科学与技术学院,14,(2) 如何定义指针 * , * , ;定义一个指针后,系统便给指针分配一个内存单元,各种不同类型的指针被分配的内存空间的大小是相同的,因为不同类型的指针存放的数据值都是内存地址值。(3) 指针的赋值任何一种类型的指针所赋的值都是内存地址值,但是不同类型指针的内存地址值的表示不尽相同。一般变量、数组元素、结构成员等其地址值

9、都表示为变量名前加运算符&。,2.5.1 指针,2.5 指针和引用,龚涛,东华大学信息科学与技术学院,15,(3) 指针的赋值数组的地址值用该数组名来表示,任何数组的数组名是一个常量指针,其值是该数组首元素的地址值。函数的地址值可用该函数的名字来表示,一个指向函数的指针可用它所指向的函数名字来赋值。定义了一个指针后,必须先给它赋值后才能引用,否则将有可能造成系统的故障。,2.5.1 指针,2.5 指针和引用,龚涛,东华大学信息科学与技术学院,16,(4) 指针的运算指针是一种特殊的变量,指针运算是很有限的。指针所允许的运算有如下4种。赋值运算可以将指针所指向的变量的地址值赋给它,还可将数组名或

10、函数在内存中的入口地址值赋给所对应的指针。对于暂时不用的指针,应将0值赋给该指针(空指针)。指针赋值时要求类型和级别一致。一个指针可以加上或减去一个整数值。在一定条件下,两个指针可以相减。在一定条件下,两个指针可以比较。,2.5.1 指针,2.5 指针和引用,龚涛,东华大学信息科学与技术学院,17,在C+语言中,数组的元素可以用下标表示,也可用指针表示,但是最好用指针表示,因为指针表示要比下标表示处理起来更快。 (1) 数组元素的指针表示下标表示式ai用指针表示为*(a+i)。下标表示式bij用指针表示为*(*(b+i)+j)。下标表示式cijk用指针表示为*(*(*(c+i)+j)+k)。,

11、2.5.2 指针和数组,2.5 指针和引用,龚涛,东华大学信息科学与技术学院,18,例2.1 分析下列程序的输出结果。#include void main() static int a5=5,4,3,2,1; int i,j; i=a0+a4; j=*(a+2)+*(a+4); coutiendlj;,2.5.2 指针和数组,2.5 指针和引用,龚涛,东华大学信息科学与技术学院,19,例2.2 分析下列程序的输出结果。#include void main() static char s1= abcde ,s25=m, n, p, q, 0; char * ps=s1; couts1 or s2

12、; cout n; couts21s22s13s14endl; cout*ps*(ps+2)*(ps+4),=,,=,2.6 运算符,第2章 数据类型和表达式,龚涛,东华大学信息科学与技术学院,28,(7) C+语言增加的运算符 作用域运算符: 成员指针选择符: *和-* 创建堆对象运算符: new和释放堆对象运算符delete2.6.2 运算符的优先级及结合性 见教材第46页的表2.3。,2.6 运算符,第2章 数据类型和表达式,龚涛,东华大学信息科学与技术学院,29,2.7.1 表达式的种类 表达式是由运算符和操作数组成的式子,操作数包含了常量、变量、函数和其他一些命名的标识符。最简单的表

13、达式是常量或变量。算术表达式:a+5.2/3.0-9%5逻辑表达式:!a&8|7关系表达式:m=x赋值表达式:a=7条件表达式:a4?+a:- -a逗号表达式:a+5, a=7, a+=4,2.7 表达式,第2章 数据类型和表达式,龚涛,东华大学信息科学与技术学院,30,(1) 算术表达式算术表达式是由算术运算符和位操作运算符组成的表达式,其表达式的值是一个数值,表达式的类型具体由运算符和操作数确定。一般的算术表达式中,各个操作数的类型相同时,表达式的类型是操作数的类型;当各个操作数的类型不同时,表达式的类型是操作数中类型最高的操作数的类型。位操作运算符组成的表达式中,由于操作数都是int型,

14、因此表达式的值也是int型。,2.7 表达式,2.7.2 表达式的值和类型,龚涛,东华大学信息科学与技术学院,31,(2) 关系表达式由关系运算符组成的表达式为关系表达式。关系表达式常用作条件语句和循环语句中的条件表达式。关系表达式值的类型是逻辑类型。(3) 逻辑表达式由逻辑运算符组成的表达式为逻辑表达式。逻辑表达式值的类型为逻辑型。只对能够确定整个表达式值所需要的最少数目的子表达式(操作数)进行计算。,2.7 表达式,2.7.2 表达式的值和类型,龚涛,东华大学信息科学与技术学院,32,(4) 条件表达式由三目运算符组成的表达式为条件表达式。三目运算符具有if-else语句的功能。(5) 赋

15、值表达式由赋值运算符组成的表达式为赋值表达式。一个基本赋值运算符10个复合赋值运算符(6) 逗号表达式用逗号将若干个表达式连起来的表达式为逗号表达式。其值和类型是最后一个表达式的值和类型。,2.7 表达式,2.7.2 表达式的值和类型,龚涛,东华大学信息科学与技术学院,33,(1) 隐含转换一般地,对双目运算中的算术运算符、关系运算符、逻辑运算符和位操作运算符组成的表达式,要求两个操作数的类型一致。如果操作数的类型不一致,则转换为较高的类型。各种类型的高低顺序如下:int unsignedlong unsigned long double short, char float(2) 强制转换强制

16、转换将某种类型强制性地转换为指定的类型,强制转换分为显式强制转换和隐式强制转换。显式强制转换的格式: () 和 () ,2.7 表达式,2.7.3 表达式中的类型转换,龚涛,东华大学信息科学与技术学院,34,显式强制转换的不安全性和暂时性显式强制转换不安全,因为这种强制转换可能会将高类型转换为低类型,导致数据精度的丢失。显式强制转换是暂时性的,是“一次性”的。隐式强制转换在赋值表达式中,当左值(赋值运算符左边的值)和右值(赋值运算符右边的值)类型不同时,一律将右值类型强制转换为左值的类型。在函数有返回值的调用中,当return后面的表达式的类型与函数的类型不一致时,总是将return后面的表达

17、式的类型强制转换为该函数的类型。,2.7 表达式,2.7.3 表达式中的类型转换,龚涛,东华大学信息科学与技术学院,35,例2.17 编译下列程序时会出现编译错误。#include void main() int a(5), b; char c(k); float d=99.67; /1 b=c; coutbendl; c=d; /2 coutcendl; a=d-1; /3 cout(char)a或者 (*). 结构数组元素的成员表示格式如下: .,2.9.1 结构,2.9 结构和联合,龚涛,东华大学信息科学与技术学院,39,结构变量的初始化 在定义结构变量时可以进行初始化,其方法是使用初始

18、值表,即给该结构变量的各个成员赋初值。结构变量赋值方法结构变量的赋值是对结构变量的各个成员的赋值。同一个结构类型的两个结构变量可以赋值,一个结构变量的地址值可以赋给指向该结构类型的结构变量的指针。(3) 结构变量在程序中的应用结构变量可作为结构类型的成员结构变量可作为数组元素结构变量和指向结构变量的指针都可作为函数参数和返回值。,2.9.1 结构,2.9 结构和联合,龚涛,东华大学信息科学与技术学院,40,(1) 联合的概念联合类型与结构类型在形式上有许多相似之处。在定义上,除了联合使用关键字union不同于结构外,其余相同,包括联合类型的定义和联合变量的定义。其格式如下:union ;uni

19、on ;联合与结构的最大区别是:结构成员各自占有内存单元,即异址;而联合成员是共址的,即所有的联合成员共用一个内存单元。该单元的大小与联合中数据长度最长的相同。,2.9.2 联合,2.9 结构和联合,龚涛,东华大学信息科学与技术学院,41,由于联合是共址的,因此,在某一个时刻联合变量的各个成员中只有一个是有效的。在给联合变量赋值时,只保留最近一次的值。(2) 联合在程序中的应用联合类型由于其成员是共址的,在某些运算中受到限制,因此,它不像结构、数组的使用那么广泛。联合变量只可作为结构的成员和数组的元素,指向联合变量的指针可作为函数参数。,2.9.2 联合,2.9 结构和联合,龚涛,东华大学信息科学与技术学院,42,答疑联系信息,办公室电话:021-67792312手机:18201798064QQ:5763698E-mail:办公室地址:2号学院楼216室,

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。