《2022年第章C语言编程基础 .pdf》由会员分享,可在线阅读,更多相关《2022年第章C语言编程基础 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本文由贡献文档可能在端浏览体验不佳。建议您优先选择,或下载源文件到本机查看。第章语言编程基础章语言编程基础语言是语言是系统中最常用的程序设计语言系系统中最常用的程序设计语言语言是系统中最常用的程序设计语言系统中的大多数软件提供了语言接口和源代码语言接口和源代码,统中的大多数软件提供了语言接口和源代码,供用户扩展和改进软件的功能,或基于这些软件构成新软件和改进软件的功能,或基于这些软件构成新软件正因为如此,在开源软件开发过程中可以很容易学习到他人的开发经项目为语言开发提供了丰富的工具验项目为语言开发提供了丰富的工具,充分利用现项目为语言开发提供了丰富的工具,有的代码资源和这些开发工具可将学习到的
2、知识付诸实践,有的代码资源和这些开发工具可将学习到的知识付诸实践,从而更快速地掌握语言开发技术语言开发技术从而更快速地掌握语言开发技术程序设计语言的发展程序设计语言是用来描写计算机程序的逻辑语法结构它已成为一种学科,它已成为一种学科,同时也是程序设计者之间的交流方式过去,程序设计语言是针对特定的计算机设计,过去,程序设计语言是针对特定的计算机设计,程序员针对计算机的不同结构设计特定算法或者数据结构对计算机的不同结构设计特定算法或者数据结构随着计算机技术的发展,机技术的发展,很多程序设计语言已能够运行在多种计算机平台上,并能在不同平台之间移植正是因为如此,平台上,并能在不同平台之间移植正是因为如
3、此,程序员才会试图使程序代码更容易阅读在过去的几十年间,才会试图使程序代码更容易阅读在过去的几十年间,大量的编程语言被发明,被取代,被修改或组合在一起的编程语言被发明,被取代,被修改或组合在一起机器语言电子计算机由复杂的逻辑电路所组成,它能够电子计算机由复杂的逻辑电路所组成,它能够认识的仅仅是和所代表二进制数字信号的仅仅是和所代表二进制数字信号最初的计算所代表二进制数字信号机语言,也就是以二进制数字所组成的逻辑序列,机语言,也就是以二进制数字所组成的逻辑序列,称为机器语言每个二进制字符称为位(),),计算机最小的存储语言每个二进制字符称为位(),计算机最小的存储单元是个位所组成的比特个位所组成
4、的比特()机器语言难于阅读单元是个位所组成的比特()机器语言难于阅读,)机器语言难于阅读,并只能针对特定的计算机编写,代码无法移植并只能针对特定的计算机编写,代码无法移植汇编语言为了减轻程序设计的劳动强度,为了减轻程序设计的劳动强度,计算机科学家设计了一些简洁的英文缩写来替代用于控制或表明数据类型的二进制逻辑序列例如,表示两个变量相加,制逻辑序列例如,表示两个变量相加,表表示两个变量相加表示读取端口数据,于是诞生了汇编语言示读取端口数据,于是诞生了汇编语言高级语言高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到面向对象的转变相应的,计语言,从面向过程到面向对象的转变相应的,软
5、件的开发也由最初的个体手工作坊式封闭生产,发展为产业化,发也由最初的个体手工作坊式封闭生产,发展为产业化,流水线式工业化生产随着程序设计语言的进步,程序设计方水线式工业化生产随着程序设计语言的进步,法随之也愈加丰富法随之也愈加丰富高级语言的下一个发展目标是面向应用,也就是说:高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言进行处理,这就是非过程化的程序语言语言的特点语言的特点语言,是一种通用的,程序式的编程语言,广泛用于语言,是一种通用的,程序式名师资料总结 -
6、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 的编程语言,语言系统与应用软件的开发具有高效,灵活,功能丰富,系统与应用软件的开发具有高效,灵活,功能丰富,表达力强和较高的移植性等特点,在程序员中备受青睐语言力强和较高的移植性等特点,在程序员中备受青睐语言是由的研制者丹尼斯里奇()和肯汤的研制者丹尼斯里奇是由的研制者丹尼斯里奇()和肯汤普逊(年研制出的语言的基础上普逊()在年研制出的语言的基础上)年研制出的发展和完善起来的发展和完善起来的语言是中
7、级语言语言是中级语言语言通常称为中级语言,这是因为它有着与汇编语言语言通常称为中级语言,语言通常称为中级语言类似,能直接访问计算机底层资源的能力,类似,能直接访问计算机底层资源的能力,同时它又具备了高级语言的各种优点作为中级语言,允许对位允许对位,高级语言的各种优点作为中级语言,允许对位,字节和地址这些计算机功能中的基本成分进行操作语言程序非地址这些计算机功能中的基本成分进行操作语言程序非常容易移植,甚至可以设计出能同时运行在系统和常容易移植,甚至可以设计出能同时运行在系统和,等操作系统上的软件等操作系统上的软件,等操作系统上的软件语言是结构化语言语言是结构化语言结构化语言所使用的设计方法为模
8、块化设计方法,结构化语言所使用的设计方法为模块化设计方法,每个子问题求解的步骤被定义为模块语言中,个子问题求解的步骤被定义为模块在语言中,函数就是语言中模块化的体现函数之间是相互独立的,模块化的体现函数之间是相互独立的,函数内的数据只能通过接口进行传递语言程序中,数据与代码是分离的,通过接口进行传递语言程序中,数据与代码是分离的,语言程序中数据在各个函数之间通过接口传递因此,数据在各个函数之间通过接口传递因此,设计良好的函数能够在多个程序间反复使用,构成了代码复用的基础能够在多个程序间反复使用,构成了代码复用的基础语言是程序员的语言语言是程序员的语言程序设计语言中,程序设计语言中,有许多是针对
9、非程序员所设计的语大多数解释性语言都是非程序员的语言,例如,言,大多数解释性语言都是非程序员的语言,例如,这一类语言虽然容易学习,但是所生产的程序这一类语言虽然容易学习,执行效率低,可靠性差,不能访问计算机底层的资源执行效率低,可靠性差,不能访问计算机底层的资源与其形成鲜明对比的是语言由于程序生成,语言,形成鲜明对比的是语言,由于程序生成,修改和现场测试自始至终均由真正的程序员进行,自始至终均由真正的程序员进行,因而它实现了程序员的期很少限制,语法自由,具备块结构和独立的函数,望:很少限制,语法自由,具备块结构和独立的函数,以及紧凑的关键字集合语言编程,紧凑的关键字集合用语言编程,程序员可以获
10、得高效机语言编程器代码,其效率几乎接近汇编语言代码器代码,其效率几乎接近汇编语言代码语言的程序结构语言的程序结构任何一种程序设计语言都具有特定的语法规则和规定的表达方法的表达方法一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解同时也便于阅读和理解基本程序结构基本程序结构就是从上至下顺序执行的程序,语言程基本程序结构就是从上至下顺序执行的程序,语言程序必须有且只有一个主函数,程序从主函数开始执行,序必须有且只有一个主函数,程序从主函数开始执行,直到主函数结束主函数结束语言程序为函数
11、模块结构,所有的语言程序都是由语言程序为函数模块结构,语言程序为函数模块结构所有的语言程序都是由一个或多个函数构成语言程序的函数可分为编译器提供一个或多个函数构成语言程序的函数可分为编译器提供的标准函数和由用户自己定义的函数的标准函数和由用户自己定义的函数函数库和链接函数的集合称之为函数库,遵守函数的集合称之为函数库,遵守标准的编译器标准的编译器所提供函数组成的函数库称之为标准函数库编写标准函名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - -
12、- - - 数库所提供函数组成的函数库称之为标准函数库程序时用到的函数许多都可以在标准函数库中找到,程序时用到的函数许多都可以在标准函数库中找到,他们是可以简单地组合起来的程序构件可以简单地组合起来的程序构件编写了一个经常要用的函数之后,也可将其放入自定义的库中备用数之后,也可将其放入自定义的库中备用编译器编译源代码时以函数为单位进行编译,编译器编译源代码时以函数为单位进行编译,并记忆函数的名字随后,函数的名字随后,编译器以源文件中的顺序去查找函数间的关系,并且在可执行文件内部实现函数间的可访问性,该的关系,并且在可执行文件内部实现函数间的可访问性,过程称之为链接过程称之为链接开发一个语言程序
13、开发一个语言程序程序开发是一个科学的过程,开发一个语言程序通常程序开发是一个科学的过程,开发一个语言程序通常可概括为以下四个步骤:可概括为以下四个步骤:程序设计编写源代码程序测试程序运行语言的关键字语言的关键字关键字是已被语言标准作为命令,关键字是已被语言标准作为命令,数据类型或者固定语言标准作为命令函数名的字母组合关键字不能被用做变量名或函数名函数名的字母组合关键字不能被用做变量名或函数名表列举了语言的个关键字,他们遵循语言的语法使用列举了语言的个关键字,列举了语言的个关键字他们遵循语言的语法使用形成了程序设计语言程序设计语言,形成了程序设计语言算法关于计算机程序的定义,关于计算机程序的定义
14、,有一种经典的表述是程序等于数据结构加上算法这句话可以解释为,于数据结构加上算法这句话可以解释为,数据结构是将事物抽象成为可运算的数据形式输入到计算机中,物抽象成为可运算的数据形式输入到计算机中,而算法是对这些数据计算的方法例如求某个学生的平均分,这些数据计算的方法例如求某个学生的平均分,那么数据结构由课程名称和分值组成,结构由课程名称和分值组成,求平均分的算法是将分值的总和除以课程总数对于一些特殊的问题,例如排序,和除以课程总数对于一些特殊的问题,例如排序,解方程编码等,出现了许多适合计算机运算的算法,编码等,出现了许多适合计算机运算的算法,这些算法甚至专门针对于某个程序设计语言由此可见,至
15、专门针对于某个程序设计语言由此可见,程序设计的关键之一,是解题的方法与步骤,是算法键之一,是解题的方法与步骤,是算法流程图与算法的结构化描述流程图可用来描述事务的处理过程,流程图可用来描述事务的处理过程,因此是最早引入计算机算法设计领域的图示方法计算机算法设计领域的图示方法基本流程图的形状如图所示所示所示顺序结构选择结构循环结构用图描述算法图描述算法除了传统的流程图以外,除了传统的流程图以外,还有很多种图形可以用来描述程序的结构图就是其中的一种,述程序的结构图就是其中的一种,它由矩形组成,一图就是其中的一种它由矩形组成,个程序模块是最外围的矩形外框,程序中的每个步骤都是一个程序模块是最外围的矩
16、形外框,个内嵌的小矩形,如图所示所示个内嵌的小矩形,如图所示用图描述算法图描述算法图()是国际上专业的程序图)员广泛使用的一种程序流程表示法与其他图形相比,图更员广泛使用的一种程序流程表示法与其他图形相比,图更容易描述扁平化的程序结构特别是一些应用管理类软件,容易描述扁平化的程序结构特别是一些应用管理类软件,其中都会有很多扁平化的分支语句,这些语句用描述更为清晰都会有很多扁平化的分支语句,这些语句用描述更为名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - -
17、 - - - - - - 清晰描述更为清晰软件工程概览软件工程是计算机科学的一个重要分支,软件工程是计算机科学的一个重要分支,所涉及的范围非常广泛包括软件开发技术,软件工程环境,围非常广泛包括软件开发技术,软件工程环境,工程经济学和工程管理等许多知识领域学和工程管理等许多知识领域本节主要介绍软件工程的基本任务和常用的软件项目开发模型,本任务和常用的软件项目开发模型,以及如何通过软件工程指导语言编程其中,语言编程指导语言编程其中,朴素软件工程思想是一套在教学中总结出的软件开发规律,总结出的软件开发规律,它的主要目的是指导编程语言课程设计,也可用于少数开发者参与的软件项目设计,也可用于少数开发者参
18、与的软件项目认识软件工程软件工程存在于各种应用中,存在于软件开发的各个方面软件工程存在于各种应用中,存在于软件开发的各个方面而程序设计只包含了程序设计和编码的反复迭代的过程,而程序设计只包含了程序设计和编码的反复迭代的过程,它是软件开发的一个阶段件开发的一个阶段软件工程力图对软件项目的各个方面做出指从软件的可行性分析直到软件完成以后的维护工作导,从软件的可行性分析直到软件完成以后的维护工作用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发人员应少而精实践中不断改进软件工程瀑布模型及其改进瀑布模型是由温斯顿罗伊斯(瀑布模型是由温斯顿罗伊斯(
19、)在年最初提出罗伊斯)年最初提出的软件开发模型瀑布模型将软件开发过程定义为个步骤个步骤,的软件开发模型瀑布模型将软件开发过程定义为个步骤,分别是问题定义,需求分析,设计原型,实现与单元测试,集成与系统维护,定义,需求分析,设计原型,实现与单元测试,集成与系统维护,发布运行与维护,运行与维护迭代发布模型迭代发布模型是一种与传统软件工程开发相反的软件开发过程,它弥补了传统开发方式中的一些缺点,开发过程,它弥补了传统开发方式中的一些缺点,具有更高的成功率和生产率的成功率和生产率朴素软件工程思想朴素软件工程思想将迭代发布模型简化为四个步骤,朴素软件工程思想将迭代发布模型简化为四个步骤,然后反复循环这四
20、个步骤直到软件生命周期结束这四个步骤分别是:复循环这四个步骤直到软件生命周期结束这四个步骤分别是:确定项目视图与范围软件设计编码发布项目需求()项目背景,用于说明问题产生的原因()用户需求,列出用户所需求的软件产品面貌()提供给用户的价值,说明解决所面对问题的价值()项目视图陈述,描述如何通过软件解决用户的问题()主要特性,列出软件的主要功能和技术()假设和依赖环境,列出解决问题的假设条件,以及所依赖的各种环境()首次发行的范围,即本次迭代过程所要解决的问题()随后发现的范围,留在将来解决的问题()局限性和专用性,确定解决方案局限的硬件,软件环境,以及适用于哪一部分用户项目视图的解决方案范围和
21、局限性小结本章介绍了语言基础知识和程序设计知识,本章介绍了语言基础知识和程序设计知识,将多变的语言基础知识和程序设计知识程序结构总结成三种基本结构,同时引入流程图的概念,程序结构总结成三种基本结构,同时引入流程图的概念,流程图能将任何复杂的程序抽象为程序员间通用的符号语言程图能将任何复杂的程序抽象为程序员间通用的符号语言另外,本章介绍了算法的概念和软件工程知识,另外,本章介绍了算法的概念和软件工程知识,将程序设计和软件开发作为一门工程学对待和软件开发作为一门工程学对待这些内容与实际的软件开发工作完全一致,需要读者深入的理解与掌握发工作完全一致,需要读者深入的理解与掌握名师资料总结 - - -精
22、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 本文由贡献文档可能在端浏览体验不佳。建议您优先选择,或下载源文件到本机查看。第章语言编程基础章语言编程基础语言是语言是系统中最常用的程序设计语言系系统中最常用的程序设计语言语言是系统中最常用的程序设计语言系统中的大多数软件提供了语言接口和源代码语言接口和源代码,统中的大多数软件提供了语言接口和源代码,供用户扩展和改进软件的功能,或基于这些软件构成新软件和改进软件的功能,或基于这些软件构成新软件正因为如此,在
23、开源软件开发过程中可以很容易学习到他人的开发经项目为语言开发提供了丰富的工具验项目为语言开发提供了丰富的工具,充分利用现项目为语言开发提供了丰富的工具,有的代码资源和这些开发工具可将学习到的知识付诸实践,有的代码资源和这些开发工具可将学习到的知识付诸实践,从而更快速地掌握语言开发技术语言开发技术从而更快速地掌握语言开发技术程序设计语言的发展程序设计语言是用来描写计算机程序的逻辑语法结构它已成为一种学科,它已成为一种学科,同时也是程序设计者之间的交流方式过去,程序设计语言是针对特定的计算机设计,过去,程序设计语言是针对特定的计算机设计,程序员针对计算机的不同结构设计特定算法或者数据结构对计算机的
24、不同结构设计特定算法或者数据结构随着计算机技术的发展,机技术的发展,很多程序设计语言已能够运行在多种计算机平台上,并能在不同平台之间移植正是因为如此,平台上,并能在不同平台之间移植正是因为如此,程序员才会试图使程序代码更容易阅读在过去的几十年间,才会试图使程序代码更容易阅读在过去的几十年间,大量的编程语言被发明,被取代,被修改或组合在一起的编程语言被发明,被取代,被修改或组合在一起机器语言电子计算机由复杂的逻辑电路所组成,它能够电子计算机由复杂的逻辑电路所组成,它能够认识的仅仅是和所代表二进制数字信号的仅仅是和所代表二进制数字信号最初的计算所代表二进制数字信号机语言,也就是以二进制数字所组成的
25、逻辑序列,机语言,也就是以二进制数字所组成的逻辑序列,称为机器语言每个二进制字符称为位(),),计算机最小的存储语言每个二进制字符称为位(),计算机最小的存储单元是个位所组成的比特个位所组成的比特()机器语言难于阅读单元是个位所组成的比特()机器语言难于阅读,)机器语言难于阅读,并只能针对特定的计算机编写,代码无法移植并只能针对特定的计算机编写,代码无法移植汇编语言为了减轻程序设计的劳动强度,为了减轻程序设计的劳动强度,计算机科学家设计了一些简洁的英文缩写来替代用于控制或表明数据类型的二进制逻辑序列例如,表示两个变量相加,制逻辑序列例如,表示两个变量相加,表表示两个变量相加表示读取端口数据,于
26、是诞生了汇编语言示读取端口数据,于是诞生了汇编语言高级语言高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到面向对象的转变相应的,计语言,从面向过程到面向对象的转变相应的,软件的开发也由最初的个体手工作坊式封闭生产,发展为产业化,发也由最初的个体手工作坊式封闭生产,发展为产业化,流水线式工业化生产随着程序设计语言的进步,程序设计方水线式工业化生产随着程序设计语言的进步,法随之也愈加丰富法随之也愈加丰富高级语言的下一个发展目标是面向应用,也就是说:高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,只需要告诉程序你要干什么,程序就能自动生
27、成算法,自动进行处理,这就是非过程化的程序语言进行处理,这就是非过程化的程序语言语言的特点语言的特点语言,是一种通用的,程序式的编程语言,广泛用于语言,是一种通用的,程序式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 的编程语言,语言系统与应用软件的开发具有高效,灵活,功能丰富,系统与应用软件的开发具有高效,灵活,功能丰富,表达力强和较高的移植性等特点,在程序员中备受青睐语言力强和较高的移植性等特点,在程序员中备受青睐语言是由
28、的研制者丹尼斯里奇()和肯汤的研制者丹尼斯里奇是由的研制者丹尼斯里奇()和肯汤普逊(年研制出的语言的基础上普逊()在年研制出的语言的基础上)年研制出的发展和完善起来的发展和完善起来的语言是中级语言语言是中级语言语言通常称为中级语言,这是因为它有着与汇编语言语言通常称为中级语言,语言通常称为中级语言类似,能直接访问计算机底层资源的能力,类似,能直接访问计算机底层资源的能力,同时它又具备了高级语言的各种优点作为中级语言,允许对位允许对位,高级语言的各种优点作为中级语言,允许对位,字节和地址这些计算机功能中的基本成分进行操作语言程序非地址这些计算机功能中的基本成分进行操作语言程序非常容易移植,甚至可
29、以设计出能同时运行在系统和常容易移植,甚至可以设计出能同时运行在系统和,等操作系统上的软件等操作系统上的软件,等操作系统上的软件语言是结构化语言语言是结构化语言结构化语言所使用的设计方法为模块化设计方法,结构化语言所使用的设计方法为模块化设计方法,每个子问题求解的步骤被定义为模块语言中,个子问题求解的步骤被定义为模块在语言中,函数就是语言中模块化的体现函数之间是相互独立的,模块化的体现函数之间是相互独立的,函数内的数据只能通过接口进行传递语言程序中,数据与代码是分离的,通过接口进行传递语言程序中,数据与代码是分离的,语言程序中数据在各个函数之间通过接口传递因此,数据在各个函数之间通过接口传递因
30、此,设计良好的函数能够在多个程序间反复使用,构成了代码复用的基础能够在多个程序间反复使用,构成了代码复用的基础语言是程序员的语言语言是程序员的语言程序设计语言中,程序设计语言中,有许多是针对非程序员所设计的语大多数解释性语言都是非程序员的语言,例如,言,大多数解释性语言都是非程序员的语言,例如,这一类语言虽然容易学习,但是所生产的程序这一类语言虽然容易学习,执行效率低,可靠性差,不能访问计算机底层的资源执行效率低,可靠性差,不能访问计算机底层的资源与其形成鲜明对比的是语言由于程序生成,语言,形成鲜明对比的是语言,由于程序生成,修改和现场测试自始至终均由真正的程序员进行,自始至终均由真正的程序员
31、进行,因而它实现了程序员的期很少限制,语法自由,具备块结构和独立的函数,望:很少限制,语法自由,具备块结构和独立的函数,以及紧凑的关键字集合语言编程,紧凑的关键字集合用语言编程,程序员可以获得高效机语言编程器代码,其效率几乎接近汇编语言代码器代码,其效率几乎接近汇编语言代码语言的程序结构语言的程序结构任何一种程序设计语言都具有特定的语法规则和规定的表达方法的表达方法一个程序只有严格按照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,方式编写,才能保证编写的程序在计算机中能正确地执行,同时也便于阅读和理解同时也便于阅读和理解基本程序结构基本程序结构就是从上至下顺序执行的程
32、序,语言程基本程序结构就是从上至下顺序执行的程序,语言程序必须有且只有一个主函数,程序从主函数开始执行,序必须有且只有一个主函数,程序从主函数开始执行,直到主函数结束主函数结束语言程序为函数模块结构,所有的语言程序都是由语言程序为函数模块结构,语言程序为函数模块结构所有的语言程序都是由一个或多个函数构成语言程序的函数可分为编译器提供一个或多个函数构成语言程序的函数可分为编译器提供的标准函数和由用户自己定义的函数的标准函数和由用户自己定义的函数函数库和链接函数的集合称之为函数库,遵守函数的集合称之为函数库,遵守标准的编译器标准的编译器所提供函数组成的函数库称之为标准函数库编写标准函名师资料总结
33、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 数库所提供函数组成的函数库称之为标准函数库程序时用到的函数许多都可以在标准函数库中找到,程序时用到的函数许多都可以在标准函数库中找到,他们是可以简单地组合起来的程序构件可以简单地组合起来的程序构件编写了一个经常要用的函数之后,也可将其放入自定义的库中备用数之后,也可将其放入自定义的库中备用编译器编译源代码时以函数为单位进行编译,编译器编译源代码时以函数为单位进行编译,并记忆函数的名字随后,函数的
34、名字随后,编译器以源文件中的顺序去查找函数间的关系,并且在可执行文件内部实现函数间的可访问性,该的关系,并且在可执行文件内部实现函数间的可访问性,过程称之为链接过程称之为链接开发一个语言程序开发一个语言程序程序开发是一个科学的过程,开发一个语言程序通常程序开发是一个科学的过程,开发一个语言程序通常可概括为以下四个步骤:可概括为以下四个步骤:程序设计编写源代码程序测试程序运行语言的关键字语言的关键字关键字是已被语言标准作为命令,关键字是已被语言标准作为命令,数据类型或者固定语言标准作为命令函数名的字母组合关键字不能被用做变量名或函数名函数名的字母组合关键字不能被用做变量名或函数名表列举了语言的个
35、关键字,他们遵循语言的语法使用列举了语言的个关键字,列举了语言的个关键字他们遵循语言的语法使用形成了程序设计语言程序设计语言,形成了程序设计语言算法关于计算机程序的定义,关于计算机程序的定义,有一种经典的表述是程序等于数据结构加上算法这句话可以解释为,于数据结构加上算法这句话可以解释为,数据结构是将事物抽象成为可运算的数据形式输入到计算机中,物抽象成为可运算的数据形式输入到计算机中,而算法是对这些数据计算的方法例如求某个学生的平均分,这些数据计算的方法例如求某个学生的平均分,那么数据结构由课程名称和分值组成,结构由课程名称和分值组成,求平均分的算法是将分值的总和除以课程总数对于一些特殊的问题,
36、例如排序,和除以课程总数对于一些特殊的问题,例如排序,解方程编码等,出现了许多适合计算机运算的算法,编码等,出现了许多适合计算机运算的算法,这些算法甚至专门针对于某个程序设计语言由此可见,至专门针对于某个程序设计语言由此可见,程序设计的关键之一,是解题的方法与步骤,是算法键之一,是解题的方法与步骤,是算法流程图与算法的结构化描述流程图可用来描述事务的处理过程,流程图可用来描述事务的处理过程,因此是最早引入计算机算法设计领域的图示方法计算机算法设计领域的图示方法基本流程图的形状如图所示所示所示顺序结构选择结构循环结构用图描述算法图描述算法除了传统的流程图以外,除了传统的流程图以外,还有很多种图形
37、可以用来描述程序的结构图就是其中的一种,述程序的结构图就是其中的一种,它由矩形组成,一图就是其中的一种它由矩形组成,个程序模块是最外围的矩形外框,程序中的每个步骤都是一个程序模块是最外围的矩形外框,个内嵌的小矩形,如图所示所示个内嵌的小矩形,如图所示用图描述算法图描述算法图()是国际上专业的程序图)员广泛使用的一种程序流程表示法与其他图形相比,图更员广泛使用的一种程序流程表示法与其他图形相比,图更容易描述扁平化的程序结构特别是一些应用管理类软件,容易描述扁平化的程序结构特别是一些应用管理类软件,其中都会有很多扁平化的分支语句,这些语句用描述更为清晰都会有很多扁平化的分支语句,这些语句用描述更为
38、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 清晰描述更为清晰软件工程概览软件工程是计算机科学的一个重要分支,软件工程是计算机科学的一个重要分支,所涉及的范围非常广泛包括软件开发技术,软件工程环境,围非常广泛包括软件开发技术,软件工程环境,工程经济学和工程管理等许多知识领域学和工程管理等许多知识领域本节主要介绍软件工程的基本任务和常用的软件项目开发模型,本任务和常用的软件项目开发模型,以及如何通过软件工程指导语言编程其中,语言
39、编程指导语言编程其中,朴素软件工程思想是一套在教学中总结出的软件开发规律,总结出的软件开发规律,它的主要目的是指导编程语言课程设计,也可用于少数开发者参与的软件项目设计,也可用于少数开发者参与的软件项目认识软件工程软件工程存在于各种应用中,存在于软件开发的各个方面软件工程存在于各种应用中,存在于软件开发的各个方面而程序设计只包含了程序设计和编码的反复迭代的过程,而程序设计只包含了程序设计和编码的反复迭代的过程,它是软件开发的一个阶段件开发的一个阶段软件工程力图对软件项目的各个方面做出指从软件的可行性分析直到软件完成以后的维护工作导,从软件的可行性分析直到软件完成以后的维护工作用分阶段的生命周期
40、计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发人员应少而精实践中不断改进软件工程瀑布模型及其改进瀑布模型是由温斯顿罗伊斯(瀑布模型是由温斯顿罗伊斯()在年最初提出罗伊斯)年最初提出的软件开发模型瀑布模型将软件开发过程定义为个步骤个步骤,的软件开发模型瀑布模型将软件开发过程定义为个步骤,分别是问题定义,需求分析,设计原型,实现与单元测试,集成与系统维护,定义,需求分析,设计原型,实现与单元测试,集成与系统维护,发布运行与维护,运行与维护迭代发布模型迭代发布模型是一种与传统软件工程开发相反的软件开发过程,它弥补了传统开发方式中的一些缺点,开发过程,它弥补了
41、传统开发方式中的一些缺点,具有更高的成功率和生产率的成功率和生产率朴素软件工程思想朴素软件工程思想将迭代发布模型简化为四个步骤,朴素软件工程思想将迭代发布模型简化为四个步骤,然后反复循环这四个步骤直到软件生命周期结束这四个步骤分别是:复循环这四个步骤直到软件生命周期结束这四个步骤分别是:确定项目视图与范围软件设计编码发布项目需求()项目背景,用于说明问题产生的原因()用户需求,列出用户所需求的软件产品面貌()提供给用户的价值,说明解决所面对问题的价值()项目视图陈述,描述如何通过软件解决用户的问题()主要特性,列出软件的主要功能和技术()假设和依赖环境,列出解决问题的假设条件,以及所依赖的各种
42、环境()首次发行的范围,即本次迭代过程所要解决的问题()随后发现的范围,留在将来解决的问题()局限性和专用性,确定解决方案局限的硬件,软件环境,以及适用于哪一部分用户项目视图的解决方案范围和局限性小结本章介绍了语言基础知识和程序设计知识,本章介绍了语言基础知识和程序设计知识,将多变的语言基础知识和程序设计知识程序结构总结成三种基本结构,同时引入流程图的概念,程序结构总结成三种基本结构,同时引入流程图的概念,流程图能将任何复杂的程序抽象为程序员间通用的符号语言程图能将任何复杂的程序抽象为程序员间通用的符号语言另外,本章介绍了算法的概念和软件工程知识,另外,本章介绍了算法的概念和软件工程知识,将程序设计和软件开发作为一门工程学对待和软件开发作为一门工程学对待这些内容与实际的软件开发工作完全一致,需要读者深入的理解与掌握发工作完全一致,需要读者深入的理解与掌握名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -