程序设计与C++语言全册配套完整精品课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《程序设计与C++语言全册配套完整精品课件.ppt》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 语言 配套 完整 精品 课件
- 资源描述:
-
1、1 程序设计与程序设计与C语言全册配套完整语言全册配套完整 精品课件精品课件 2021-8-9 2 为什么学习程序设计?为什么学习程序设计? “ Everybody in this country should learn how to program a computer, because it teaches you how to think ” -Steve Jobs http:/ 3 为什么学习程序设计?为什么学习程序设计? o 学习一种计算机编程语言:由于语言语法、语学习一种计算机编程语言:由于语言语法、语 义的同质化,可以作为基础继续学习其他语言义的同质化,可以作为基础继续学习其他
2、语言 o 学习程序设计方法:面向过程、面向对象学习程序设计方法:面向过程、面向对象 o 培养运用计算机进行问题求解的能力:分析、培养运用计算机进行问题求解的能力:分析、 设计、编码、调试、测试、维护设计、编码、调试、测试、维护 o 训练计算机思维:抽象、建模、分解、有效(训练计算机思维:抽象、建模、分解、有效( 效率)、效率)、 4 主要教材主要教材 面向对象程序设计基础面向对象程序设计基础(第二版第二版) 李师贤 李文军 周晓聪 李宏新 林瑛 编著 高等教育出版社 5 目录 o 第一章第一章程序设计与程序设计与C C语言初步语言初步 o 第二章第二章基本数据类型基本数据类型 o 第三章基本控
3、制结构第三章基本控制结构 o 第四章函数第四章函数 o 第五章类与对象第五章类与对象 o 第六章复合数据类型第六章复合数据类型 o 第七章继承机制第七章继承机制 6 目录 o 第八章第八章多态性多态性 o 第九章类属机制第九章类属机制 o 第十章第十章 C+的输入输出的输入输出 o 第十一章面向对象软件构造第十一章面向对象软件构造 o 第十二章结束语第十二章结束语 7 教学安排 章节章节教学内容教学内容课堂教授课堂教授实验实验课外课外 第一章第一章程序设计与程序设计与C C语言初步语言初步22 第二章第二章基本数据类型基本数据类型322 第三章第三章基本控制结构基本控制结构324 第四章第四章
4、 函数函数626 第六章第六章复合数据类型复合数据类型636 第五章第五章类与对象类与对象636 第七章第七章继承机制继承机制524 第八章第八章多态性多态性525 第九章第九章类属机制类属机制524 第十章第十章 C+的输入输出的输入输出425 第十一章第十一章面向对象软件构造面向对象软件构造042 第十二章第十二章结束语结束语001 8 主要参考书 o 基础篇基础篇 nC+程序设计语言(程序设计语言(Special Edition) Bjarne Stroustrup 高高 等教育出版社,等教育出版社,Pearson Education出版集团(出版集团(2001.8) nC+程序设计教程
5、(第二版)程序设计教程(第二版) 钱能钱能 清华大学出版社(清华大学出版社( 2005.9) n C+程序设计教程程序设计教程(第二版第二版) 罗建军等罗建军等 高等教育出版社高等教育出版社 (2007.8) n程序设计教程程序设计教程用用C+语言编程语言编程陈家骏陈家骏 高等教育出版高等教育出版 社社(2008.7) n C+程序设计教程程序设计教程(第四版第四版)(美美) H.M.Deitel 等等 施平安施平安 译译 清华大学出版社清华大学出版社(2004.3) nC+程序设计程序设计(第二版第二版)郑莉等郑莉等 清华大学出版社清华大学出版社 (2001.7) nC+面向对象程序设计面向
6、对象程序设计 杜茂康等杜茂康等 电子工业出版社电子工业出版社(2007.5) nC+实用教程实用教程郑阿奇、丁有和等郑阿奇、丁有和等 电子工业出版社电子工业出版社(2008.1) 9 主要参考书 o 提高篇提高篇 nC+语言的设计与演化语言的设计与演化 Bjarne Stroustrup 机械工业出版机械工业出版 社社(2002.1) nC+编程思想编程思想第第1卷:标准卷:标准C+导引(第导引(第2版)版)机械工业机械工业 出版社出版社(2006.3) nC+精髓精髓软件工程方法软件工程方法李师贤等李师贤等 译译 机械工业出版社机械工业出版社 (2002.8) n大规模程序设计大规模程序设计
7、李师贤等李师贤等 译译 中国电力出版社中国电力出版社(2003.9) nC+程序设计开发与设计程序设计开发与设计刘勇刘勇 译译 人民邮电出版社人民邮电出版社(2002.8) nC+面向对象开发面向对象开发R.L. William等等 麻志毅等译麻志毅等译 机械工业出机械工业出 版社版社 (2002.9) nC+面向程序设计面向程序设计基础、数据结构与编程思想(第四版基础、数据结构与编程思想(第四版 ) Walter Savitch著著 周靖译周靖译 清华大学出版社(清华大学出版社(2003.12) n高质量程序设计指南高质量程序设计指南C+/C语言语言 林锐林锐 电子工业出版电子工业出版 社(
8、社(2002.6) 10 主要参考书 o 实践篇实践篇 nC+程序设计实验教程程序设计实验教程 李师贤李师贤 高等教育出版社高等教育出版社(2006.7) n计算机科学与技术专业计算机科学与技术专业软件系列课程实践教程软件系列课程实践教程 胡学钢胡学钢 、王浩、王浩 合肥工业大学出版社(合肥工业大学出版社(2003.6) nVisual C+6学习指南学习指南Chuck Sphar著著 前导工作室译前导工作室译 机械机械 工业出版社(工业出版社(1999.9) nVisual C+程序设计程序设计 陈志泊陈志泊 中国铁道出版社(中国铁道出版社(2008.9) nC+程序设计教程程序设计教程基于
9、基于Visual Studio 2008 刘冰等刘冰等 机机 械工业出版社(械工业出版社(2009.8) nC+程序设计课程设计程序设计课程设计 刘振安刘振安 机械工业出版社(机械工业出版社(2004.12 ) nC+程序设计实训(第程序设计实训(第2版)版) 李龙澍李龙澍 清华大学出版社(清华大学出版社( 2009.2) 11 分组安排 第第1组组樊星樊星 李连杰李连杰 杨天源杨天源 第第9组组朱余超朱余超 桂志超桂志超 王士琦王士琦 第第2组组朱吉祥朱吉祥 冯雨冯雨 郑少泽郑少泽 第第10组组李亚鸣李亚鸣 郭楷文郭楷文 邵近东邵近东 第第3组组刘睿刘睿 常彧博常彧博 李娜李娜 第第11组组
10、闫文斌闫文斌 周楠周楠 黄旌黄旌 第第4组组吴琳钰吴琳钰 高旭高旭 夏兆喆夏兆喆 第第12组组马正华马正华 刘骞刘骞 周丁周丁 第第5组组胡万里胡万里 侯超响侯超响 李莹李莹 第第13组组刘海林刘海林 王涛王涛 钱永辉钱永辉 第第6组组唐燊唐燊 朱瑞朱瑞 王永涛王永涛 第第14组组高志云高志云 张成鹏张成鹏 王海玥王海玥 第第7组组王文博王文博 宋玉杭宋玉杭 安辽源安辽源 第第15组组冯建渤冯建渤 狄清泰狄清泰 高垚高垚 第第8组组王强强王强强 郑森郑森 孙慧玲孙慧玲第第16组组张达张达 钟旭阳钟旭阳 陈宇杰陈宇杰 作业、课堂提问、讨论、上机、大作业等平时按小组考核计成绩作业、课堂提问、讨论、
11、上机、大作业等平时按小组考核计成绩 考试(机考、笔试)按个人考核计成绩考试(机考、笔试)按个人考核计成绩 12 分组安排 第第17组组冯利鑫冯利鑫 代童代童 赵怡赵怡第第24组组单遵波单遵波 罗琪罗琪 郑文滔郑文滔 第第18组组钟鑫钟鑫 胡书畅胡书畅 何皓何皓第第25组组汤文慧汤文慧 黄云黄云 郭永杰郭永杰 第第19组组叶云燕叶云燕 许鹏飞许鹏飞 胡祝江胡祝江第第26组组谢荣贤谢荣贤 岳鹏飞岳鹏飞 郭惠郭惠 第第20组组占澎洪占澎洪 王庆才王庆才 林孟孟林孟孟第第27组组常海鹏常海鹏 王曦皓王曦皓 许雪婷许雪婷 第第21组组刘号刘号 王吉新王吉新 陈志强陈志强第第28组组廉成豹廉成豹 彭培彭培
12、 王浩王浩 第第22组组陆义杰陆义杰 杨洋杨洋 刘兵刘兵第第29组组汤明空汤明空 戚宇豪戚宇豪 蒋怿蒋怿 董雨思董雨思 第第23组组许志刚许志刚 李炳辉李炳辉 苏强强苏强强 作业、课堂提问、讨论、上机、大作业等平时按小组考核计成绩作业、课堂提问、讨论、上机、大作业等平时按小组考核计成绩 考试(机考、笔试)按个人考核计成绩考试(机考、笔试)按个人考核计成绩 13 教学资源 精品课程网站:精品课程网站: http:/ 14 教学资源 在线答题在线答题网站:网站: http:/ 15 上机安排 地点:地点: 翡翠湖校区实验翡翠湖校区实验4号楼四楼号楼四楼 第第?机房机房 周次:周次: 第第6-16周
13、周 星期星期? 时间:时间: ? 16 课程成绩 o平时成绩:平时成绩:15% 作业、考勤(课堂、上机)、课堂提问、网站做题作业、考勤(课堂、上机)、课堂提问、网站做题 o实验上机:实验上机:35% 上机考试:上机考试:20% 大作业:大作业:15% o笔试:笔试: 50% 第一章第一章 程序设计与C语言初步 算法、实体与程序算法、实体与程序 程序设计方法与程序设计语言程序设计方法与程序设计语言 Backus-Naur范式范式 C+语言的程序结构语言的程序结构 面向对象程序设计思维方式面向对象程序设计思维方式 18 概述 o 程序程序:完成一定功能的指令或语句序列 o 程序设计程序设计:编写计
14、算机程序的活动 n 程序设计方法 n 程序设计语言 o 本课程以面向对象程序设计方法为核心,并 选用C+程序设计语言为工具来介绍程序设计 19 1.1 算法与程序 o 例例1.1.1: 求解最大公约数的欧几里德算法。 步骤1:如果p b+v,则令m=0,b=b并转向步骤 2;否则令m=m,b=b-m并终止。 步骤2:提示超额透支并终止。 23 1.1.2 实体 例例1.1.4: 银行账户实体。银行账户实体。 实体:银行账户。实体:银行账户。 属性:账号、户名、地址、密码、当前余额属性:账号、户名、地址、密码、当前余额b、透支限额。、透支限额。 行为:行为:1)存款)存款 输入:输入: 存款金额
15、存款金额m和当前余额和当前余额b。 输出:输出:无。无。 步骤:步骤: 令令b=b+m并终止。并终止。 2)取款)取款 输入:取款金额输入:取款金额m。 输出:已取金额输出:已取金额m 。 步骤步骤1:如果:如果mb+v,则令,则令m=0并转向步骤并转向步骤2; 否则令否则令m=m,b=b-m并终止。并终止。 步骤步骤2:提示超额透支并终止:提示超额透支并终止 24 1.1.2 实体 o 实体的概念:现实生活中的 客观事物(人、 动物、企业、部门等等) 。 o 实体的特点:一个实体应有一个名字,应有 描述这个实体特征的数据(状态),应有作 用于这些实体上面的操作(行为)。 25 1.1.3 程
16、序程序 o 程序就是算法的计算机实现!程序就是算法的计算机实现! o 用计算机程序来解决问题 o 数据在计算机内部的表示 n 计算机只能识别和理解二进制数:0和1 n 所有由计算机处理的数据都必须表示为二进制 数 26 1.1.3 程序程序 void main() int a, b, c; / a,b,c为变量,记录程序所需要的数据。为变量,记录程序所需要的数据。 cina; /输入输入a cinb; /输入输入b c=a+b; /计算计算a+b的和并存于的和并存于c中中 coutc; /输出输出c的值(即的值(即a+b的和)的和) 27 1.1.3 程序程序 程序在计算机内部的表示程序在计算
17、机内部的表示 o 机器语言:二进制指令 o 汇编语言:用简单的符号表示二进制指令 o 高级语言 n 要把高级语言程序翻译成计算机能理解的机器 语言 n 翻译 o 编译编译 o 解释解释 28 1.1.4 程序设计程序设计 程序设计:编写计算机程序的活动程序设计:编写计算机程序的活动 四方面的知识:四方面的知识: o 应用领域知识 o 程序设计方法 o 程序设计语言 o 程序设计环境与工具 29 1.2 程序设计的演变 1.2.1 早期的程序设计早期的程序设计 线性程序设计(手工作坊式)手工作坊式) BASIC程序程序 10 INPUT A,B 20 C=A+B 30 PRINT C 30 1.
18、2.2 结构化程序设计 n 采用三种基本结构:顺序、循环、选择分支顺序、循环、选择分支 n 单入口/单出口控制结构 n 以流程为主,围绕操作本身来设计 31 1.2.2 结构化程序设计 o 结构化程序设计的主要思想:由三种基本控制结构组成结构化程序设计的主要思想:由三种基本控制结构组成 程序程序 o 这三种结构的示意图如下:这三种结构的示意图如下: 32 1.2.2 结构化程序设计 33 1.2.2 结构化程序设计 可以看到可以看到,三种基本结构都具有以下特点三种基本结构都具有以下特点: 有一个入口。 有一个出口。 结构中每一部分都应当有被执行到的机会,也就 是说,每一部分都应当有一条从入口到
19、出口的路 径通过它(至少通过一次)。 没有死循环(无终止的循环)。 34 1.2.3 面向对象程序设计 围绕被操作的数据来设计围绕被操作的数据来设计 实体:现实生活中的客观事物(人、动物、企业、部门等等实体:现实生活中的客观事物(人、动物、企业、部门等等 )。)。 一个实体应一个实体应 有一个名字,应有描述这个实体特征的数据(有一个名字,应有描述这个实体特征的数据( 状态),应有作用于这些实体上面的操作(行为)。状态),应有作用于这些实体上面的操作(行为)。 对象:面向对象方法中的对象,是系统中用来描述客观事物对象:面向对象方法中的对象,是系统中用来描述客观事物 的一个实体,它是用的一个实体,
20、它是用 于构成系统的一个基本单位。于构成系统的一个基本单位。 C+使用使用类类来描述对象来描述对象 35 1.3 程序设计语言的定义程序设计语言的定义 1.3.1 语法和语义 o 语法语法(syntax):由程序语言基本符号组成程序中 各个语法成分的一组规则。 o 语义语义(semantics):程序设计语言中按语法规则 构成的各个语法成分的意义 。 36 1.3.2 1.3.2 字符集字符集 o 字符集字符集:任何一种语言都是建立在某一个有限的字符集:任何一种语言都是建立在某一个有限的字符集 上的。上的。C+语言使用的是语言使用的是ASCII字符集。字符集。 o 单词单词:由字符集中的若干字
21、符构成且具有某一特定含义:由字符集中的若干字符构成且具有某一特定含义 的字符序列。的字符序列。 o 保留字保留字:有些语言中预先规定一些单词具有特殊的意义:有些语言中预先规定一些单词具有特殊的意义 ,并保留其名字,不允许程序员另作它用,这种单词被,并保留其名字,不允许程序员另作它用,这种单词被 称为保留字。称为保留字。 o 关键字关键字:还有些语言规定一些特殊单词在一定的上下文:还有些语言规定一些特殊单词在一定的上下文 中具有预先定义的特殊意义,这种单词被称为关键字。中具有预先定义的特殊意义,这种单词被称为关键字。 37 注意注意 o C/C是大小写字母是敏感的,同一字母的 大写状态和小写状态
22、将视为26个不同字符。下 划线视为一个字母。 38 1.3.3 Backus-Naur1.3.3 Backus-Naur范式范式 o 形式化定义程序设计语言的语法一般包括一 个明确定义的字符集和一组有限的规则,这 些规则规定符号如何组成表达式、语义 和程 序等形式。 o 较常用的语法定义方法是Backus-Naur范式(简 写为BNF)和语法图。 39 1.3.3 Backus-Naur1.3.3 Backus-Naur范式范式 o 元符号:元符号:BNF规定了一些符号作为描述语法的机制 ,称作元符号,包括: := 表示“定义为”。 | 表示“或者”。 表示“任选”,即方括号内的内容可以出现一
23、次 或不出现。 表示“重复”,即花括号内的内容可以出现零次 或任意多次。 40 1.3.3 Backus-Naur1.3.3 Backus-Naur范式范式 o 终结符号:终结符号:BNF中不必定义的符号或字符串, 如如A、B、0、1等等 o 非终结符号:非终结符号:在用法规则中需要加以定义的语法变 量, 如字母、数字、标识符等如字母、数字、标识符等 41 1.3.3 Backus-Naur1.3.3 Backus-Naur范式范式 每一个非终结符号都必须有一个规则定义它,非终每一个非终结符号都必须有一个规则定义它,非终 结符号按规则总是可以展开为一串终结符号。结符号按规则总是可以展开为一串终
24、结符号。 例:标识符的BNF描述。 标识符 :=字母 字母 | 数字 字母 :=A | B | | Z | a | b | | z | _ 数字 :=0 | 1 | | 9 42 1.3.3 Backus-Naur1.3.3 Backus-Naur范式范式 整数的BNF描述 整数 := 正负号 无符号整数 无符号整数 := 数字 数字 正负号 := + | - 数字 := 0 | 1 | | 9 43 1.3.4 1.3.4 语法图语法图 o 语法图是与BNF等价的另一种语法描述方法,但比 BNF更加直观。 o 一条BNF可转换成一个语法图 44 1.3.4 1.3.4 语法图语法图 o BN
25、F转换为语法图的规则 (1) 每一个终结符号的出现对应于 (2) 每一个非终结符号X的出现对应于 X (3) 形如P := V1 V2 Vk则转换为 V1 V2 Vk 45 (4)形如P := V1 | V2 | | Vk则转换为 V1 V2 Vk 1.3.4 1.3.4 语法图语法图 46 (5) 形如P := V 则转换为 V (6) 形如P := V 则转换为 V 1.3.4 1.3.4 语法图语法图 47 1.3.4 1.3.4 语法图语法图 例:标识符可用以下语法图来定义 字母 字母 数字 48 1.4 C C语言的程序结构语言的程序结构 1.4.1 C+语言程序的组成 o 程序程序
展开阅读全文