考研计算机专业课基础:计算机结构化编程

1.11 结构化编程

20世纪60年代,许多大型软件的开发遇到了严重困难。常常推迟软件计划,因而使成本大大超过预算,而且最终产品也不可靠。人们开始认识到,软件开发是项复杂的活动,比原来所预想的要复杂得多。20世纪60年代的研究结果是结构化编程(structured programming)的出现,用规定的方法编写程序比非结构化编程能产生更清晰、更容易测试/调试以及更容易修改的程序。

本书的第2章将介绍结构化编程原理。第3章到第5章则会开发多种结构化程序。结构化编程研究的一个更具体结果是1971年Niklaus Wirth教授推出了Pascal语言。Pascal语言是用17世纪著名数学家和哲学家巴雷斯·帕斯卡(Blaise Pascal)的名字命名的,常用于教学中讲解结构化编程.因而很快成为了大学中受欢迎的语言。但是这个语言缺乏在商业、工业和政府应用程序中所需要的许多特性,因此没有被大学以外的环境所接受。

Ada语言是在20世纪70年代和80年代初由美国国防部资助开发的。在此之前,国防部的导弹命令与控制软件系统是由几百种不同语言生成的,国防部要求用一种语言来完成大多数工作。Ada以Pascal为基础.但最终结构与Pascal大相径庭。这个语言是根据著名诗人Lord Byron的女儿(Ada Lovelace)的名字命名的。Ada Lovelace在19世纪初编写了世界上第一个计算机程序,用于charles ;Babbage设计的分析机引擎的计算设备。Ada的一个最重要功能是多任务(multiasking).程序员可以使多个活动任务并行发生。我们要介绍的其他常用高级语言(包括C/C++)通常只让程序员编写一次只有一个活动任务的程序。

1.12 典型C++环境基础

C++系统通常由几个部分组成:程序开发环境、语言和C++标准库。下面介绍图1.1所示的典型C++环境。

C++程序通常要经过6个阶段(如图1.1),即编辑(edit)、预处理(Preprocess)、编译(compile)、连接(Link)、装入(load)和执行(excute)。这里主要介绍典型UNIX C++系统(注意,本书的程序不经修改或稍作修改即可在大多数当前的++系统中运行,包括Microsoft Windows系统)。如果当前使用的不是UNIX系统,可以参看系统手册或向老师请教如何在相应环境中完成这些工作。第一个阶段是编辑文件,这是用编辑器程序(editor program)完成的。程序员用编辑器输入C++程序,并进行必要的修改.然后将程序存放在磁盘之类的辅助存储设备中。C++程序文件名通常以.cpp、cxx或.C的扩展名结尾(注意C为大写),详见C++环境文档中对文件名扩展的说明。UNIX系统中两个广泛使用的编辑器是vi和emacs。个人计算机上的Borland C++和Microsoft

visualC++等C++软件包都有自己的编辑器,它们与编程环境紧密集成。这里,我们假设读者已经知道如何编辑程序。

随后的阶段是程序员发出编译(compile)程序的命令。编译器将C++程序翻译为机器语言代码(也称为目标码)。在C++系统中,预处理程序在编辑器翻译阶段开始之前自动执行。C++预处理器采用预处理指令(Preprocess directive)表示程序编译之前要进行的某些操作。这些操作通常包括在要编译的文件中包括其他文本文件和进行各种文本替换。前面几章将介绍最常见的预处理指令,所有预处理指令的详细介绍见第17章“预处理器”。编辑器在将程序翻译为机器语言代码之前调用预处理器。

下一个阶段是连接。C++程序常常引用其他地方定义的函数,如标准库中或持定项目的程序员使用的专用库。C++编译器产生的目标码通常包含由于缺少一些内容而造成的“空穴”,连接器(1inker)将目标码与这些默认功能的代码连接起来,建立执行程序映像(不再缺少任何代码)。在典型的UNIX系统中,编译和连接C++程序的命令是CC。要编译和连接程序welcom.C,在UNIX提示符下键人:

CC ;
welcome.C 

并按Enter键(或Return键)。如果程序编译和连接正确,则产生文件a.out。这就是welcome.C的执行程序映像。

再下一个阶段是装入。执行之前,要先把程序放进内存中,这是由装入器(Loader)完成的,装入器读取磁盘中执行程序的映象文件,

并将其放进内存中。最后,计算机在CPU控制下逐条指令地执行程序。要在UNIX系统中装入并执行程序.可在UNIX提示符下键入a.out并按Return键。

程序不是一次就能够运行。上述每个阶段都可能因为各种错误而失败。例如,可能除数为0(计算机上的非法操作,和算术运算中一样),这会使计算机打印出错信息。然后.程序员需返回编辑阶段,进行必要的修改并继续其余阶段,确定修改之后能否顺利工作。

常见编程错误1.1

如果除数为0之类的错误在程序运行时发生,则称这类错误为运行时错误(run-time error)或执行时错误(execution-time error)。除数为0通常是个致命错误,会使程序立即终止,无法完成工作。非致命错误能让程序运行完毕,但会产生错误结果(注意,在有些系统中.除数为0不是致命借误,详见系统的说明文档)。

C++中的大多数程序都要输入/输出数据。有些C++函数的输入来自cin(标准输人流),通常是键盘,但也可以连接其他输入设备。数据通常输出到co皿(标准输出流).一般是计算机屏幕,但也可以是其他设备。程序打印结果,通常是指在屏幕上显示结果。数据也可以输出到其他设备,如磁盘和硬拷贝打印机。还有称为cerr的标准错误流(standard error stream),通常连接屏幕,用于显示错误消息。用户经常把普通输出数据(即cout)路由到非屏幕设备,而让cerr输出到屏幕,可以立即通知用户发生错误。

2016考研政策http://www.kyjxy.com/yuanxiao/zhengce/
2015考研英语真题http://www.kyjxy.com/yingyu/zhenti/
2015考研复试英语口语http://www.kyjxy.com/fushi/zhinan/

时间: 2024-08-03 01:05:30

考研计算机专业课基础:计算机结构化编程的相关文章

Web前端需要熟悉大学里【高大上】的计算机专业课吗?

作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此! 一.大学学习的专业课非常重要,它决定了我们能走到什么高度 前端的发展非常快,我常常觉得刚刚关注的新东西,过一段时间再看就截然不同甚至被废弃了. 所以保持高效自主的学习能力对于应对这种变换是非常重要的.而这种能力的基础在很大程度上和大学阶段计算机专业课紧密相关.比如WebGL.预处理语言追溯到常规计算机领域就是OpenGL和编译原理等领域. 二.前端知识都是旧中创新 纯粹的前端知识都算不上新

计算机网络管理基础服务安装

