高级程序设计语言概述.ppt_第1页
高级程序设计语言概述.ppt_第2页
高级程序设计语言概述.ppt_第3页
高级程序设计语言概述.ppt_第4页
高级程序设计语言概述.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲 高级语言程序设计概述,金世双 编著,2,本讲主要内容,程序设计语言发展历程,1,C与C+集成环境,2,C与C+的程序组成,3,简单输入输出操作,4,3,0. 序言,教学对象 计算机科学与技术系 教学目标 程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试,4,学习的重点 程序设计的基本概念,基本方法; 在 C/C+语言的环境下,学会如何针对问题进行分析,构建数学模型,寻找算法并编程实现; 有条有理有根有据的编程实践; 养成良好的编程风格与习惯; 重在思维方法的学习,鼓励创新。,5,教学内容安排 1.概论:程序设计的基本概念与基本方法;怎样才能学好这门基础课 2. 程序的基本结构 3. 编程关键:逻辑思维与问题求解人是怎样让计算机帮助自己解题的 4. 数据的组织方式一:数组 5. 模块化:函数与函数调用 6. 分治思想:递归算法及其实现 7. 逻辑指代与物理指代:指针 8. 数据的组织方式二:结构,6,9. 蒙特卡洛法 10.贪心法 11.动态规划 12. 数据的组织方式三:链表与树 13.数据的组织方式四:文件,数据的永久存储与重复使用 14.面向对象程序设计,7,1. 程序设计语言发展历程,程序设计语言的轨迹,8,C语言发展过程 产生背景 产生过程 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著The C Programming Language ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C,C语言发展的历程,9,C+语言发展的历程,C+是在C语言的基础上发展和完善的,而C是吸收了其它语言的优点逐步成为实用性很强的语言。 随着20世纪70年代C语言应用的推广,C语言存在的一些缺陷或不足也开始流露出来,并受到大家的关注。如:C语言对数据类型检查的机制比较弱;缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型的程度等等。,10,为了克服C语言本身存在的缺点,并保持C语言简洁、高效,并与汇编语言接近的特点,1980年,贝尔实验室的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+ 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月, 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程序开发步骤,程序代码的录入, 生成源程序*.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. 求两个数中最大的一个数。 求三个数最大的一个数呢? 更多个呢? 要求:用C和C+两种语言编写。,思考: 求两个数的和。 求三个数的和呢? 更多个呢?,19,3. C与C+的程序组成,C语言程序的组成 一个程序由一个或多个源程序文件组成 小程序往往只包括一个源程序文件 一个源程序文件中可以包括三个部分: 预处理指令 全局声明 函数定义,#include 等,在函数之外进行的数据声明,每个函数用来实现一定的功能,20,C语言程序的结构,函数是C程序的主要组成部分 一个C程序是由一个或多个函数组成的 必须包含一个main函数(只能有一个) 每个函数都用来实现一个或几个特定功能 被调用的函数可以是库函数,也可以是自己编制设计的函数,21,C语言程序的结构,C语言程序的结构特点: 一个函数包括两个部分: 函数首部 int max ( int x , int y ),函数类型,函数名,参数类型,参数名,若函数无参,在括弧中写void或空括弧,22,C语言程序的结构,函数体 声明部分 定义在本函数中所用到的变量 对本函数所调用函数进行声明 执行部分:由若干个语句组成,指定在函数中所进行的操作 可以是空函数,如: void dump ( ) ,可以没有声明部分,23,C语言程序的结构特点:,程序总是从main函数开始执行 C程序对计算机的操作由C语句完成 C程序书写格式是比较自由的 一行内可以写几个语句 一个语句可以分写在多行上 为清晰起见,习惯上每行只写一个语句 程序总是从main函数开始执行 C程序对计算机的操作由C语句完成 数据声明和语句最后必须有分号 C语言本身不提供输入输出语句 程序应当包含注释,增加可读性,24,C+程序的组成,C+源代码一般都由若干函数和类组成。为了便于管理,一般把不同功能的函数和类放在不同的文件中,对于类的声明和实现也分别放在对应的.h(或.hpp)和.cpp文件中。 由于文件较多,所以为了便于管理,一般的集成开发工具都会提供工程(Project)管理功能来管理这些文件,对源文件进行编译和链接。,25,26,经典例题,例题3. 输入下图所示的程序。 * * 1 * * 2 * * 3 * * 要求:用C和C+两种语言编写。,27,经典例题,例题4. 求一个数的平方。,引申 double pow(double x,double y)库函数,28,4. 简单输入输出操作,输入输出是程序中最基本的操作之一。 所谓输入输出是以计算机主机为主体而言的 从计算机向输出设备(如显示器、打印机等)输出数据称为输出 从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为输入,29,语言输入输出语句,语言本身不提供输入输出语句 输入和输出操作是由C标准函数库中的函数来实现的。主要是printf函数和scanf函数 printf和scanf不是语言的关键字,而只是库函数的名字 还有putchar、getchar、puts、gets等等,在使用输入输出函数时,要在程序文件的开头用预编译指令 #include 或 #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表示输出流对象,它是输入输出流库的一部分。与cout 相关联的设备是显示器。在程序中有了关联字cout 就有了将数据流传到显示器的条件,这时用插入操作符“ ” 将其后的数据插入到该流中去。比如下面的两条语句 cout“welcome to Jin”; coutendl; 插入操作符可以把多个输出数据组合或级联成单个的输出语句。,35,cin 表示输入流对象,它也是输入输出流库中的一部分,与相关联的输入设备是键盘。 由键盘输入的字符串形成输入流,用提取操作符“ ”可将输入流存储到一个事先定义好的变量中。,提取输入流的示意图,36,注释及其重要性,注释(comments)是非常重要的一种机制。没有注释的程序不能算作合格的程序。要建立这样的观念:程序是给人编的,让人家看懂是第一位重要的事情。特别是将来你可能参加一个团队,几十人甚至几百人一起合作编程,相互协同,更需将注释写得清清楚楚、明明白白,因此,我们规定程序中须有如下内容: 程序名称 程序要实现的功能,比如要完成什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论