版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++高级程序设计计算机程序:完成特定功能的语句序列程序设计:用计算机语言编制程序的过程计算机语言:人与计算机交流的工具,一套语法规则,语句(语法、语义)C++概述1.1计算机语言与程序计算机语言与程序经历了以下三个阶段的发展:(本部分自学)机器语言汇编语言高级语言1960年开始,高级程序设计语言经历了如下过程:ALGOL60→CPL→BCPL→B→C→C++
1972~1973年由美国Bell实验室D.M.Retchie完成,与著名的UNIX操作系统相伴出现(1983年ANSIC)(1987年87ANSIC)UNIX操作系统:90%代码用C语言完成。由K.Thompson和D.M.Retchie开发AmericanNationalStandardInstitute1.2从C到C++C语言的特点(1)语言简洁、紧凑、使用方便、灵活。C语言只有32个关键字,程序书写形式自由。(2)具有丰富的运算符和数据类型。(3)C语言可以直接访问内存地址,能进行位操作,使其能够胜任开发操作系统的工作。(4)生成的目标代码质量高,程序运行效率高。(5)可移植性好。C语言也具有它的局限性(1)C语言数据类型检查机制较弱,这使得程序中的一些错误不能在编译时被发现。(2)C语言本身几乎没有支持代码重用的语言结构,因此一个程序员精心设计的程序,很难为其他程序所用。(3)当程序达到一定规模时,程序员很难控制程序的复杂性。1980年贝尔实验室的BjarneStroustrup博士及其同事对C语言进行了改进和扩充,并引入了类的概念。1983年,由RickMascitti提议正式命名为C++(CPlusPlus)因为在C语言中,运算符“++”是对变量进行增值运算,那么C++的喻义是对C语言进行“增值”。目前使用较广泛的版本有:
VC++(VisualCplusPlus)
BC++(BorlandCplusPlus)等C++语言包括过程性语言部分和类部分。过程性语言部分和C语言没有本质差别。类部分是C中没有的,它是面向对象程序设计的主体。1.3程序设计方法1.3.1结构化程序设计方法
结构化程序设计的主要思想是:将任务按功能分解并逐步求精,分解成较小的、功能完整的模块,每一个模块用一个过程或函数完成。程序员把数据与程序分开存储,将程序看成处理数据的一系列过程。其主要缺点是,程序依赖于数据,当数据结构发生变化时,必须对程序进行修改。代码不能重用。
1.3.2面向对象的程序设计方法(ObjectOrientedProgramming,简称OOP)方法是近年来十分流行的一种程序设计方法,它试图用客观世界中描述事物的方法来描述一个程序要解决的问题。对象是客观世界中一个实际存在的事物,比如一个具体的人就是一个对象,将一般人的共同属性抽象出来就可以构成“类”,如“人”类,它的静态属性有姓名、年龄、性别、身高、体重,动态属性有思考、走路、说话、吃饭、睡觉,将静态属性作为类的数据成员,而将动态属性作为类的执行代码。
优点是代码可以重用。
面向对象的程序设计的要素为:
1.封装性2.继承性3.重载性4.多态性
这部分内容,随着课程深入,再逐步讲解。1.4简单的C++程序介绍[例1.1]一个简单的C++程序#include<iostream.h>voidmain(void){intnum,square;//定义变量num、squarecout<<"num=";/*输出提示信息*/cin>>num;//输入变量num的值
square=num*num;//求num的平方
cout<<"num的平方为:"<<square<<'\n';//输出}函数体程序运行时,输出:num=6回车(输入)
输出:num的平方为:36表示主函数字符串换行符输入输出流头文件f函数体中…[例1.2]一个由两个函数构成的C++程序#include<iostream.h>intsum(intx,inty)//A{ intz; z=x+y; returnz;//B
}voidmain(void){ inta,b,c;//定义变量a和b a=3;b=5;//给变量a和b赋值
c=sum(a,b);//C
求a与b之和,赋给变量c cout<<c<<'\n';//输出c}解释函数及函数调用,形参和实参,函数的返回值。C++程序的构成1.函数构成:一个主函数、若干个函数2.一个函数由两部分组成:(1)函数首部说明(函数名、函数参数)(2)函数体部分最外层{}中内容(变量定义、执行部分)3.不论main()位置如何,程序总是从main开始执行。4.可一行多句,可一句多行。5.语句和定义结束符;不可少。6.可以用/*.....*/或//对程序的任何部分进行注释。库函数自定义函数1.5用VisualC++开发程序1.5.1C++程序的开发步骤和上机调试流程
C++是编译型语言,设计好一个C++源程序后,需要经过编译,再连接生成可执行的程序文件,然后执行。一个C++程序的具体开发步骤为:⑴分析问题,产生解题步骤,即解题算法。⑵根据解题算法编写C++源程序。⑶利用编辑器编辑源程序并保存。C++源程序文件的扩展名为“.cpp”。⑷编译源程序,并产生目标程序。在Windows操作系统中,目标程序文件的扩展名为“.obj”。⑸连接。将一个或多个目标程序与本程序所引用的库函数进行连接后,产生一个可执行文件。在Windows操作系统中,可执行文件的扩展名为“.exe”。⑹调试程序。运行可执行文件,分析运行结果。若结果不正确,则要修改源程序,并重复以上过程,直至得到正确的结果为止。⑺优化。进一步提高程序的运行效率,主要通过改进所用算法,缩短程序运行时间;通过合理分配使用内存,减少所用存储空间。1.5.2VisualC++6.0调试C++程序的操作过程
使用AppWizard建立一个控制台应用程序的步骤如下:⑴启动集成开发环境(如图1.5所示),进入VisualC++6.0环境(如图1.6所示)。图1.5启动集成开发环境图1.6VisualC++6.0界面⑵选择【File】菜单下的【New】菜单项,出现New对话框;选择【Projects】标签,从列表中单击Win32ConsoleApplication项;在右侧的Projectsname编辑框中输入工程的名称(如test),在Location编辑框中指定该工程文件的保存路径,然后单击【OK】按钮(如图1.7所示)。图1.7New对话框⑶接着出现一个询问项目类型的程序向导,如图1.8所示。图1-8询问项目类型对话框选项的含义:Anemptyproject:此选项将创建一个没有任何文件的空工程,文件待以后添加。Asimpleapplication:一个简单的应用程序。工程内包含一个文件,该文件内已定义好了main()函数。A“HellowWorld”application:一个能显示HellowWorld的应用程序。工程内已包含一个文件,该文件内已定义好了main()函数,且main()函数内包含了显示HellowWorld的代码。AnapplicationthatsupportsMFC:一个支持MFC的应用程序,且已定义好了全局对象theApp。选取Anemptyproject选项后,单击【Finish】按钮,出现NewProjectInformation对话框,这个对话框中只是总结了新工程的一些信息,直接单击【OK】按钮完成新工程的创建。⑷创建完EmptyProject工程后,整个工程只是一个“空壳”,需再向工程内添加各种文件,本例只向工程内添加一个C++源程序文件。步骤如下:选取【Project|AddToProject|New】菜单,出现New对话框,选择Files标签,再选取C++SourceFile选项,在右侧的文件编辑框中给文件起个名字,如hello(扩展名自动为.cpp),其他输入框中内容不用动(确保AddtoProject复选框为选中状态),单击【OK】按钮(如图1.9所示)。图1.9New对话框完成以上工作后,为了打开刚添加的文件,在工程工作空间窗口Workspace中选取FileView页,该页中列出了当前工程的所有文件,点击testfiles左边的+号,再点击Sourcefiles左边的+号,可以看到hello.cpp文件,双击之,右侧代码区即为该文件的编辑区。在该区域内输入程序代码即可(如图1.10所示)。图1.10为hello.cpp输入代码习题11.单项选择题(1)一个c++程序可以包含任意多个函数,但有且仅有一个——,一个c++程序总是从——开始执行。A.过程B.主函数C.函数D.include(2)在c++中,每个语句和数据定义是用——结束。A.句号B.逗号C.分号D.括号(3)c++规定:在一个源程序中,main函数的位置——。A.必须在最开始B.必须在系统调用的库函数的后面C.可以在任意位置D.必须在源文件的最后(4)面向对象程序设计将数据与——放在一起,作为一个相互依存、不可分割的整体来处理。A.对数据的操作B.信息C.数据隐藏D.数据抽象习题12.概念题(1)简述面向过程和面向对象程序设计的基本思路。(2)面向对象程序设计语言有哪些特征?(3)简述c++程序开发的步骤。(4)在Visualc++6.0集成环境下,如何创建一个控制台工程?3.用传统流程图或N-S流程图表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川电影电视学院《非法干扰、扰乱行为》2021-2022学年第一学期期末试卷
- 石河子大学《影视作品赏析》2022-2023学年第一学期期末试卷
- 石河子大学《歌曲与旋律写作常识(1)》2023-2024学年第一学期期末试卷
- 石河子大学《版画》2021-2022学年第一学期期末试卷
- 沈阳理工大学《数据结构》2022-2023学年期末试卷
- 沈阳理工大学《科技文献检索》2023-2024学年第一学期期末试卷
- 大学校医院工作总结
- 沈阳理工大学《化工原理》2021-2022学年第一学期期末试卷
- 规范合同管理流程的通知
- 合肥住房租赁合同
- 小学数学创新作业设计研究的中期成果
- 糖皮质激素在呼吸科应用课件
- 二年级《小鲤鱼跃龙门》阅读题及答案
- 美术新课标培训课件
- 医院医疗质量管理委员会会议记录五篇
- WIFI基础知识简介课件
- 以冬奥会为主题创业计划书
- 企业合规与风险管理的法律责任与风险承担
- 运用PDCA提高病历质量
- 工会爱心母婴室管理制度
- 《温度传感器》课件
评论
0/150
提交评论