




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1章 C+概述 本章学习重点掌握内容:计算机语言发展的历程过程化程序设计和面向对象的程序设计的基本思想和主要特点简单的C+程序结构C+开发程序的步骤8/12/20221第1章 C+概述1.1 计算机程序设计语言的发展 1.2 过程化程序设计 1.3 面向对象的程序设计 1.4 简单的C+程序介绍 1.5 程序开发的过程 1.6 C+上机实践 8/12/202221.1 计算机程序设计语言的发展 引言:一、什么是计算机语言 计算机语言通常是能完整、准确和规则地表达人们的意图,并用以 指挥或控制计算机工作的“符号系统”。当使用计算机解决问题时,首先将解决问题的方法和步骤按照一定的顺序和规则用计算
2、机语言描述出来,形成指令序列,然后由计算机执行指令,完成所需的功能。二、计算机程序设计语言的发展 机器语言-汇编语言-高级语言 8/12/202231.1.1 机器语言阶段 一、什么是机器语言(第一代计算机语言 ) 机器语言(Machine Language)是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合。它是面向机器的语言,是计算机唯一可直接识别的语言。用机器语言编写的程序称为机器语言程序(又称目标程序)例如, 某种计算机的指令为:10110110 00000000 表示进行一次加法操作10110101 00000000 表示进行一次减法操作二、机器语言的优缺点优点:能直接
3、在计算机上运行,运行的速度快,效率高。缺点:机器语言难于记忆也难于操作、代码编程繁琐、易错;而且编写的程序紧密依赖计算机硬件,程序的可移植性差。 8/12/202241.1.2 汇编语言阶段 一、什么是汇编语言(第二代计算机语言) 汇编语言(Assembly Language)是采用能反映指令功能的助记符来表达计算机语言,克服机器语言的缺点,使语言直观、便于记忆和理解。汇编语言也是面向机器的程序设计语言,每条汇编语言的指令对应了一条机器语言的指令,不同类型的计算机系统一般有不同的汇编语言。 例如,用汇编语言编写的程序如下: MOV AL 10D / 将十进制数10送往累加器 SUB AL 12
4、D / 从累加器中减去十进制数12二、 汇编过程三、优缺点 比起机器语言在很多方面都有优越性,但仍然依赖于计算机的硬件,移植性差。运行汇编程序机器语言程序汇编语言程序8/12/202251.1.3 高级语言阶段 一、什么是高级语言(第二代计算机语言)高级语言(High-Level Language)是接近于数学语言或自然语言,同时又不依赖于计算机的硬件,编出的程序能在所有的计算机上通用。例如,用C+语言编写的程序片断如下: int i , j , k ; / 定义变量 i , j , k cin i j ; / 输入i , j的值 k=i*j ; / 将变量i , j的值相乘,结果赋给变量k二
5、、编译和连接过程注:在上图中,高级语言经过编译后,得到目标程序(.obj),再与库程序连接生成可执行程序(.exe)三、高级语言主要好处编 译连 接高级语言源程序目标程序可执行程序库 程 序8/12/202261.1.4 从C到C+一、C语言的发展 C语言是AT&T贝尔实验室的Dennis Ritchie在B语言的基础上开发出来的,1972年在一台DEC PDP-11计算机上实现了最初的C语言。C语言最初用作UNIX操作系统的开发语言。二、C语言具有如下优点:(1) 语言简洁、紧凑,使用方便、灵活。 (2) 运算符丰富,数据结构丰富,具有现代化语言的各种数据结构。(3) 具有结构化的控制语句(
6、4) 语法限制不大严格,程序设计自由度大。(5) 语言允许直接访问物理地址。(6) 生成目标代码质量高,程序执行效率高。(7) 用语言写的程序可移植性好。8/12/202271.1.4 从C到C+三、C语言也有它的局限性 C语言数据类型检查机制较弱,这使得程序中的一些错误不能在编译时被自动发现。 当程序的规模大到一定程度时,复杂性很难控制。四、C到C+ C+语言突破C语言的局限性 C+是由C发展而来的,与C兼容。 C+包含了C的全部特征、属性和优点,是C的超集, C+添加了面向对象编程的完全支持,是一种功能强大的面向对象程序设计语言。8/12/202281.2 过程化程序设计 一、过程化程序设
7、计的基本程序结构顺序结构、选择结构、循环结构二、过程化程序设计方法的主要思想 将任务按功能进行分解,自顶向下、逐步求精。当一个任务十分复杂以至无法描述时,可按功能划分为若干个基本模块,各模块之间的关系尽可能简单,在功能上相对独立,如果每个模块的功能实现了,复杂任务也就得以解决。 程序=数据结构+算法三、实例8/12/20229按班级输入按学号输入按姓名查询按学号查询按学号修改按姓名修改按平均成绩排序统计不及格按总成绩排序学生成绩管理学生基本信息录入学生成绩查询学生成绩修改学生成绩统计学生成绩录入8/12/2022101.3 面向对象的程序设计 面向对象的程序设计不仅吸取了结构化程序设计的优点,
8、又考虑现实世界与面向对象的映射关系而提出的一种新思想,它所追求的目标是将现实世界的问题求解尽可能的简化,使程序设计更加贴近实现世界, 用于开发较大规模的程序,以提高程序开发的效率。面向对象程序设计的实现需要数据封装、继承和多态技术。 8/12/2022111.3.1 基本概念 一、对象 对象又称实例,是客观世界中一个实际存在的事物。 对象一般可以表示为:属性+行为。 例如 一个盒子- 一个对象 盒子的长、宽和高- 属性 求盒子的容量- 操作二、 类在面向对象程序设计中,类是具有相同属性数据和操作的对象的集合,它是对一类对象的抽象描述。例如:将所有的盒子的共同属性抽象出来就是盒子类8/12/20
9、22121.3.1 基本概念三、面向对象程序设计(OOP)面向对象程序设计是将数据(属性)及对数据的操作算法(行为)封装在一起,作为一个相互依存、不可分割的整体来处理面向对象程序设计的结构: 对象=数据(属性)+算法(行为) 程序=对象+对象+对象面向对象程序设计的优点 可以解决软件工程的两个主要问题软件复杂性控制和软件生产效率的提高,另外它还符合人类的思维方式,能自然地表现出现实世界的实体和问题。8/12/2022131.3.2 面向对象程序设计的特点一、 封装性封装是一种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操作集中在一起形成类,将类的一部分属性和操作隐藏起来,不让用户
10、访问,另一部分作为类的外部接口,用户可以访问。二、 继承性继承是指新建的类从已有的类那里获得已有的属性和操作。已有的类称为基类或父类,继承基类而产生的新建类称为基类的子类或派生类。继承有效地实现了软件代码的重用,增强了系统的可扩充性。同时也提高软件开发效率。三、 多态性所谓多态性是指当不同的对象收到相同的消息时,产生不同的动作。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。利用多态性可以设计和实现一个易于扩展的系统。 8/12/2022141.4 简单的C+程序介绍 一个简单C+程序【例1.1】 一个简单的C+程序/* -ch1_1.cpp:输出一行字符
11、: “This is a C+ program.”-*/#include void main( )coutThis is a C+ program. ;/在屏幕上输出一行文字运行结果:This is a C+ program.8/12/2022151.4 简单的C+程序介绍说明:上述简单的C+程序由注释语句、编译预处理命令和主函数构成 注释语句有两种:行注释:以“/”开头,从它开头到本行末尾之间的内容都作为注释块注释:在“/*”与“*/”之间的内容,这种形式的注释可以跨多行书写编译预处理命令以符号“#”开头的行是编译预处理行。 主函数main( )main( )函数是一个特殊的用户定义的函数,
12、程序执行的入口点。每个程序都必须有且仅有一个main()函数。 8/12/2022161.4 简单的C+程序介绍【例1.2】求a1和a2两个数的积。/求两个数的积 /注释#include /预处理命令main() /主函数 /函数体开始int a1,a2,result; /定义变量couta1a2; /输入 a1,a2result=a*b; /赋值语句coutresult is: resultendl; /输出语句 /函数体结束如果程序运行时从键盘输入:5 6则输出为:result is:30 8/12/2022171.4 简单的C+程序介绍【例1.3】给出两个数x和y,求两数中的大者。#in
13、clude / 预处理命令int max(int x,int y) / max函数定义 int z; /定义整型变量if (xy) z= x; /如果xy,将x的值赋值给zelse z=y; /否则,将y的值赋值给zreturn z; /返回z / max函数结束void main( ) / 主函数 int a,b,c; /定义整型变量 coutab; /输入数据c=max(a,b); /函数的调用cout maximum number iscendl;/输出语句 / 主函数结束8/12/2022181.5 程序开发的过程 C+程序开发步骤 编写源代码 编译源代码 连接成可执行文件 运行程序并分析运行结果 无不正确有编辑源程序编译有错?开 始连 接连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 川教版(2019)小学信息技术五年级上册3.1《 广播火箭发射》教学设计及反思
- 2025年铍板、棒、异形件项目合作计划书
- 2024秋四年级英语上册 Unit 4 My home Part B 第2课时教学实录 人教PEP
- 2025年高压无功补偿装置合作协议书
- Unit 2 Were Family Section A(2a~2e) 教学设计2024-2025学年人教版(2024)七年级英语上册
- 学期教学计划任务分解
- 2025年电子测量仪器项目发展计划
- 前台文员信息安全意识加强计划
- 现代教育技术的应用与推广计划
- 年度工作计划的调整与优化
- (郭伯良)儿童青少年同伴关系评级量表
- 用户使用手册模板
- 生产车间5S稽核评分表
- 旅游实训室设备清单及预算
- 2023年江苏海洋大学招考聘用专职辅导员26人模拟预测(共500题)笔试参考题库附答案详解
- 中国政府开放数据利用研究报告
- 优秀班主任经验交流 课件
- 多器官功能衰竭病人的护理
- 江苏某高速公路服务区设施施工组织设计
- 复方雷尼替丁
- 走近心理学智慧树知到答案章节测试2023年西北师范大学
评论
0/150
提交评论