程序设计基础知识

上传人:桔**** 文档编号:473682644 上传时间:2022-11-28 格式:DOCX 页数:11 大小:111.54KB
返回 下载 相关 举报
程序设计基础知识_第1页
第1页 / 共11页
程序设计基础知识_第2页
第2页 / 共11页
程序设计基础知识_第3页
第3页 / 共11页
程序设计基础知识_第4页
第4页 / 共11页
程序设计基础知识_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《程序设计基础知识》由会员分享,可在线阅读,更多相关《程序设计基础知识(11页珍藏版)》请在金锄头文库上搜索。

1、程序设计基础知识随着科学技术的迅猛发展,计算机技术日新月异,计算机程序设计语言也层出不穷 。那么,什么是程序语言?什么是程序设计?应该学哪一种程序语言?如何进行程序设计 ?这些都是程序设计初学者首先遇到的问题,也是程序设计的基本问题、共性问题。不论是什么样的计算机语言,其程序设计的基本方法是相同的。本书作为程序设计 的入门教材,将以C语言程序设计为主线,介绍程序设计的基本概念和基本方法,讲述C 语言的语法规则和实用的C程序设计技术。作为全书的开篇,本章就程序设计的基本知识 作概括性讨论,首先介绍计算机的工作原理,然后重点介绍算法的概念及特征、设计算法 的方法和策略、流程图的表示和结构化程序设计

2、方法等内容。需要说明的是,有些概念和 方法要随着后续各章的深入学习才会有深刻的理解。1.1 计算机的工作原理1.1.1 计算机的指令系统大家知道,计算机中的存储器是由千千万万个的电子线路单元组成,每个单元有两个 稳定的工作状态(例如二极管或三极管的截止和导通,磁性元件的消磁和充磁等),分别以 0和1表示,因此计算机存储的信息是以二进制形式存储的。人们要计算机处理信息,就 要给计算机规定一些最基本的操作,并用0和1表示这些操作,这就构成一条一条的指令。 在设计的时候,就给它规定了一套指令,称之为指令系统(instruction set)。不同型号的计 算机,指令系统也不相同。一条指令由操作码(o

3、pcode)和操作数(oprand)两部分构成,例如在Z80中有这样 一条指令:1100011000000110操作码操作数操作码 11000110 表示加法操作,操作数是 00000110。这条指令的功能是把操作数 00000110 与计算机累加器中的数相加,相加的和仍放在累加器中,例如先在累加器中放一 个数00000101,执行这条指令的过程如图1.1所示。这条指令用十六进制表示为:C6 06。1.1.2 计算机的解题过程计算机解题要由人事先告诉它解题的方法和步骤,一步一步地去执行。如果人们设计的步骤是正确的,计算机就能计算出正确的结果,如果设计的步骤不正确,计算机就不能 计算出正确的结果

4、,甚至没有结果。图 1.1 执行过程以极简单的 5+6 为例,它的解题步骤如下:(1)把数字 5 和 6 送到计算机的内存中存放起来,存储单元都要有一个编号,称为地址。例如,43号地址存放数5,写为(43)5,同样,44号地址存放数6,写为(44)6。(2)把数 5取出来,送到累加器。(3)把数6取出来,与累加器中的数相加,结果放在累加器中。(4)把累加器结果送回到内存的45号地址存放起来,即(45)-11。(5)把结果输出到打印机或显示器上。(6)结束。这些解题步骤的集合,称之为程序,第(1)步是数据的输入,第(5)步是数据的输出,第(2)(4)步是计算机内部的处理,用某种机器指令写出第(2

5、)(4)步这一 过程,有如下形式:存储地址机器指令0001000000111011000100010000000000010010000010110001001100100001000101000000000000010101000011000001011010000110000101110011001000011000000000000001100100101101001010110000010100101100000001100010110100001011这些由机器指令构成的有序集合,就称为机器语言程序。计算机的工作就是按规定顺 序执行程序。人们使用计算机就要为它编制程序,称为程序设计。

