《高级程序设计语言概述.ppt》由会员分享,可在线阅读,更多相关《高级程序设计语言概述.ppt(39页珍藏版)》请在三一办公上搜索。
1、第一讲 高级语言程序设计概述,金世双 编著,2,本讲主要内容,程序设计语言发展历程,1,C与C+集成环境,2,C与C+的程序组成,3,简单输入输出操作,4,3,0.序言,教学对象 计算机科学与技术系教学目标程序设计的重要性程序设计的基本概念与基本方法编程解题的思路与典型方法数学模型简介算法及算法步骤程序结构与相应语句编码与上机调试,4,学习的重点程序设计的基本概念,基本方法;在 C/C+语言的环境下,学会如何针对问题进行分析,构建数学模型,寻找算法并编程实现;有条有理有根有据的编程实践;养成良好的编程风格与习惯;重在思维方法的学习,鼓励创新。,5,教学内容安排1.概论:程序设计的基本概念与基本
2、方法;怎样才能学好这门基础课2.程序的基本结构3.编程关键:逻辑思维与问题求解人是怎样让计算机帮助自己解题的4.数据的组织方式一:数组5.模块化:函数与函数调用6.分治思想:递归算法及其实现7.逻辑指代与物理指代:指针8.数据的组织方式二:结构,6,9.蒙特卡洛法10.贪心法11.动态规划12.数据的组织方式三:链表与树13.数据的组织方式四:文件,数据的永久存储与重复使用14.面向对象程序设计,7,1.程序设计语言发展历程,程序设计语言的轨迹,8,C语言发展过程产生背景产生过程时间:19721973地点:美国贝尔实验室目的:UNIX操作系统设计人:Ken.Thompson和C标准标准C:K&
3、R合著The C Programming LanguageANSI C:1983年87 ANSI C:1987年1990年国际标准的ANSI C,C语言发展的历程,9,C+语言发展的历程,C+是在C语言的基础上发展和完善的,而C是吸收了其它语言的优点逐步成为实用性很强的语言。随着20世纪70年代C语言应用的推广,C语言存在的一些缺陷或不足也开始流露出来,并受到大家的关注。如:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。,10,为了克服C语言本身存在的缺点,并保持C语言简洁、高效,并与汇编语言接近的特点,1980年,贝尔实验室的
4、Bjarne Stroustrup博士及其同事对C语言进行了改进和扩充,并把Simula 67中类的概念引入到C中。并在1983年由Rick Maseitti提议正式命名为C+(C Plus Plus)。后来,又把运算符的重载、引用、虚函数等功能加入到C+中,使C+的功能日趋完善。当前用得较为广泛的C+有:VC+(Visual C Plus Plus)、BC+(Borland CPlus Plus)、AT&T C+等。,11,C+历史上的主要事件:,1983年8月,第一个C+实现投入使用1983年12月,Rick Mascitti建议命名为CPlusPlus,即C+。1985年2月,第一个C+
5、Release E发布。10月,CFront的第一个商业发布,CFront Release 1.0。10月,Bjarne博士完成了经典巨著The C+Programming Language第一版 1986年11月,C+第一个商业移植CFront 1.1,Glockenspiel。1987年2月,CFront Release 1.2发布。11月,第一个USENIX C+会议在新墨西哥州举行。1988年10月,第一次USENIX C+实现者工作会议在科罗拉多州举行。1989年12月,ANSI X3J16在华盛顿组织会议。,12,1990年3月,第一次ANSI X3J16技术会议在新泽西州召开 5
6、月,C+的又一个传世经典ARM诞生。7月,模板被加入。11月,异常被加入。1991年6月,The C+Programming Language第二版完成。6月,第一次ISO WG21会议在瑞典召开。10月,CFront Release 3.0发布。1993年3月,运行时类型识别在俄勒冈州被加入。7月,名字空间在德国慕尼黑被加入。1994年8月,ANSI/ISO委员会草案登记。1997年7月,The C+Programming Language第三版完成。10月,ISO标准通过表决被接受 1998年11月,ISO标准被批准。,13,2.C与C+集成环境,Turbo C2.0集成环境,14,C程序
7、开发步骤,程序代码的录入,生成源程序*.c,语法分析查错,翻译生成目标程序*.obj,与其它目标程序或库链接装配,生成可执行程序*.exe,15,C+集成环境,VC+集成环境,16,C+编译过程,源程序(文本文件)*.CPP,目标文件(二进制文件)*.OBJ,可执行文件(二进制文件)*.EXE,库文件(各种函数),在Vitual C+系统中,可直接从源程序编译连接至可执行程序,但依然要生成*.OBJ及*.EXE这两个文件。,F7,compile,link,17,经典例题,例题1.在显示器上显示“Hello,world!”要求:用C和C+两种语言编写。,18,经典例题,例题2.求两个数中最大的一
8、个数。求三个数最大的一个数呢?更多个呢?要求:用C和C+两种语言编写。,思考:求两个数的和。求三个数的和呢?更多个呢?,19,3.C与C+的程序组成,C语言程序的组成一个程序由一个或多个源程序文件组成小程序往往只包括一个源程序文件一个源程序文件中可以包括三个部分:预处理指令全局声明函数定义,#include 等,在函数之外进行的数据声明,每个函数用来实现一定的功能,20,C语言程序的结构,函数是C程序的主要组成部分一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个)每个函数都用来实现一个或几个特定功能被调用的函数可以是库函数,也可以是自己编制设计的函数,21,C语言程序的结
9、构,C语言程序的结构特点:一个函数包括两个部分:函数首部 int max(int x,int y),函数类型,函数名,参数类型,参数名,若函数无参,在括弧中写void或空括弧,22,C语言程序的结构,函数体声明部分定义在本函数中所用到的变量对本函数所调用函数进行声明执行部分:由若干个语句组成,指定在函数中所进行的操作可以是空函数,如:void dump(),可以没有声明部分,23,C语言程序的结构特点:,程序总是从main函数开始执行 C程序对计算机的操作由C语句完成C程序书写格式是比较自由的一行内可以写几个语句一个语句可以分写在多行上为清晰起见,习惯上每行只写一个语句程序总是从main函数开
10、始执行 C程序对计算机的操作由C语句完成数据声明和语句最后必须有分号 C语言本身不提供输入输出语句程序应当包含注释,增加可读性,24,C+程序的组成,C+源代码一般都由若干函数和类组成。为了便于管理,一般把不同功能的函数和类放在不同的文件中,对于类的声明和实现也分别放在对应的.h(或.hpp)和.cpp文件中。由于文件较多,所以为了便于管理,一般的集成开发工具都会提供工程(Project)管理功能来管理这些文件,对源文件进行编译和链接。,25,26,经典例题,例题3.输入下图所示的程序。*1*2*3*要求:用C和C+两种语言编写。,27,经典例题,例题4.求一个数的平方。,引申 double
11、pow(double x,double y)库函数,28,4.简单输入输出操作,输入输出是程序中最基本的操作之一。所谓输入输出是以计算机主机为主体而言的从计算机向输出设备(如显示器、打印机等)输出数据称为输出从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为输入,29,语言输入输出语句,语言本身不提供输入输出语句输入和输出操作是由C标准函数库中的函数来实现的。主要是printf函数和scanf函数printf和scanf不是语言的关键字,而只是库函数的名字还有putchar、getchar、puts、gets等等,在使用输入输出函数时,要在程序文件的开头用预编译指令#include
12、 或#include stdio.h,30,printf函数输出数据,printf函数的一般格式printf(格式控制,输出表列)例如:printf(”i=%d,c=%cn”,i,c);,格式声明,格式控制:以开始,以一个格式字符结束,中间可以插入附加的字符。,31,scanf函数输入数据,scanf 函数的一般形式 scanf(格式控制,地址表列),32,经典例题,例题5.按照“(x+y)*z-k”的格式输入算术表达式,并输出结果。,33,经典例题,例题6.输出如图所示的图形。,34,+语言输入输出语句,在C+中引入术语 stream(流),指的是来自设备或传给设备的一个数据流。cout表示
13、输出流对象,它是输入输出流库的一部分。与cout 相关联的设备是显示器。在程序中有了关联字cout 就有了将数据流传到显示器的条件,这时用插入操作符“”将其后的数据插入到该流中去。比如下面的两条语句cout“welcome to Jin”;coutendl;插入操作符可以把多个输出数据组合或级联成单个的输出语句。,35,cin 表示输入流对象,它也是输入输出流库中的一部分,与相关联的输入设备是键盘。由键盘输入的字符串形成输入流,用提取操作符“”可将输入流存储到一个事先定义好的变量中。,提取输入流的示意图,36,注释及其重要性,注释(comments)是非常重要的一种机制。没有注释的程序不能算作
14、合格的程序。要建立这样的观念:程序是给人编的,让人家看懂是第一位重要的事情。特别是将来你可能参加一个团队,几十人甚至几百人一起合作编程,相互协同,更需将注释写得清清楚楚、明明白白,因此,我们规定程序中须有如下内容:程序名称程序要实现的功能,比如要完成什么数学运算程序的思路和特点编程的人与合作者编程的时间,修改后的第几版本对初学者,希望每条语句都加上注释,要求注明这条语句是做什么用的,37,经典例题,例题7.输入十进制的整数,按照十六进制输出。,38,经典例题,例题8.从键盘的输入学号、姓名和性别,将结果写入文本文件student.txt中。,39,本讲小结,作业:编写一个求3个数中最小的一个数。编写程序输出如下的信息:*,计算机语言发展历程C和C+的基础知识,