版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1计算机语言发展概述C++语言是当前应用范围很广泛的程序设计语言,它是C语言的继承、丰富和发展,它适合开发面向过程的程序,更适合开发面向对象的程序。本章节主要介绍面向过程和面向对象的概念,简单的C++程序以及VisualC++6.0集成开发环境。计算机语言是驱动计算机进行工作的语言。随着计算机应用领域的不断扩大,计算机语言也进一步完善和发展,其功能不断壮大,并朝着易读、易维护和易编程的方向发展。下一页返回1.1计算机语言发展概述1.1.1程序和程序设计语言计算机系统由硬件和软件两部分组成。一个计算机要充分发挥其功能,必须依靠硬件和软件的良好结合。计算机系统的硬件是构成计算机系统的物理实体,它包括组成计算机的各个部件及外部设备。计算机部件主要包括微处理器芯片,存储器芯片和输入、输出接口芯片等。能使计算机硬件系统顺利和有效工作的程序集合称为软件。计算机的软件系统可分为系统软件和应用软件。上一页下一页返回1.1计算机语言发展概述要使计算机解决各种问题就必须规定计算机执行的动作,计算机执行的动作就是计算机的指令,执行动作的集合构成计算机程序。抽象地说:指令是计算机可以识别的命令。程序是计算机完成某种功能的指令集合。目前计算机能直接识别的指令代码只有“0”和“1”。人通过计算机可以接收的语言来指挥计算机,目前计算机程序设计语言可以分为机器语言、汇编语言和高级语言。机器语言是用二进制指令表示的、计算机能够直接识别并执行的语言,执行速度快是计算机机器语言的主要优点。上一页下一页返回1.1计算机语言发展概述汇编语言是用一些易读、易记的助记符来表示机器指令,如ADD、CALL等。使用汇编语言编写程序提高了编程速度,也能够编写出质量较高的程序,检查、维护也比较容易。但汇编语言抽象层次低,程序员编写程序的工作量还是比较大。
高级语言屏蔽了机器语言的细节,提高了语言抽象层次。程序中采用了具有一定含义的、容易理解的执行语句。高级语言不受计算机类型的限制,通用性强,易于理解、学习和掌握。使用高级语言减少了的编程工作量。目前比较广泛使用的高级语言有BASIC、FORTRAN、PASCAL和C语言。而C++则是一个功能强大、应用广泛、面向过程和面向对象兼顾的程序设计语言。上一页下一页返回1.1计算机语言发展概述1.1.2结构化程序设计软件设计的主要工作就是设计问题求解的过程。早期的计算机主要用于数学计算,为了完成计算任务,必须设计或采用一个计算方法和解决问题的过程。20世纪中期出现了结构化编程方法,提高了编程语言的层次。结构化数据、结构化语句以及数据和过程抽象等概念使程序更便于体现客观事物的结构和逻辑含义。结构化程序设计采用了模块分解、功能抽象以及自顶向下不断细划的方法,有效地将一个较复杂的程序设计任务分解成许多易于控制和处理的子任务,便于开发和维护。上一页下一页返回1.1计算机语言发展概述面向过程是程序设计的一种传统的方法,它把待解决的问题按功能划分为若干个相对独立的小问题,针对每个小问题编写相对独立的程序模块,并由主程序按解决问题的顺序组合为程序模块,进而形成完整的程序。这种面向过程的编程方法通过程序模块的调用关系来完成整个程序的功能。在问题比较复杂的情况下,模块之间的调用关系很容易变得复杂和混乱。调试和修改程序的难度比较大。当某一功能改变时,一点微小的变化都需要重新修改和调试程序。虽然结构化程序设计方法具有很多优点,但它仍然是一种面向过程的程序设计方法。它把数据和处理数据的过程分离为互相独立的实体,当数据改变时,所有相关的处理过程都要进行相应的修改。上一页下一页返回1.1计算机语言发展概述1.1.3面向对象程序设计
20世纪90年代初开始出现了面向对象的程序设计方法。面向对象的程序设计方法把求解问题中所有的独立个体都看做不同的对象,与对象相关的数据和对数据操作的处理方法都放在一起,成为一个相互依存、不可分离的整体。面向对象的程序设计方法将具有共同特性的对象抽象出共同的属性而形成类。类中的数据一般只能用本类的方法进行处理。类通过简单的外部接口与外界发生联系。对象与对象之间通过消息进行通信。这样,程序模块间的关系就更为简单,程序模块的独立性、数据的安全性有了较好的保障。上一页下一页返回1.1计算机语言发展概述面向对象方法的基本原则是直接面对客观存在的事物进行软件开发,将人们在日常生活中习惯的思维方法和表达方法应用到软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到直观的客观现实,回到人们通常的思维方法之中。上一页返回1.2C++语言的特点及其程序的开发过程C语言是从实验室走出来的程序设计语言,在结构化程序设计阶段起到了重要的作用。但在程序设计语言的发展过程中,面向对象的程序设计方法将代替面向过程的程序设计方法,其对应的程序设计语言也就应运而生,这就是C++语言。下一页返回1.2C++语言的特点及其程序的开发过程1.2.1C++语言的特点C++语言是在C语言基础上为支持面向对象的程序设计而研制的一个通用的程序设计语言。最初的C++称为“带类的C”,1983年正式命名为C++。C++的标准化工作从1989年开始,1994年制定了ANSIC++标准草案。现在普遍使用的是Microsoft公司的VisualC++6.0版本和Borland公司的C++Builder3.0及以上版本,它们都是在Windows操作系统环境下运行的可视化集成开发工具。上一页下一页返回1.2C++语言的特点及其程序的开发过程C++语言有如下特点:(1)类和数据封装:C++语言中的类是对问题空间的高度抽象和概括,是数据抽象及信息隐藏的工具。抽象的数据和相关的操作被封装在一个类中。对象可以被理解为特定类型的“变量”,对象之间可以通过发送和接收消息相互联系,接收消息的对象通过调用方法来实现相应的操作。(2)访问控制:类的成员包括公有、私有和保护成员,它们有不同的访问权限。声明为公有的成员,允许通过相应对象进行访问;私有成员只能由类的成员函数访问;保护成员可以由该类及其派生类的成员函数访问。通过将数据成员设置为不同的访问权限,实现了信息的隐藏。上一页下一页返回1.2C++语言的特点及其程序的开发过程(3)构造函数和析构函数:类可以包含一组构造函数和析构函数。构造函数是在创建一个对象时由系统自动调用该函数以完成对象数据成员的初始化工作。析构函数是在一个特定对象撤销时系统自动调用该函数以完成正常的清除工作。(4)对象和消息:对象是面向对象程序设计的基本元件。对象通过消息向其他对象发送要操作的信息,接收消息的对象根据消息的内容调用相应的函数。C++中的消息传递类似于C语言中的函数调用。上一页下一页返回1.2C++语言的特点及其程序的开发过程(5)函数和运算符重载:C++允许将已有的函数或运算符重新赋予新的含义,使得它们可以用于用户所希望的操作对象。运算符和函数的重载使得用户可以以更加自然的方式实现对对象的操作。(6)友元:友元是C++语言的又一个主要特性。通常类的私有成员禁止类外函数和类的直接访问,而友元机制允许有选择地突破这一限制。在类定义中声明非成员函数或其他类为该类的友元函数或友元类,这些友元就可以访问该类的私有和保护成员。上一页下一页返回1.2C++语言的特点及其程序的开发过程(7)继承性和派生类:在类的定义时,会出现多个类享有相似特征的情况,这时,不必在每个类中复制这些成员,可以通过定义一个包含它们共同成员的基类,然后通过类的继承,从基类派生出派生类。通过继承机制,为派生类增加新的操作和成员,改写基类的部分内容,得到更加适用的类。继承机制有力地支持了面向对象的程序设计思想。(8)多态性和虚函数:多态性是指一种语义多种含义。在C++中的虚函数支持动态联编,从而也支持了多态性。多态性允许在设计中使用高级的抽象,使得高层次代码只需要写一次,通过提供不同的底层服务来满足发展的需求,进而提高了代码的重用性。上一页下一页返回1.2C++语言的特点及其程序的开发过程1.2.2C++程序的开发过程C++语言程序开发的过程要经过源代码编辑、源代码编译和运行目标代码三个步骤。程序员根据问题求解的需要编制出源程序,在相应的编辑器上将其录入并假设该文件名为File.cpp。经过编译该文件后将生成对应的目标文件,其文件名为File.obj。File.obj文件是源程序的机器语言组成的目标代码,该文件还不是可执行文件,因为目标代码只是一个个的程序块,需要相互连接成为一个适应操作系统环境的程序整体。上一页下一页返回1.2C++语言的特点及其程序的开发过程连接程序将源代码程序生成的多个目标代码文件和系统提供的库文件中的有关代码全部连接在一起,生成一个可以执行的文件,其文件名为File.exe。执行File.exe文件,程序被执行后,一般会在屏幕上输出程序运行结果。用户可根据运行结果判断程序是否有错误。一个程序编写好后,在生成可执行文件之前需要改正编译和连接时出现的致命性错误或警告,最后才能生成没有错误的可执行文件。上一页返回1.3C++程序的结构1.3.1简单的C++程序【例1.1】C++程序示例:#include<iostream.h>intFindbig(intx,inty){returnx>y?x:y;}voidmain(){inta,b,c;cout<<"请输入a和b的值:";cin>>a>>b;c=Findbig(a,b);cout<<"a="<<a<<",b="<<b<<",其中较大值为"<<c<<endl;}假设运行该程序,从键盘上输入34和48两个整数,按回车键。下一页返回1.3C++程序的结构【例1.1】程序的运行结果如下:请输入a和b的值:3448<CR>a=34,b=48,其中较大值为48该程序的功能是从计算机键盘上输入两个整数,并将这两个整数和其中较大的数显示在计算机屏幕上。上一页下一页返回1.3C++程序的结构在上述程序中cin表示标准输入设备键盘,“>>”是预定义的提取操作符。在一条输入语句中,可多次使用“<<”提取操作符,每一次都能够从键盘输入上提取数据为其右边的变量取得赋值。在键盘上输入多个数据时,必须用空白符(空格,制表符或回车键)分隔各数据。数据输入结束时按回车键。程序中cout表示标准输出设备显示器,“<<”是插入操作符,它表示向显示器输出(插入)数据。在一条输出语句中,也可以多次使用“<<”插入操作符。上一页下一页返回1.3C++程序的结构1.3.2C++程序的基本结构1.预处理命令C++预处理命令由“#”字符开头,C++提供了三类预处理命令:宏定义、文件包含和条件编译命令。文件包含预处理命令行以#include开头,在其后的尖括号内可以引用C++系统头文件或用户自定义的文件。2.输入/输出C++系统函数又叫标准函数或库函数。它是由C++语言系统本身为用户提供的一系列具有各种用途的函数的总称。在iostream.h文件中预定义了cin和cout流对象以及“>>”和“<<”操作符,使计算机能够根据这些流对象和操作符进行相应的操作。上一页下一页返回1.3C++程序的结构3.函数主函数main是C++程序执行的起始点,它由主函数头和主函数体组成。主函数头以voidmain()为标识。主函数体在其后的一对大括号内。main()前的void是函数返值类型标识符,它表示无返回值的函数,其小括号内还可以包含参数。函数体中第一条语句是变量定义语句,将a,b,c定义为整型变量;第二条语句是输出语句,将插入操作符“<<”后的字符串显示在屏幕上;第三条语句是输入语句,从键盘上输入两个整数分别赋值给变量a和b;第四条语句是赋值语句,上一页下一页返回1.3C++程序的结构利用变量a和b的值调用Findbig()函数并将返值赋给变量c;第五条语句是输出语句,依次将每个插入操作符<<后的数据项显示在屏幕上。函数由函数头和函数体组成。源程序中的Findbig()是函数名。主函数调用函数时,使用函数名。函数头Findbig()前的int表示该函数的返值为整型数,Findbig后面括号内是函数的形式参数。函数体的内容安排在函数头下面的一对大括号内。上一页下一页返回1.3C++程序的结构4.语句语句是组成程序的基本单元。函数由若干条语句构成,其中空函数是没有函数体的。语句由单词组成,单词之间用空格符分隔。C++程序中的语句以“;”结束,“;”既是语句的组成部分又是语句的分隔符。在C++语句中,表达式语句使用较多。表达式语句由一个表达式后面加分号组成。一般而言,一个表达式加上分号就构成一个语句。只有分号而没有表达式的语句称为空语句。除了表达式语句和空语句之外,C++还有选择结构语句、循环语句及转移控制语句等。5.变量多数程序都需要声明和使用变量。变量的类型很多,这些将在后面的章节中予以介绍。上一页下一页返回1.3C++程序的结构1.3.3C++程序的书写格式和注释1.C++程序的书写格式C++程序的书写格式基本上与C语言程序书写格式相同,其基本原则为:一行一般写一条语句,较短的语句一行可以写多个。长语句可以一条写多行。分行的原则是不能将一个单词分开。用双引号括起来的字符串最好不要分开,如果一定要分开,有的编译系统要求在行的末尾加续行符“\”。C++程序在书写时要尽量提高可读性,因此,采用适当的缩进格式书写是常用的方法。表示同一类事物的语句行要对齐。例如:一个循环的循环体中的各个语句要对齐;同一个选择语句的成分子句也要对齐等。上一页下一页返回1.3C++程序的结构2.C++程序的注释注释在程序中的作用是对程序进行注解和说明。在源程序中加入注释,帮助我们对程序功能的理解,增强了程序的可读性。编译程序在对源程序进行编译时会自动忽略注释部分。因此注释部分对于程序的执行功能没有任何作用。在源程序的任何地方都可加入注释,但多数情况下是在一个语句行的结尾或单独一行进行注释(称为注释行)。C++有两种加注释的方法:其一是使用双斜线“//”,从它开始到该语句行结束的所有内容都被看做为注释;其二是在“/*”和“*/”之内的所有内容被看做注释。这是一种沿用C语言的注释方法。上一页返回1.4VisualC++6.0开发环境目前C++有多种版本,但使用较为普遍的是VisualC++6.0。VisualC++6.0是美国Microsoft公司研制开发的可视化C++语言,它是一个集C++程序源程序编辑、编译、连接、调试、运行和在线帮助等功能于一体的软件开发工具。下面将简单介绍VisualC++6.0开发环境,使初学者掌握应用VisualC++集成环境进行C++程序的编辑、编译、连接和运行一个简单程序的全过程。下一页返回1.4VisualC++6.0开发环境1.4.1VisualC++6.0集成开发环境简介VisualC++是Microsoft公司提供的在Windows环境下应用程序开发的C/C++编译器,它是MicrosoftVisualStudio套件的一个组成部分。相比其他的编程工具而言,VisualC++在提供可视化的编程方法同时,也适应编写直接对系统进行底层操作的程序。随VisualC++一起提供的Microsoft基础类库(MicrosoftFoundationClassLibrary,MFC)对Windows2000/NT/XP所用的Win32应用程序接口(Win32ApplicationProgrammingInterface)进行了封装,这使得Windows2000/NT/XP上一页下一页返回1.4VisualC++6.0开发环境应用程序的开发可以使用完全的面向对象的方法进行,从而能够大量地节省应用程序的开发周期,降低开发成本,也使Windows程序员从大量的繁杂的劳动中解脱出来VisualC++软件包含有许多单独的组件,例如编辑器、编译器、连接器、生成实用程序、调试器以及各种各样为开发MicrosoftWindows下的C/C++程序而设计的工具。VisualStudio把所有的VisualC++工具结合在一起,集成为一个整体,通过一个由窗口、对话框、菜单、工具栏、快捷键等组成的完整系统,就可以观察和控制整个开发过程。该环境就是VisualC++中所能“看见”的所有东西,一般情况下,术语VisualC++就是指这个产品,又是指它的开发环境。上一页下一页返回1.4VisualC++6.0开发环境VisualC++6.0集成开发环境的操作界面如图1−1所示。最顶行是窗口标题栏,将显示当前编辑的程序文件名。第二行是菜单栏,菜单栏中的每一项都对应一个下拉菜单;下拉菜单中的每一项都是一条操作命令,具有一定的操作功能。第三行是按钮工具栏,单击其中各项,可以完成相应的规定操作。屏幕中间的左半区是工作区窗口,右半区是程序编辑窗口。屏幕的最下部是状态输出窗口。上一页下一页返回1.4VisualC++6.0开发环境1.4.2VisualC++6.0程序的开发流程用C++语言编写好一个完整的程序后,要使程序达到预期的功能,要有如下四个步骤:第一步要上机编辑源程序,文件扩展名为.cpp,第二步是编译源程序生成目标代码文件,目标代码文件名与源程序文件名相同,其扩展名为.obj。第三步运行连接程序,将目标代码文件与C++的库文件相连接生成可执行文件,可执行文件名与源程序的文件名相同,扩展名为.exe。第四步运行可执行文件,调试检查程序中的错误及验证能否实现预期的功能。第一次使用VisualC++6.0集成开发环境之前,最好建立一个专用子目录。该子目录专门用于保存C++源程序、目标文件、可执行文件以及系统自动生成的其他文件。上一页下一页返回1.4VisualC++6.0开发环境若在计算机上安装好了VisualC++6.0,应用该开发环境开发C++程序步骤如下:(1)启动VisualC++6.0集成开发环境。单击桌面左下角的“开始”→“程序”→“MicrosoftVisualStudio6.0”→“MicrosoftVisualC++6.0”命令,即可进入VisualC++6.0集成开发环境。(2)创建一个工程。单击“文件”→“新建”命令,弹出新建对话框。单击“工程”选项卡(见图1−2),在“工程”列表中选择“Win32ConsoleApplication”上一页下一页返回1.4VisualC++6.0开发环境(Win32控制台应用程序),在“工程”文本框输入工程名称,再在“位置”文本框中指定文件路径;单击“确定”按钮。在弹出的“Win32ConsoleApplication-Step1of1”对话框中选择“Anemptyproject”选项(见图1−3),然后单击“完成”按钮。再在“NewProjectInformation”对话框(见图1−4)中单击“确定”按钮,即完成了对一个工程的创建工作(见图1−5)。上一页下一页返回1.4VisualC++6.0开发环境(3)创建编辑C++源程序。单击菜单“工程”→“添加工程”→“新建”命令,在弹出的“新建”对话框的文件列表中选择“C++SourceFile”(见图1−6),在“文件”文本框中输入文件名,单击“确定”按钮,完成新建C++源程序文件工作,进入一个编辑C++源程序的窗口。(4)编辑C++源程序文件的内容。在文件编辑窗口中输入源程序代码,输入完程序代码后单击菜单“文件”→“保存”命令保存已经输入的源程序文件(见图1−7)。上一页下一页返回1.4VisualC++6.0开发环境(5)编译程序源文件。源程序文件编辑完成后,要将其编译成目标文件。编译时,在VisualC++6.0集成开发环境的菜单栏中单击“编译”→“编译”命令,即可对编辑窗口中的源程序文件进行编译,生成与源文件名相同、扩展名为.obj的目标文件。编译一个源程序的过程是:首先要处理预处理命令行,将文件包含命令所指定的头文件用实际的头文件内容代替,注意,使用#include包含预处理命令也可以包含.cpp的程序文件;然后删除所有的注释内容,用一个空格取代;再按行从上到下地进行语法分析;最后生成对应的目标文件。上一页下一页返回1.4VisualC++6.0开发环境编译时检查出的错误分为两类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山河为卷秋日为师-高中二年级地理“秋季户外探索”研学实践教学设计
- 九年级物理中考二轮复习:基于“家庭智能照明系统”的跨学科实践教学设计
- 2026年六盘水市钟山区中小学编制教师招聘考试备考试题及答案详解
- 2026年新余市国有资产经营有限责任公司招聘6人考试备考题库及答案详解
- 2026年6月永修县总医院面向社会公开招聘工作人员笔试备考题库及答案详解
- 2026年行政管理人员面试题库及答案参考
- 污水处理公司工艺改进管理制度
- 宗门大赛笔试题及答案
- 工贸笔试卷答案及试题
- 漫画笔试面试题及答案
- 五年级数学下册期末必考《水中浸物问题》
- 山东圣泉新材料股份有限公司年产1000吨特种环氧树脂技改项目环评资料环境影响
- 2024年常州经济开发区招聘政府雇员笔试真题
- 2025届北京市海淀区清华附中七下生物期末考试模拟试题含解析
- 石油化工工程建设设计概算编制办法
- 数据库应用技术-第三次形考作业(第10章~第11章)-国开-参考资料
- 【MOOC】走近马克思-暨南大学 中国大学慕课MOOC答案
- 低温甲醇洗脱硫脱碳技术
- 会计事务所业务合作协议
- 国家开放大学理工英语1(12套)
- 外墙三明治板施工方案
评论
0/150
提交评论