6、用机器语言编写程序很 不直观,初学者看到这个程序就不知其所以然了(初学者看不懂没关系,不必着急,首先 对机器语言有点感性认识就可以了),但对于计算机来说,只有这样的机器语言,才能执行。1.1.3 存储程序原理有了指令和程序的概念,就可以进一步了解计算机的工作原理,计算机是基于存储程 序的原理工作的。首先,把程序和数据通过输入设备送入内存。一般的内存都是划分为很多存储单元, 每个存储单元都有地址编号,这样按一定顺序把程序和数据存起来,而且还把内存分为若 干区域,比如有专门存放程序的程序区和专门存放数据的数据区。其次,执行程序,必须从第一条指令开始,以后一条一条地执行。一般情况下按存放 地址号的顺

7、序,由小到大依次执行,当遇到条件转移指令时,才改变执行的顺序。每执行 一条指令,都要经过三个步骤:第一步,把指令从内存中送往译码器,称为取指;第二步 译码器把指令分解成操作码和操作数,产生相应的各种控制信号送往各电器部件;第三步, 执行相应的操作。这一过程是由电子线路来控制的,从而实现自动连续的工作。这一原理是计算机结构设计的基础,它是美籍匈牙利数学家冯诺依曼V(n Neumann) 1946年提出并论证的,因此常把这一类型的计算机称为冯诺依曼计算机,迄今为止,各 种计算机仍是基于存储程序的原理工作的。1.2 程序语言与程序设计1.2.1 计算机程序与程序语言1计算机语言 什么是计算机语言?为

8、什么要使用计算机语言?过去,一提到语言这个词,人们自 然想到的是像汉语、英语这样的自然语言,因为它是人和人相互交流信息不可缺少的工具 。而今天,计算机遍布于我们生活的每一个角落,除了人和人之间的相互交流之外,我们 还必须和计算机交流。用什么样的方式和计算机做最直接的交流呢?人们自然想到的是最 古老也最方便的方式语言。人和人交流用的是双方都能听懂和读懂的自然语言,同样 ,人和计算机交流也要用人和计算机都容易接受和理解的语言,这就是计算机语言。人用 自然语言讲述和书写,目的是给另外的人传播信息。同样,人使用计算机语言把人的意图 表达给计算机,目的是使用计算机。计算机语言是根据计算机的特点而编制的,

9、它没有自然语言那么丰富多样,而只是 有限规则的集合,所以它简单易学。但是,也正因为它是根据机器的特点编制的,所以交 流中无法意会和言传,而更多地表现了说一不二,表现了“规则”的严谨。例如该是“,”的 地方不能写成“:”,该写“a”的地方不能写成“A”,这使得人和计算机的交流在一开始会有 些不习惯。不过,只要认识到计算机语言的特点,注意学习方法,把必需的严谨和恰当的 灵活相结合,一切都会得心应手。2程序语言程序是计算机指令的序列集合,编制程序的工作就是为计算机安排指令序列。 指令是二进制编码,用它编制程序既难记忆,又难掌握,所以,计算机工作者就研 制出了各种计算机能够懂得、人们又方便使用的计算机

10、语言,程序就是用计算机语言来编 写的。因此,计算机语言通常被称为“程序语言”,一个计算机程序总是用某种程序语言书 写的。程序语言的产生和发展,直接推动了计算机的普及和应用。自第一个高级语言问世 以来,人们已发明了上千种程序语言,常用的也有上百种。这些语言之间有什么区别?我 们应该学习哪一种?计算机语言按使用方式和功能可分为低级语言和高级语言。低级语言包括机器语言和 汇编语言。机器语言就是计算机指令的集合,它与计算机同时诞生,称为第一代计算机语 言;汇编语言用符号来表示计算机指令,称为第二代计算机语言。机器语言和汇编语言都 是围绕特定的计算机或计算机族而设计的,是面向计算机的语言,要使用这种语言

