资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2024/10/1,北京邮电大学信息与通信工程学院,-,1,-,C+,语言是一种优秀的程序设计语言,在计算机科学领域中有着广泛的应用。,2022/9/26北京邮电大学信息与通信工程学院-1-C+,2024/10/1,北京邮电大学信息与通信工程学院,-,2,-,第一章,C+,入门,1.1 程序设计语言的发展,1.2 面向过程的程序设计,1.3,面向对象的程序设计,1.4,C+,的诞生,1.5 程序开发过程,1.6 简单的,C+,程序,2022/9/26北京邮电大学信息与通信工程学院-2-第一章,2024/10/1,北京邮电大学信息与通信工程学院,-,3,-,1.,1,程序设计语言的发展,2022/9/26北京邮电大学信息与通信工程学院-3-1.1,2024/10/1,北京邮电大学信息与通信工程学院,-,4,-,1.1 程序设计语言的发展,机器语言,简单的,“,0,”,和,“,1,”,的组合,硬件相关。,汇编语言,将机器语言映射为一些可以被人们读懂的助记符,如,“,ADD,”,、,“,SUB,”,等,与硬件相关。,高级语言,接近自然语言,与硬件相关,。,2022/9/26北京邮电大学信息与通信工程学院-4-1.1,2024/10/1,北京邮电大学信息与通信工程学院,-,5,-,1.1 程序设计语言的发展,高级语言:,1、面向过程的语言,BASIC,、,PASCAL,、,C,2、面向对象的语言,C+,、,JAVA,2022/9/26北京邮电大学信息与通信工程学院-5-1.1,2024/10/1,北京邮电大学信息与通信工程学院,-,6,-,1.1 程序设计语言的发展,例如:要向屏幕打印一个,“,A,”,字符,1、BASIC,语言:,PRINT“A”,2、PASCAL,语言:,writeln(A);,3、C,语言:,printf(“A”);,4、C+,语言:,cout “A”;,5、JAVA,语言:,System.out.print(A);,2022/9/26北京邮电大学信息与通信工程学院-6-1.1,2024/10/1,北京邮电大学信息与通信工程学院,-,7,-,1.2 面向过程的程序设计,2022/9/26北京邮电大学信息与通信工程学院-7-1.2,2024/10/1,北京邮电大学信息与通信工程学院,-,8,-,1.2 面向过程的程序设计,基本结构,1、顺序 2、分支 3、循环,开始,执行1,执行2,执行3,结束,开始,条件,执行2,执行1,结束,是,否,开始,执行1,执行2,条件,结束,是,否,2022/9/26北京邮电大学信息与通信工程学院-8-1.2,2024/10/1,北京邮电大学信息与通信工程学院,-,9,-,1.2 面向过程的程序设计,模块的单入,指的是该模块被哪些模块所调用;,模块的单出,指的是该模块调用了哪些模块。,2022/9/26北京邮电大学信息与通信工程学院-9-1.2,2024/10/1,北京邮电大学信息与通信工程学院,-,10,-,1.2 面向过程的程序设计,主要思想,自顶向下,逐步求精,一个计算机程序可以看成是由一系列任务组成 的,任何一项任务如果过于复杂就将其分解成一系列较小的子任务,直至每一项任务都很小,很容易解决,。,2022/9/26北京邮电大学信息与通信工程学院-10-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,11,-,1.2 面向过程的程序设计,计算每门课的平均成绩,多少门课,学生人数,每门课总分,每门课总分,/学生人数,选课学生档案,每个学生该,门课的成绩,累加,选择一门课,选课的学生,读数据,2022/9/26北京邮电大学信息与通信工程学院-11-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,12,-,1.2 面向过程的程序设计,不足:,1、结构化编程将数据和过程相分离;,2、结构化编程对代码重用支持不够。,可重用思想就是创建一些已知属性的组件,然后插入到自己的程序中。,2022/9/26北京邮电大学信息与通信工程学院-12-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,13,-,1.3 面向对象的程序设计,2022/9/26北京邮电大学信息与通信工程学院-13-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,14,-,1.3 面向对象的程序设计,面向对象的程序设计将数据和处理数据的过程当成一个整体,对象。,1,)封装,由对象的概念支持。只需知道外部接口,不需知道内部实现,就可以使用的特性。,2,)继承,由类的概念支持。利用已有的成果进行扩展,充分体现了代码重用。,3,)多态,运行时特性。,2022/9/26北京邮电大学信息与通信工程学院-14-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,15,-,1.4,C+,的诞生,2022/9/26北京邮电大学信息与通信工程学院-15-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,16,-,1.4 C+,的诞生,C+,语言从,C,语言的基础上发展起来的,C,语言,历史:,1、贝尔实验室的,Dennis Ritchie,开发,2、在,B,语言,的基础,3、作为,Unix,操作系统的开发语言,优点:,1、与,硬件,无关,2、设计严谨,2022/9/26北京邮电大学信息与通信工程学院-16-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,17,-,1.4 C+,的诞生,1978,年,,Brian Kernighan,与,Dennis Ritchie,出版了,The C Programming Language,是最早的经典,传统,C,语言,的书,很薄,只有两百多页,所以这本,C,语言的圣经又称,K&R“。,当时很快出现了多个不兼容的,C,语言版本,因此需要制订一种标准,C。,所以1988年,第二版,The C Programming Language,,,是最经典的标准,C,的书籍。,2022/9/26北京邮电大学信息与通信工程学院-17-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,18,-,1.4 C+,的诞生,C,语言之父,dennis Ritchie,The C Programming Language,2022/9/26北京邮电大学信息与通信工程学院-18-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,19,-,1.4 C+,的诞生,C,语言是一门面向过程的程序语言,优点:,1、可直接访问内存,2、程序运行效率高,3、可移植性好,缺点:,1、类型检查机制较弱,2022/9/26北京邮电大学信息与通信工程学院-19-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,20,-,1.4 C+,的诞生,C+,语言的,优点:,1、,简化,程序复杂性,2、促进,代码重用,3、使用先进的,面向对象技术,Bjarne,出版了的经典,C+,著作,The C+Programming Language,,,1991年第2版,1997年第3版,2000年特别版,他被誉为,C+,之父。,2022/9/26北京邮电大学信息与通信工程学院-20-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,21,-,1.4 C+,的诞生,C+,之父,Bjarne stroustrup,The C+Programming Language,2022/9/26北京邮电大学信息与通信工程学院-21-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,22,-,1.4 C+,的诞生,C+,语言是从,C,语言发展演变而来。,C+,包含了整个,C,C,是建立,C+,的基础。,C+,包含,C,的所有特征、属性、优缺点,并添加了,面向对象,的支持。,C+,语言,C,语言,面向对象,2022/9/26北京邮电大学信息与通信工程学院-22-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,23,-,1.5 程序开发过程,2022/9/26北京邮电大学信息与通信工程学院-23-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,24,-,1.5 程序开发过程,源程序:.,cpp,compile(Ctrl+F7),目标程序:.,obj,Build(F7),可执行程序:.,exe,2022/9/26北京邮电大学信息与通信工程学院-24-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,25,-,1.6 简单的,C+,程序,2022/9/26北京邮电大学信息与通信工程学院-25-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,26,-,1.6 简单的,C+,程序,/*,程序文件:,ch1_1.cpp,程序功能:在屏幕上输出,hello world!,作 者:,XXX,创建时间:,XX,年,XX,月,XX,日,*/,#,include,using namespace std;,void main(),cout“Hello World!”endl;,注释,编译预处理,程序主体,2022/9/26北京邮电大学信息与通信工程学院-26-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,27,-,1.6 简单的,C+,程序,“,注释,”,是程序员为读者作的说明,用来提高程序的可读性,,C+,程序在编译过程中忽略注释。,1,、,“,/,”,用来注释一行说明,在,“,/,”,之后的文字直到换行都为注释。一般用来对于程序中难懂的代码进行说明。,2,、,“,/*,”,和,“,*/,”,用来注释一段说明,在,“,/*,”,和,“,*/,”,之间的部分,不管多长都为注释。,2022/9/26北京邮电大学信息与通信工程学院-27-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,28,-,1.6 简单的,C+,程序,所有以“,#,”开头的代码,称为编译预处理。,#,include,每次启动编译器时,先运行预处理器,预处理器找到所有以“#”开头的代码行进行处理。,include,是一条预处理指令,意思是“后面跟的是一个文件名,请找到该文件并将其加入。”,iostream,是系统定义的一个“头文件”,它设置了,C+,的,I/O,相关环境,并定义了输入输出流对象,cout,和,cin,等,。,2022/9/26北京邮电大学信息与通信工程学院-28-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,29,-,1.6 简单的,C+,程序,using namespace std;,1998年批准的标准,C+,使用,namespace,命名空间标准。,iostream,是一个标准函数库,,cout,是标准库函数提供的一个对象,标准库函数在,namespace,说明书中被指定为“,std,”。,因此这句代码的意思是使用标准命名空间,std,中的函数。,2022/9/26北京邮电大学信息与通信工程学院-29-1.,2024/10/1,北京邮电大学信息与通信工程学院,-,30,-,1.6 简单的,C+,程序,正式的程序从代码,“,void main(),”,开始,它包含一个名为,main(),的函数,也称为主函数。每个,C+,程序有且仅有一个,main(),函数,程序在开始运行时会自动调用,main(),函数。,main(),前面的,void,表示函数的返回值的类型,意味着程序执行结束后无需向操作系统返回,。,函数:是指能实现一个或多个功能的代码块。,2022/9/26北京邮电大学信息与通信工程学院-30-1.,2024/10/1,北京邮电大学
展开阅读全文