欢迎来到天天文库
浏览记录
ID:37582186
大小:389.81 KB
页数:17页
时间:2019-05-12
《程序设计基本概念2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、全国计算机等级考试二级教程——C语言程序设计马峻E-mail:majunes@163.com第一章程序设计基本概念1.1程序和程序设计1.1.1C程序将需要计算机做的工作写成一定形式的指令,并把它们存储在计算机内部的存储器中,当我们给出命令之后,它就按指令顺序自动进行操作。我们把这种可以连续执行的指令集合叫做“程序”。所以说,程序就是人与机器“沟通”的语言,也就是我们常说的“程序设计语言”。程序设计语言的种类很多,用什么样的语言写的程序指令就叫什么程序,比如说用VB、C++、Java等语言写的程序就相应叫VB程序、C
2、++程序、Java程序,当然用C语言写的程序就叫C程序。计算机本身是不能直接识别由上面所说的高级语言编写的程序的,它只能接受和处理由0和1的代码构成的二进制指令或数据。这种形式的指令是面向机器的,因此叫它“机器语言”。那么由高级语言写出来的程序叫“源程序”,把由二进制代码表示的程序称为“目标程序”。因此,在编写完源程序以后,若想在机器上执行该程序,就要有一种被叫做“编译程序”的软件把源程序翻译成“目标程序”。每种高级语言都有与它对应的编译程序。如C语言的编译程序TurboC.C语言源程序C语言编译程序二进制机器指令经
3、过编译成C源程序后缀为.C,经过C编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件,把.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。可通过点击或者输入该文件的名字就可以执行这个文件了。例题:在TurboC环境中用RUN命令运行一个C程序时,所运行的程序后缀名是?1.1.2程序设计简单程序设计一般包含以下几个部分:1.确定数据结构。根据提出的要求和指定的输入输出,确定存放数据的数据结构。2.确定算法。针对数据结构来确定解决问题
4、的步骤。3.编码。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘,简称编程。4.在计算机上调试程序。消除语法错误和逻辑错误;输入数据对程序进行测试。5.整理并写出文档资料。1.2算法学习计算机程序设计的目的就是在用语言作为工具,设计出可供计算机运行的程序。那么,如何对一个已知的问题进行有效的求解呢?怎样才能编写出程序呢?一般来说,除了待定合理的数据结构外,关键的一步是设计算法,有了一个好的算法,就可以用任何一种计算机高级语言把算法转换为程序(编写程序)。算法——为解决某个特定的问
5、题而采取的确定且有限的步骤。算法的五个特性:1.有穷性;2.确定性;3.可行性;4.有0个或多个输入;5.有1个或多人输出;算法的描述方法:伪代码和流程图。传统结构化流程图开始或终止处理框输入输出框判断框流程线连接点N—S流程图去除传统流程图中的流程线,算法的每一步都用一个矩形框描述,把一个个矩形框按执行次序连接起来。1.3结构化程序设计和模块化结构1.3.1结构化程序结构化程序由三种基本结构组成:1.顺序结构;2.选择结构;3.循环结构。顺序结构ABAB流程图N-S图PAB真假PBA真假二分支选择结构选择结构多分支
6、选择结构kA1A2AiAnk=k2k=k1k=knk=ki......循环结构当型循环结构直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构已经证明,由三种基本结构所络组成的算法可以解决任何复杂的问题。由三种基本结构所构成的算法称为结构化算法;由三种基本结构所构成的程序称为结构化程序。例1.1先后输入若干个整数,要求打印出其中最大的数,当输入的数小于0时结束。用N-S流程图表示算法。解题思路:先输入一个数,在没有其他数参加比较之前,它显然是当前最大的数
7、,把它放到变量max中,让max始终存放当前已比较过的数中上最大值。然后输入第二个数,并与max比较,如果第二个数大于max,则用第二个数替换max中原来的值;如果第二个数小于max,则max中原来的值保持不变。如此循环下去,直到输入的数小于0时程序结束。最后max中的值就是所有输入数中的最大值。根据上面的思路,画出N-S流程图。变量x用来控制循环的次数,当x>0时,执行循环体;在循环体内进行两个数的比较和和输入新的x值。读入一个数给xmax=x当x>0时输出maxx>maxmax=x是否读入一个新数给x例1.1程序
8、的N-S流程图1.3.2模块化结构当计算机在处理比较复杂的任务时,所编写的程序经常会很长,而且通常情况下是由多人来完成的。这时就需要要处理的复杂问题分解成若干个子问题,如果这些子问题仍然很大,可以再划分更小的子问题,直到划分的子问题比较容易求解。而这个容易求解的小问题我们可以叫做一个模块。通常我们称这样的程序设计方法为“模块化”的方法,由一个个
此文档下载收益归作者所有