11、必须了 解计算机的内部结构,而且难学、难写、难记忆,所以把这种语言称为低级语言。因为低 级语言是难以普及应用的,为此便产生了第三代计算机语言高级语言,它是用更接近 人的自然语言和数学表达式的一种语言,由表达不同意义的“关键字”和“表达式”,按照 一定的语法语义规则组成,完全不依赖机器的指令系统。这样的高级语言为人们提供了很 大的方便,编制出来的程序易读易记,也便于修改、调试,大大提高了编制程序的效率, 也大大提高了程序的通用性,便于推广交流,从而极大地推动了计算机的普及应用。例如,使用高级语言BASIC编程,要想得到3X8Xsin ( /2)的结果,只需要写出 print 3*8*sin(3.

12、14159/2)即可,计算机将计算并输出结果。高级语言离人们的理解愈加接近了,但离计算机的理解就愈远了。计算机是不能直接 理解那些英语单词、数学表达式的。所以,为了填补人机之间的鸿沟,还是得求助于翻译。 这种“翻译”通常有两种做法,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器指令程序,并放在计算机中,把用高 级语言编写的源程序输入计算机,编译程序便把源程序整个地翻译成用机器指令表示的目 标程序。然后执行该目标程序,得到计算结果。解释方式是:事先编好一个称为解释程序的机器指令程序,并放在计算机中,把用高 级语言编写的源程序输入计算机,它并不是像编译方式那样把源程序整个地翻译成

13、用机器 指令表示的目标程序,而是逐句翻译,译出一句立即执行一句,即边解释边执行。这种方 式比编译方式多费机器时间,但可少占计算机的内存。可以看到高级语言只是要求人们向计算机描述问题的求解过程,而不关心计算机的内 部结构,所以把高级语言称为“面向过程语言”,它易于被人们理解和接受。典型的面向过 程语言有 BASIC、FORTRAN、COBOL、C 和 Pascal 等。随着计算机技术的迅猛发展,自从20世纪80年代以来,众多的第四代非过程化计算 机语言、第五代智能化计算机语言也竞相推出。如果说第三代语言要求人们告诉计算机怎 么做,那么第四代语言只要求人们告诉计算机做什么。因此,人们称第四代语言是

14、“面向 对象语言”。面向对象概念的提出是相对于“面向过程”的一次革命,面向对象技术在系统 程序设计、多媒体应用、数据库等诸多领域得到广泛应用。但是,“面向过程”是程序设计 的基础,尤其对于程序设计的初学者。所以,下面将以面向过程的C程序设计语言为背景 ,主要介绍程序设计的基本概念和方法。1.2.2 程序设计什么是程序设计呢?在日常生活中可以看到,同一台计算机,有时可以画图,有时 可以制表,有时可以玩游戏,诸如此类,计算机可以做许多事情,尽管计算机本身只是一 种现代化方式批量生产出来的通用机器,但是,使用不同的程序,计算机就可以处理不同 的问题。今天,计算机之所以能够产生如此大的影响,其原因不仅

15、在于人们发明了机器本 身,更重要的是人们为计算机开发出了不计其数的能够指挥计算机完成各种各样工作的程 序。正是这些功能丰富的程序给了计算机无尽的生命力,它们正是程序设计工作的结晶。 而程序设计就是用某种程序语言编写这些程序的过程。更确切地说,所谓程序,就是用计算机语言对所要解决的问题中的数据以及处理问 题的方法和步骤所做的完整而准确的描述,这个描述的过程就称为程序设计。对数据的描 述就是指明数据结构形式;对处理方法和步骤的描述也就是1.3节要讨论的算法问题。因 而,数据结构与算法是程序设计过程中密切相关的两个方面。曾经发明Pasca 1语言的著名 计算机科学家沃思(NikiklausWirth)教授关于程序提出了著名公式:程序=数据结构+算法。这个公式说明了程序设计 的主要任务。但在本书中,并没有以数据结构和算法为主展开讨论,因为本书的主题是介 绍用C语言进行编程。关于数据结构有许多专门的教材。对于程序设计的初学者来说,首先要学会设计一个正确的程序。一个正确的程序, 通常包括两个含义:一是书写正确,二是结果正确。书写正确是指程序在语法上正确,符 合程序语言的规则;而结果正确通常是指对应于正确的输入,程序能产生所期望的输出, 符合使用者对程序功能的要求。程序设计的基本目标是编制出正确的程序,但这仅仅是程 序设计的最低要求。一个优秀的程序员,除了程序的正确性以外,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号