使用yum方式完成服务安装 ___By Nemo(仅供参考) Notice:Apache 安装好之后,我又改回桥接模式用rpm安装了. 首先,让你的虚拟机上个网,所以需要把网卡设置成nat模式,在宿主机上先拨个号,设好后重启linux系统. 重启后,打开firefox,看是不是能上网.Ok,但nat模式默认的ip是动态分配的,咱们得按照老师的要求把设成你静态的学生牌号.所以咱们得这么设一下!应该通过vmware虚拟机中-->Edit(编 缉)-->Virtual Net Editor(虚拟网络

计算机网络管理基础服务安装+大数据时代的网络运维

使用yum方式完成服务安装 ___By Nemo(仅供参考) Notice:Apache 安装好之后,我又改回桥接模式用rpm安装了. 首先,让你的虚拟机上个网,所以需要把网卡设置成nat模式,在宿主机上先拨个号,设好后重启linux系统. 重启后,打开firefox,看是不是能上网.Ok,但nat模式默认的ip是动态分配的,咱们得按照老师的要求把设成你静态的学生牌号.所以咱们得这么设一下!应该通过vmware虚拟机中-->Edit(编 缉)-->Virtual Net Editor(虚拟网络

计算机知识基础复习

软考快速复习,将近些年习题中自己出错和容易出错的题目收集起来,便于复习. 磁盘调度,某磁盘的转速为7200转/分,传输速度为4MB/s,控制器开销为1ms,要保证读或写一个512B的扇区的平均时间是11.3ms.那么平均寻道时间不应该超过 磁盘的存储时间包括寻道时间和等待时间.寻道时间(查找时间,seek time)为磁头移动到目标磁道所需要的时间不应该超过_____ms. 在本题中,因为磁盘的转速为7200转/分,即磁盘每转一圈所需的时间为8.33ms,因此,平均等待时间为4.17ms.已知传

803计算机学科基础综合

803计算机学科基础综合 一. 考查目标 计算机学科基础综合考试涵盖数据结构.计算机组成原理.操作系统和计算机网络等学科专业基础课程.要求考生比较系统地掌握上述专业基础课程的基本概念.基本原理和基本方法,能够综合运用所学的基本原理和基本方法分析.判断和解决有关理论问题和实际问题. 二.考试形式和试卷结构 1.试卷满分及考试时间 本试卷满分为150分,考试时间为180分钟. 2.答题方式 答题方式为闭卷.笔试. 3.试卷内容结构 数据结构 45分 计算机组成原理 45分 操作系统 35分 计算机网

计算机组成原理基础

计算机组成原理基础 语言是用来沟通的,程序员与计算机进行沟通就需要通过编程语言进行沟通.编程语言并不能直接操纵硬件,而是运行在操作系统上,由操作系统对硬件进行控制. 1.计算机的组成 一个完整的计算机系统包括:计算机硬件.操作系统.用户软件 1.1计算机硬件 计算机是由控制器.运算器.存储器.输入设备.输出设备组成的,它们都通过总线进行连接通信. 1.2 处理器 处理器包含运算器和控制器,运算器负责算数运算,控制器负责逻辑运算 1.2.1 CPU 内存 磁盘 当有任务要处理的时候,存放在磁盘上的

计算机入门基础知识

好久以前帮学弟学妹们总结的计算机入门基础资料,我觉得算是很好的科普入门资料了.毕竟是我辛苦一字一字写出来的... 目录 1.1.1    计算机的发展史 1946年ENIAC在宾夕法尼亚大学被制作,数字积分式计算机 冯诺依曼体系: 计算机采用二进制 运用存储器 Ram:随机访问存储器 应用在内存上 断电即丢失 Ram中会出现刷新:充电的过程 Sram 静态ram 价格高 存取速度快 不需要刷新 集成度低 Dram 动态ram 廉价  存取速度慢 需要刷新  集成度高 Rom:只读存储器    

由扎实的计算机专业基础知识和基本操作技能

硬件维护 计算机硬件的维护主要有以下几点:(1)任何时候都应保证电源线与信号线的连接牢固可靠:(2)定期清洗软盘驱动器的磁头(如三个月.半年等):(3)计算机应经常处于运动状态,避免长期闲置不用:(4)开机时应先给外部设备加电,后给主机加电:关机时应先关主机,后关各外部设备,开机后不能立即关机,关机后也不能立即开机,中间应间隔10秒以上:(5)软盘驱动器正在读写时,不能强行取出软盘,平时不要触摸裸露的盘面:(6)在进行键盘操作时,击键不要用力过猛,否则会影响键盘的寿命:(7)打印机的色带应及时便

菜鸟笔记 -- Chapter 3.1 计算机的基础

3.1 计算机的基础知识 每次想写些什么的时候,发现总是避不过计算机这块,在菜鸟笔记 Chapter 1 计算机从0讲起简单介绍一下计算机硬件,以后计划在线程和并发中详细介绍一下计算机的运行原理.这里我们还是先简单介绍一下计算机. 3.1.1 计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. 计算机的应用已渗透