版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+大学基础教程,C+初步,2/44,本课程各个部分与写文章的类比,写文章 写一篇文章的步骤 文字是什么样子的,文字怎么凑成句子的 如何用连词把文字、句子凑成一个段落 如何把句子或者段落凑成一段有意义的主题 高级文字技巧:合辙押韵/修辞技巧 如何吟诗作对,引用先贤圣语,C+程序设计 C+入门/程序开发过程 基本数据类型与表达式 过程化语句 函数 数组、指针和引用 类和对象/继承与派生/,3/44,第一章 C+入门 内容框架,程序设计语言的发展 面向过程的程序设计 面向对象的程序设计 C+的诞生 程序开发过程 简单的C+程序,4/44,第一章 C+入门 内容框架,程序设计语言的发展 面向过程的程
2、序设计 面向对象的程序设计 C+的诞生 程序开发过程 简单的C+程序,5/44,1.1 程序设计语言的发展,历程:机器语言-汇编语言-高级语言-4GL 机器语言:简单的“0”和“1”的组合,硬件相关。 汇编语言:将机器语言映射为一些可以被人们读懂的助记符,如“ADD”、“SUB”等,与硬件相关。 高级语言:接近自然语言,与硬件无关。 4GL:描述能力比高级语言更强,只需说明做什么而无须说明如何做,6/44,1.1 程序设计语言的发展,高级语言: 1、面向过程的语言 BASIC、PASCAL、C 2、面向对象的语言 C+、JAVA,7/44,1.1 程序设计语言的发展,例如:要向屏幕打印一个“A
3、”字符 BASIC语言: PRINT “A” PASCAL语言:writeln(A); C语言: printf(“A”); C+语言: cout “A”; JAVA语言: System.out.print(A );,8/44,各种高级语言的发展演化进程,9/44,第一章 C+入门 内容框架,程序设计语言的发展 面向过程的程序设计 面向对象的程序设计 C+的诞生 程序开发过程 简单的C+程序,10/44,1.2 面向过程与面向对象,“面向?” 是方法论层面的概念 二者不是绝对对立的 封建社会与奴隶社会的扬弃关系 面向对象的特点: 数据和数据的处理作为一个整体 封装、继承、多态 面向过程的特点:
4、程序被看作数据处理的过程,数据与处理相分离 这两个概念的建立是逐步融汇贯通的,1.2 面向过程的程序设计,*程序的基本结构 1、顺序 2、分支 3、循环,12/44,1.2 面向过程的程序设计,主要思想 自顶向下 逐步求精 一个计算机程序可以看成是由一系列任务组成 的,任何一项任务如果过于复杂就将其分解成一系列较小的子任务,直至每一项任务都很小,很容易解决。,1.2 面向过程的程序设计,计算每门课的平均成绩,14/44,1.2 面向过程的程序设计,不足: 结构化编程将数据和过程相分离; 结构化编程对代码重用支持不够。 可重用思想就是创建一些已知属性的组件,然后插入到自己的程序中。,15/44,
5、第一章 C+入门 内容框架,程序设计语言的发展 面向过程的程序设计 面向对象的程序设计 C+的诞生 程序开发过程 简单的C+程序,2020-09-10,北京邮电大学电信工程学院计算机技术中心,16/44,1.3 面向对象的程序设计,面向对象的程序设计将数据和处理数据的过程当成一个整体对象。 1)封装 由对象的概念支持。只需知道外部接口,不需知道内部实现,就可以使用的特性。 2)继承 由类的概念支持。利用已有的成果进行扩展,充分体现了代码重用。 3)多态 运行时特性。,17/44,第一章 C+入门 内容框架,程序设计语言的发展 面向过程的程序设计 面向对象的程序设计 C+的诞生 程序开发过程 简
6、单的C+程序,18/44,1.4 C+的诞生,C+语言从C语言的基础上发展起来的 C语言 历史: 贝尔实验室的Dennis Ritchie开发 在B语言的基础 作为Unix操作系统的开发语言 优点: 与硬件无关 设计严谨,19/44,1.4 C+的诞生,1978年,Brian Kernighan与Dennis Ritchie 出版了The C Programming Language是最早的经典传统C语言的书,很薄,只有两百多页,所以这本C语言的圣经又称K int main() coutHello, world! endl; ,29/44,1.6 简单的C+程序,“注释” 是程序员为读者作的说
7、明,用来提高程序的可读性,C+程序在编译过程中忽略注释。 “/” 用来注释一行说明,在“/”之后的文字直到换行都为注释。一般用来对于程序中难懂的代码进行说明。 “/*”和“*/” 用来注释一段说明,在“/*”和“*/”之间的部分,不管多长都为注释。,30/44,1.6 简单的C+程序,所有以“#”开头的代码,称为编译预处理。 #include 每次启动编译器时,先运行预处理器,预处理器找到所有以“#”开头的代码行进行处理。include是一条预处理指令,意思是“后面跟的是一个文件名,请找到该文件并将其加入。” iostream是系统定义的一个“头文件”,它设置了C+的I/O相关环境,并定义了输
8、入输出流对象cout和cin等。,31/44,1.6 简单的C+程序,using namespace std; 1998年批准的标准C+使用namespace命名空间标准。 iostream是一个标准函数库,cout是标准库函数提供的一个对象,标准库函数在namespace说明书中被指定为“std”。因此这句代码的意思是使用标准命名空间std中的函数。,32/44,1.6 简单的C+程序,正式的程序从代码“int main()”开始 它包含一个名为main()的函数,也称为主函数。 每个C+程序有且仅有一个main()函数,程序在开始运行时会自动调用main()函数。 main()前面的int
9、表示函数的返回值的类型,意味着程序执行结束后需向操作系统返回一个整数值。,函数:是指能实现一个或多个功能的代码块。,33/44,1.6 简单的C+程序,所有的函数都以左大括号开始,右大括号结束,在大括号之间的部分称为函数体。 cout”Hello World!”endl; cout:标准输出流对象, : 插入操作符可以连续使用 endl:代表换行符 是使用cout将“”后面的内容打印在屏幕上。 在函数体的每一句代码后面都有一个分号“;”表示一个C+语句的结束。,34/44,1.6 简单的C+程序,操作步骤 1、新建一个工程 1) 启动VC+ 2) 新建一个console工程 3) 编写源程序
10、2、编译和连接 编译:Compile(Ctrl+F7) 链接:Build(F7) 3、运行 使用的命令:Ctrl+F5,35/44,例子: 简单的C+程序,打印一棵圣诞树(使用“ * ”) 能够调整大小 其它的功能 使用用户输入的字符打印圣诞树 使圣诞树呈现绿色,Christree2,Christree1,36/44,C+书籍,网络购书: http:/www.china- 入门书:C+ Primer (第四版) 作者Stanley B.Lippman的地位自然不用猜疑,此书也被评为C+的最佳入门书籍,也是Lipman写得最认真的一本书。 全书可谓是C+大全,深度适当,比较适合初学者,或者想对C
11、+和程序设计有大概了解的读者, 但就是比较厚,这也只能怪C+的源远流长,总是在打园场,不断增加新特性。看着一本千来页的书,而且前面一部分讲的都是程序设计思想,容易令人产生困倦,也难怪很多人半道出家学java。,原书名:C+ PRIMER (4TH EDITION)原出版社:ADDISON WESLEY/PEARSON作者: (美)STANLEY B.LIPPMAN.译者:李师贤 蒋爱军 梅晓勇 林瑛市场价:¥99.00 会员价: ¥74.25(4-5星会员)出版社: 人民邮电出版社,37/44,essential C+,入门书: essential C+ 很简单的一本书,初学者如果觉得自己确实
12、很菜可以先看这本书,肯定能看懂,也是Lippman的书。 但英文版有些地方值得商榷,建议看侯杰翻译的中文版,翻译得还可以,就是台湾味道太浓了些,有点喧宾夺主之嫌。 入了门的读者就没必要看这本书了,作者: STANLEY B.LIPPMAN 译者:侯捷 市场价:¥39.80 会员价: ¥29.85(4-5星会员) 出版社: 华中科技大学出版社,38/44,The C+ Programming language,这是一本每个人都应该买但不一定要看的书 建议初学者不要看这本书,否则可能会一头雾水,失去信心,Bjarne写书本来就不怎么样,他自己都说他的书有些晦涩难懂。 但是买一本放在书柜里,有什么不
13、清楚的地方查查高人如何解析还是有必要的。中文版技术上大可放心,但因国内的出版社又那么急功近利,语言流畅度上就比较差,The C+ Programming Language, Special Edition 【原出版社】 Addison Wesley 【作者】Bjarne Stroustrup 【译者】 裘宗燕 【出版社】 机械工业出版社 【页码】 936,39/44,The C+ standard library,进阶书籍:The C+ standard library,侯杰翻译,译得很好,语言很通顺 建议在学完C+的基本知识之后,看这本书,知道怎么来充分利用标准库,更可以提高自己的实作能力,
14、否则如果花上一年半载在C+的语言细节上,可能自己都生气为什么还是写不出好的程序出来,工欲善其事,必先利其器就是这个道理。,40/44,Inside C+ Object Model及其它,高级内容:深度探索C+对象模型 从编译器的角度来探讨C+的实现方法和优缺点,不要购买谭浩强的C+教材 将C+当成一门新语言学习 但凡按照C语言思路讲解C+的书都是烂书,是80年代的教法,41/44,Thinking in C+ (C+编程思想),thinking in C+ 此书一般,并没有外面吹的那么好,可以说是中等偏上, 要看就要看英文版的,中文版的千万别看,那个译者太不负责了。,42/44,C+学习步骤,
15、学习C+ 本身大致分为 5 个步骤: C+ 的单句语法是基本继承了 C 的单句语法。学习 C+ 的第一步是掌握单句语法,包括变量、表达式、条件转移、循环语句、指针等; 第二步是学习 C+的面向对象的抽象机制,包括类、类的派生和继承、多态等。早期的 C+ 大致就是这些了; 第三步是学习 C+的泛型编程的抽象机制,包括类和函数的模板。这个是早期 C+所不具有或不完备的; 第四步是学习 C+标准模板库(STL) 的使用。把库提高到语言的高度,说明了STL 的重要程度。这个是前人经验的总结,熟练使用 STL,实际上能够把编程的效率提高一个档次; 第五步可以穿插在上述四个步骤中,就是学习和掌握 C+的高级特性,包括异常、运行时刻类型机制、操作系统API的使用、线程和进程以及其他使用技巧。,43/44,C+学习过程,初学者本身的情况实际上就是学习的起点; 设立一个目标 至少是一个里程碑,是希望对 C+有所了解呢,还是希望成为一个 C+高手;以及希望在哪些方面有所特长? 付出的努力 大致的说,学过其他编程语言的,粗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西第一荣军优抚医院面向社会招聘护理员6人笔试参考题库及答案解析
- 2026年哈尔滨市平房区平房镇卫生院公开招聘全科医生、会计人员2人笔试备考试题及答案解析
- 2026浙江台州市温岭市人力资源和社会保障局招聘编外人员2人笔试备考试题及答案解析
- 2026浙江杭州市紫荆花学校年教师招聘考试备考题库及答案解析
- 2026年黄石大冶市事业单位统一公开招聘工作人员118人笔试备考题库及答案解析
- 2026中国农业科学院农业经济与发展研究所粮食安全与发展政策研究创新团队编制外科研助理招聘1人考试备考题库及答案解析
- 2026福建莆田城厢区霞林街道社区卫生服务中心招聘5人笔试参考题库及答案解析
- 2026武汉重型机床集团有限公司春季校园招聘笔试参考题库及答案解析
- 淄博市重点中学2025-2026学年初三物理试题下学期第三次模拟考试试题含解析
- 湖南省常德外国语校2026年下学期初三英语试题5月月考试卷含解析
- 2026山东出版集团有限公司山东出版传媒股份有限公司招聘193人备考题库及答案详解(基础+提升)
- 职业危害事故处置及报告全流程培训
- 2026年无锡工艺职业技术学院单招职业技能考试题库有答案详解
- 物业服务标准与质量管理手册(标准版)
- 2025年监理工程师《案例分析(交通运输工程)》真题及答案
- 2026年全国高考体育单招考试模拟语文试题试题(含答案)
- 2026年人力资源招聘成本降低方案
- 江西省国有资本运营控股集团有限公司2026年第一批批次公开招聘参考考试题库及答案解析
- GA/T 882-2014讯问同步录音录像系统技术要求
- 柳永《八声甘州》课件-图文
- 脑血管疾病-课件
评论
0/150
提交评论