ImageVerifierCode 换一换
格式:PPT , 页数:46 ,大小:1.47MB ,
资源ID:2122631      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2122631.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第1章程序设计与软件开发基础概述.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第1章程序设计与软件开发基础概述.ppt

1、第第1章章程序设计与软件开发基础概述程序设计与软件开发基础概述第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程第二节第二节 算法与数据结构算法与数据结构第三节第三节 C语言介绍语言介绍第四节第四节 常用常用C开发工具开发工具1/46C语言程序设计语言程序设计 龙昭华主编第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)2/46一、一、各种进制之间数的转换各种进制之间数的转换十进制转换成二进制十进制转换成二进制:对于整数部分采用除2取余法,用2逐次去除十进制数,直至商为0为止。先得到的余数为二进制的低位数

2、,最后得到的余数为二进 制的最高位的数。十进制数转换成八进制、十六进制十进制数转换成八进制、十六进制:方法同转换成二进制,只是将2分别改成8 和16。二进制、八进制、十六进制数转换成十进制数二进制、八进制、十六进制数转换成十进制数:使用按权展开、逐项相加的方 法。二进制转换成八进制、十六进制二进制转换成八进制、十六进制:因为2 23 3=8=8、2 24 4=16=16,所以3位二进制对应一位 八进制,4位二进制对应一位十六进制。八进制、十六进制转换成二进制八进制、十六进制转换成二进制:上面的逆过程,将1位八进制数转成3位二进 制数,将1位十六进制数转成4位二进制数即可。例如例如:(10001

3、)B=1*24+1=(17)D=(21)O=(11)H (20)D=(10100)B=(24)O=(14)H (2B)H=2*16+11=(43)D=(53)O=(101011)B二、二、原码、反码、补码、原码、反码、补码、ASCIIASCII码码第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程3/46(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)原码:原码:在原码中规定正数符号位为0,负数符号位为1,后面的数据位则表示该 数的绝对值。如:+15原=0000000000001111B,-15原=1000000000001111B。反码:反码:在反码中规定正

4、数的反码与原码相同;负数的反码由该负数的原码进行 计算:原码符号位不变,数据位按位取反(即0变为1,1变为0)。如:+15反=0000000000001111B,-15反=1111111111110000B。补码:补码:正数的补码等于原码;负数的补码等于该负数的反码加1,即该数绝对 值的原码按位取反加1。如:+15补=+15原=0000000000001111B,-15补=1111111111110001B。ASCII 码:码:无符号整型数据值即为ASCII码值。标准ASCII码取值 0127。扩展ASCII码取值 128255。如:字母AZ的ASCII码值为6590。注意:注意:在计算机中,

5、数值数据是用补码方式表示的,而字符数据是用ASCII码表示的。三、三、编程语言编程语言第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程4/46第一代语言第一代语言又称“机器语言”,是计算机诞生和发展初期使用的语言,它是用二 进制形式编码的,由CPU可以识别的0、1序列构成指令码。第二代语言第二代语言是“汇编语言”,它开始于20世纪50年代初,是用助记符来表示每一 条机器指令。第一代语言和第二代语言都是低级语言。第三代语言第三代语言即“高级语言”,它起源于20世纪50年代中期,与人们的自然语言和 数学语言更接近,可读性强,编程方便。它告诉计算机怎么做。如:BASIC,FORTRAN、C

6、OBOL、PASCAL、C等。C语言也是中级语言,它把 高级语言的基本结构和语句与低级语言的实用性结合起来。第四代语言第四代语言称为“非过程化语言”,又称为“面向对象的语言”。它告诉计算机做 什么。不必关心问题的解法和处理过程的细节描述,只要说明所要完成的 加工和条件,指明输入数据和输出形式,就能得到要的结果,其他工作由 系统来完成。如:C+、Visual C+、DELPHI等。第五代语言第五代语言,堪称智能性语言。PROLOG语言是第五代语言的代表,他广泛运用 于抽象问题求解、数据逻辑、公式处理、自然语言理解、专家系统和人工 智能的许多领域。(第一章(第一章 程序设计与软件开发基础概述)程序

7、设计与软件开发基础概述)四、四、软件工程软件工程第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程5/46 2 2、软件工程概念、软件工程概念 软件工程软件工程是采用工程的概念、原理、技术和方法来维护和开发软件,把经时间考验证明正确的管理技术和当前能够得到的最好的技术方法结合起来。1 1、软件危机的表现、软件危机的表现 软件复杂性飞速增长,错误率大增 落后编程方式导致软件成本极高 手工开发周期长 维护工作量大 软件工程强调使用生命周期生命周期的方法和各种结构化分析与设计技术,用系统的观点来分解问题,然后再分别解决各个子问题。软件生命软件生命淘汰淘汰软件运行:维护软件运行:维护软件开发软

8、件开发软件实现(编程、测试)软件实现(编程、测试)软件设计(建模、算法)软件设计(建模、算法)软件定义(分析)软件定义(分析)编制有关文档(用户手册、操作手册等、报告)编制有关文档(用户手册、操作手册等、报告)系统说明书系统说明书设计说明书设计说明书程序、系统程序、系统(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)3、软件开发模型、软件开发模型第一节第一节 基础知识回顾与软件工程基础知识回顾与软件工程6/46(1)(1)、瀑布模型:、瀑布模型:支持结构化软件开发。(2)(2)、演化模型:、演化模型:多次迭代逐步修正。(3)(3)、螺旋模型:、螺旋模型:瀑布模型+演化

9、模型+风险分析。(4)(4)、喷泉模型:、喷泉模型:主要用于面向对象开发过程,支持复用,具有迭代和无间歇特征。(5)(5)、增量模型:、增量模型:快速原型模型的一种。系统需求系统需求运行运行测试测试需求分析需求分析软件需求软件需求设计设计编码编码(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)第二节第二节 算法与数据结构算法与数据结构7/46一、一、数据结构的概念数据结构的概念程序程序:程序实质是完成既定任务的指令序列。而编写程序的工具是语言。程序程序=数据结构数据结构+算法算法 +程序设计方法+语言工具环境 算法是灵魂,是问题求解过程中的精确描述;数据结构是加工对象

10、;语言是工 具;编程需要采用合适的方法。数据:数据:是对客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素:数据元素:是数据的基本单位,在程序中通常作为一个整体进行考虑和处理。一个数 据元素可由若干个数据项数据项组成。数据项是数据的不可分割的最小单位。如一本 书的书目为一个数据元素,而书目信息中的每一项(如书名、作者名等)为一个 数据项。数据对象:数据对象:是性质相同的数据元素的集合,是数据的一个子集。数据结构:数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。结构:结构:数据元素相互之间的关系称为结构。数据的逻辑结构:数据的逻辑结构:数据元素间的逻辑

11、上的联系称为数据的逻辑结构。数据结构中的元素之间的关系集合,反映的是数据的逻辑结构。数据结构研究的内容着重于数据的逻辑结构,因此经常把逻辑结构称为数据结构。数据的存储结构:数据的存储结构:数据的逻辑结构在计算机存储设备中的映像称为数据的存储结构。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)二、二、数据结构的分类数据结构的分类第二节第二节 算法与数据结构算法与数据结构8/46根据数据元素之间关系的不同特性,数据结构有4类基本结构:集合:集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。线性结构:线性结构:结构中的数据元素之间存在一个对一个(简记

12、为1:1)的关系。树形结构:树形结构:结构中的数据元素之间存在一个对多个(简记为1:N)的关系。图状图状(网状网状)结构:结构:结构中的数据元素之间存在多个对多个(简记为M:N)的关系。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)逻辑结构逻辑结构线性线性存储结构存储结构非线性非线性树树图图顺序存储结构顺序存储结构链式存储结构链式存储结构数据结构数据结构索引存储结构索引存储结构散列存储结构散列存储结构最常用的抽象运算:初始化、读取访问、插入、删除等抽象运算:初始化、读取访问、插入、删除等三、三、算法概述算法概述第二节第二节 算法与数据结构算法与数据结构9/46算法:

13、算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法解决的是“做什么”和“怎么做”的问题,程序中的操作语句就是算法的体现。计算机算法可分为两大类:计算机算法可分为两大类:数值运算算法、非数值运算算法。数值运算算法:数值运算算法:数值运算的目的是求数值解,如:求方程的根、函数的定积分等。非数值运算算法:非数值运算算法:应用十分广泛,如:图书检索、人事管理、行车调度管理、排序算法等。常用算法:常用算法:递推化算法(牛顿迭代法、二分法、梯形法、穷举法等);排序算法(选择法、冒泡法);查找算法(顺序查找、折半查找);有序数列的插入、删除操作;存储区的动态分配

14、与释放,单向线性链表的建立、查找、插入、删除操作;初等数论问题求解的有关算法(最大公约数、最小公倍数、素数等);递归算法(求最大公约数、阶乘等);字符串的处理(字符和字符串的插入、删除、字符串的连接、比较等)。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)算法具有算法具有5 5个特性:个特性:第二节第二节 算法与数据结构算法与数据结构10/46有穷性:有穷性:对任何合法的输入值,算法中每个步骤由计算机执行的次数及时间都是有限的。确定性:确定性:算法中每个步骤含义明确,无二义性。在任何条件下,相同的输入,必有相同的输出。可行性:可行性:算法中描述的操作都可通过有限次的

15、基本运算来实现。输入:输入:一个算法应具有零个或多个输入。(无输入情况:如求:1*2*3*4*5)。输出:输出:一个算法应具有一个或多个输入。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)算法的设计目标:算法的设计目标:第二节第二节 算法与数据结构算法与数据结构11/46正确性:正确性:设计的算法应当满足具有输入、输出和加工处理等明确的无歧义性 的描述的具体问题的需求。验证正确性通常有4个层次:程序不含语法错误;程序对于几组输入数据能够得出满足规格说明要求的结果;程序对于精心选择的典型、苛刻而带有刁难性的几组输入数据能 够得出满足规格说明要求的结果;程序对于一切合法

16、的输入数据能够得出满足规格说明要求的结 果。一般情况至少通过第层的验证。可读性:可读性:算法主要是为了阅读与交流,其次才是机器执行。可读性好有助于 人对算法的理解;难懂的程序易于隐藏较多错误,难以调试和修改。健状性:健状性:当输入非法数据时,算法也能适当地做出反应或进行处理,而不会 产生莫名其妙的输出结果。效率与低存储量的需求:效率与低存储量的需求:主要指算法执行时的最长时间与所需的最大存储空 间。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)四、四、算法的表示方法算法的表示方法第二节第二节 算法与数据结构算法与数据结构12/461、用自然语言表示算法:、用自然语言表示算法:自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”。除了简单问题外,一般不用自然语言描述算法。(第一章(第一章 程序设计与软件开发基础概述)程序设计与软件开发基础概述)例例 1.1:用自然语言写出求的算法。解:解:算法表示如下:S1:sign=1/*数值的符号*/S2:sum=1/*累加和*/S3:deno=2/*分母值*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1