《C++_Chapter1.ppt》由会员分享,可在线阅读,更多相关《C++_Chapter1.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院1 课程名称课程名称:计算机编程计算机编程主讲教师:赵龙强主讲教师:赵龙强上海财经大学上海财经大学 信息管理与工程学院信息管理与工程学院上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院2n指定教材:指定教材:n谭浩强,谭浩强,C+程序设计(第程序设计(第2 版)版),清华大,清华大学出版社,学出版社,2011 年年8 月月n参考书目:参考书目:n钱能钱能 编著编著C+C+程序设计教程程序设计教程,第,第2 2 版,清华大版,清华大学出版社,学出版社,2005 2005 年年9 9 月。月。n郑莉、董渊郑莉、董渊 编著编著C
2、+C+程序设计基础教程程序设计基础教程,清华,清华大学出版社,大学出版社,2010 2010 年年8 8 月月上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院内容n第第1篇篇 基本知识基本知识n第第1章章 C+的初步知识的初步知识n第第2章章 数据类型和表达式数据类型和表达式n第第2篇篇 基于过程的程序设计基于过程的程序设计n第第3章章 程序设计初步程序设计初步n第第4章章 利用函数实现指定的功能利用函数实现指定的功能n第第5章章 利用数组处理批量数据利用数组处理批量数据n第第6章章 善于使用指针与引用善于使用指针与引用n第第7章章 用户自定义数据类型用户自定义数据类型n第第3篇篇
3、 基于对象的程序设计基于对象的程序设计n第第8章章 类和对象的特性类和对象的特性n第第9章章 怎样使用类和对象怎样使用类和对象n第第10章章 运算符重载运算符重载n第第4篇篇 面向对象的程序设计面向对象的程序设计n第第11章章 继承与派生继承与派生n第第12章章 多态性与虚函数多态性与虚函数上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院4n随着电脑的普及和科学技术的发展,各随着电脑的普及和科学技术的发展,各种各样电脑的应用已经深入我们的日常种各样电脑的应用已经深入我们的日常生活和工作中。生活和工作中。有了电脑的帮助,我们的工作效率得到明显的提升。经济师和经济师和会计师不必一天到晚
4、扎在账本堆里了;会计师不必一天到晚扎在账本堆里了;报社编辑点一下鼠标就能够发稿了;设计人员只需要把数据输入电脑,就能显示出一个精确的三维立体模型了。当我们使用电脑的时候,有没有想过人类是人类是如何教电脑学会这些的呢?如何教电脑学会这些的呢?人类是如何教电脑学会这些的呢?人类是如何教电脑学会这些的呢?上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院5教学目的和任务教学目的和任务n计算机编程是商学院各专业一门重要的学科公共课,主要讲授C+程序设计语言、程序结构和过程化基础,以及在C+程序设计基础上面向对象程序设计的方法。目的是让学生通过学习能够运用C+语言的基本要素,进行基本的结构化程
5、序设计和面向对象的程序设计。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院6n本课程的主要任务是使学生对程序设计入门、掌握程序设计方法以及把握C+程序设计的灵魂。目的是使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C+语言学会解决一般应用问题和本专业某些实际问题,并养成严谨的科学态度和科学的思维方法,从而提高分析和解决实际问题的能力。为后续课程的学习和在使用计算机解决实际问题打下良好的基础。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院7IT与信息革命蒸气机的发明导致了人类对能量转化规律的研究,出现了工业革命。计算机的出现导致了人
6、类对信息处理技术的研究,出现了信息革命。工业社会能量转化规律的研究蒸气机工业革命信息社会信息处理规律的研究计算机信息革命上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院8取势、明道、优术借用长江管理学院的广告“取势、明道、优术”的说法。学习以计算机编程为主要内容的信息处理技术是符合大的发展趋势。“道”是自然界当中的规律,是超越个人存在的,我们需要遵循这个规律。计算机编程也就是学习计算机信息处理规律之一。术即为技术,这里是编程技术技术学习。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院9学习与考核形式学习与考核形式n根据课本将各章节内容进行课堂讲解、讨论和编程实例分析,
7、一般在学完每一部分内容后,会针对特定内容马上进行上机实验。n在课堂讲解、讨论和编程实例分析时,用屏幕教学方法,以便大家能够精力集中在课堂教学之上。n最后期末闭卷考试一次。各部分所占总分的比例如下:n平时成绩 30%n期末考试 70%上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院10试卷结构试卷结构n 填空题或选择题或是非判断题 20%n计算题、分析题 30%n编程题、设计题 50%上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院11第1章C+的初步知识n 1.0 计算机的基本组成,软件与程序n 1.1 从C到C+n 1.2 最简单的C+程序n 1.3 C+程序的构成和
8、书写形式n 1.4 C+程序的编写和实现上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院121.0 计算机的基本组成 n计算机基本组成有五部分:计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备和输出设备。n 控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。n 运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。CPU 主要由运算器与控制器组成,还有寄存器(寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址等)
9、。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院131.0 计算机的基本组成(续)n存储器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。n 输入设备:输入设备是计算机的重要组成部分,输入设备与输出设备合你为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院141.0 计算机的基本组成(续)n输出设备:输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结
10、果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院151.0 计算机的基本组成(续)上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院16 1.0 软件与程序n我们平时对电脑进行的操作是在与电脑软件(Software)打交道。电脑之所以能够帮助人电脑之所以能够帮助人类工作,离不开软件的支持。类工作,离不开软件的支持。那么软件到底是什么?一款软件,往往是由若干个相关的一款软件,往往是由若干个相关的程序程序、运行这些程序所需要的运行
11、这些程序所需要的数据数据和一些和一些额外的文档额外的文档(如软件介绍或帮助文档)等文件组成的。(如软件介绍或帮助文档)等文件组成的。n要设计出一款软件,就必须从程序设计开始。而人们通过编写一款软件(程序),来教会电人们通过编写一款软件(程序),来教会电脑做一些事情。脑做一些事情。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院17n计算机在一系列指令的控制下处理数据,计算机在一系列指令的控制下处理数据,这一系列指令称为计算机程序。这一系列指令称为计算机程序。n最原始的指令指令纯粹由一串数字“0”和“1”组成。n程序是电脑执行一系列有序的动作的集合。n通过一个程序,可以使电脑完成某一
12、类有着共同特点的工作。如求解一个一元二次方程或找出一组数里面最大的一个数。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院18n程序设计到底要做什么?n简单来说程序设计就是教会电脑解决问简单来说程序设计就是教会电脑解决问题。题。n要解决一些,可以将其归结为一种过程和方法。把这种过程和方法称为算法(Algorithm)。如一元二次方程求解的算法:(1)输入各次项系数a、b、c。(2)计算=b2-4ac。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院19(3)判断的大小,如果0,则有实数解,否则就没有实数解。(4)若有实数解,就利用求根公式求出两个解。(5)输出方程的两个
13、实数解,或告知无解。n以上便是用自然语言描述的求解一元二次方程的算法。程序设计(或称计算机编程)所要做的便是探求这种能解决一类问题的算法,并且要将这种算法用计算机能够“看懂”的语言表达出来。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院20n计算机语言n电脑是无法懂得人类的自然语言的。它有着它自己的语言。电脑中最原始的语言是机器语言,它纯粹由一串数字“0”和“1”组成。n这样的语言实在是冗长难记,对一般人来说实在难以入门。接着又发明了汇编语言,机器语言指令被变成人类能够读懂的助记符,如ADD(加法指令),MOV(数据传送,传值)。然而,用汇编语言编一个复杂的程序仍然显得有些困难。
14、上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院21n为了能够让电脑的语言更通俗易懂,更接近人类的自然语言,出现了高级语言。比较著名的高级语言有Basic、delphi、C+、Java 等。本课程中所说的计算机编程是指高级语言的程序设计。n本课程选择微软公司的C+作为教学语言,一方面是因为它是时下流行的高级语言,与Java 也有很多共通之处,另一方面是因为它既能够实现以前的结构化程序设计,方便初学者入门,又能够担当现在流行的面向对象的程序设计。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院22nC语言是1972年贝尔实验室研制成功的。语言本身简洁、使用灵活方便;它既有
15、高级语言的特点,又具有汇编语言的特点。既适用于设计和编写大的系统程序,又适用于编写小的控制程序,大多数系统软件和许多应用软件都是用C语言编写的。n随着C语言应用的推广和软件工程规模的扩大,难以适应开发特大型的软件等。1.1 从C到C+上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院23n20世纪80年代初贝尔实验室在C语言的基础上开发了C+。C+保留了C语言原有的所有优点,增加了面向对象的机制。增加了面向对象的机制。nC+与C兼容。用C语言写的程序基本上可以不加修改地用于C+。C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计。n本课程既讲授C+在面向过程程序设计中的
16、应用,也介绍C+在面向对象程序设计中的应用。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院24简单的简单的C+程序介绍程序介绍高级语言编译过程高级语言编译过程源程序源程序(文本文件)(文本文件)*.CPP目标文件目标文件(二进制文件)(二进制文件)*.OBJ可执行文件可执行文件(二进制文件)(二进制文件)*.EXE库文件库文件(各种函数)(各种函数)在在Vitual C+系统中,可直接从源程序编译连接至可执行系统中,可直接从源程序编译连接至可执行程序,但依然要生成程序,但依然要生成*.OBJ及及*.EXE这两个文件。这两个文件。F7编译编译连接连接compilelink上海财经大
17、学信息管理与工程学院上海财经大学信息管理与工程学院251.2 最简单的C+程序例1.1 输出一行字符:“This is a C+program.”。程序如下:1.#include /包含头文件iostream2.using namespace std;/使用命名空间std3.int main()4.5.coutThis is a C+program.;6.return 0;7.n在运行时会在屏幕上输出以下一行信息:This is a C+program.主函数主函数函数体函数体开始开始函数体结束函数体结束分号,一分号,一条完整语条完整语句的结束句的结束符符注释或注释或说明说明上海财经大学信息管
18、理与工程学院上海财经大学信息管理与工程学院26例1.2 求a和b两个数之和。可以写出以下程序:1./求两数之和 (本行是注释行)2.#include /预处理命令3.using namespace std;/使用命名空间std4.int main()/主函数首部5./函数体开始6.int a,b,sum;/定义变量7.cinab;/输入语句8.sum=a+b;/赋值语句9.couta+b=sumendl;/输出语句10.return 0;/如程序正常结束,向操作系统返回一个零值11./函数结束上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院27#include nC+的输出和输入是
19、用“流”(stream)的方式实现的。“流流”就是“流流动”,是物质从一处向另一处流流动的过程。C+流流是指信息从外部输入设备(如键盘和磁盘)向计算机内部(即内存)输入和从内存向外部输出设备(如显示器和磁盘)输出的过程,这种输入输出过程被形象地比喻为“流流”。为了实现信息的内外流流动,C+系统定义了I/O类库,其中的每一个类都称作相应的流流或流流类,用以完成某一方面的功能。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院28nC+键盘输入和屏幕输出的cin、cout”和“cout”就必须使用预处理命令把头文件stream包含到本文件中:#includen尽管cin和cout不是C+
20、本身提供的语句,但是在不致混淆的情况下,为了叙述方便,常常把由cin和流提取运算符“”实现输入的语句称为输入语句或cin语句,把由cout和流插入运算符“”实现输出的语句称为输出语句或cout语句。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院29n所谓namespace,是指标识符的各种可见范围。C标准程序库中的所有标识符都被定义于一个名为std的namespace中。nC+标准库中的类和函数是在命名空间std中声明的,因此程序中如果需要用到C+标准库(如iostream),就需要用“usingnamespacestd;”作声明,表示要用到命名空间std中的内容。using n
21、amespace std;上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院30编译过程:编译过程:1)启动)启动Visual C+,选择选择“文件文件”菜单中的菜单中的“新建新建”命令,选择命令,选择“文件文件”标签中的标签中的“C+Source File”选项。选项。2)选择源程序存放的目录和输入源程序名,单击)选择源程序存放的目录和输入源程序名,单击“确定确定”。3)在编辑器中编写源程序。)在编辑器中编写源程序。4)单击)单击F7或或“编译编译”中的中的“重建全部重建全部”编译源程编译源程序,若编译通过,单击序,若编译通过,单击“Execute program”按钮,按钮,在在
22、DOS屏上看结果,任按一键返回编辑器。屏上看结果,任按一键返回编辑器。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院31n如果在运行时从键盘输入 123 456n则输出为a+b=579n注意输入的两个数据间用一个或多个空格间隔,不能以逗号或其他符号间隔。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院321.4 C+程序的编写和实现一个程序从编写到最后得到运行结果要经历以下一些步骤。1.用C+语言编写程序用高级语言编写的程序称为“源程序”(source program)。C+的源程序是以.cpp作为后缀的(cpp是c plus plus 的缩写)。2.对源程序进行编译
23、为了使计算机能执行高级语言源程序,必须先用一种称为“编译器(complier)”的软件(也称编译程序或编译系统),把源程序翻译成二进制形式的“目标程序(object program)”。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院33编译是以源程序文件为单位分别编译的。目标程序一般以.obj或.o作为后缀(object 的缩写)。编译的作用是对源程序进行词法检查和语法检查。编译时对文件中的全部内容进行检查,编译结束后会显示出所有的编译出错信息。3.将目标文件连接在改正所有的错误并全部通过编译后,得到一个或多个目标文件。此时要用系统提供的“连接程序(linker)”将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件,它的后缀是.exe,是可以直接执行的。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院344.运行程序 运行最终形成的可执行的二进制文件(.exe文件),得到运行结果。5.分析运行结果如果运行结果不正确,应检查程序或算法是否有问题。上海财经大学信息管理与工程学院上海财经大学信息管理与工程学院35
限制150内