计算机原理学习笔记 Day3
结构化程序设计就是“为了把程序编写得具备结构性,仅使用顺序执行、条件分支和循环表示程序的流程即可,而不再使用跳转指令”。
思考算法时的要点是要分两步走,先从整体上考虑程序的粗略流程,再考虑程序各个部分细节的流程。
中断处理是指计算机使程序的流程突然跳转到程序中的特定地方,这样的地方被称为中断处理例程(Routine)或是中断处理程序(Handler),而这种跳转是通过 CPU 所具备的硬件功能实现的。
处理中断请求的程序,或是内置于被烧录在计算机 ROM 中的 BIOS 系统(Basic Input Output System,基本输入输出系统)中,或是内置于 Windows 等操作系统中。
通常把用户在应用程序中点击鼠标或者敲击键盘这样的操作称作“事件”(Event)。负责检测事件的是 Windows。Windows 通过调用应用程序的 WndProc()函数通知应用程序事件的发生。而应用程序则根据事件的类型做出相应的处理。这种机制就是事件驱动。
算法就是“把解决问题的步骤无一遗漏地用文字或图表示出来”。
“机械的步骤”1.步骤是明确的、完全不依赖直觉的;2.步骤是机械的、不需要动脑筋就能完成的;3.使步骤终止的原因是明确的。
LIFO(Last In First Out,后进先出)表示优先读取后存入的数据; FIFO(First In First Out,先进先出)表示优先读取先存入的数据。
计算机所处理的数据都存储在了被称为内存的 IC(Integrated Circuit,集成电路)中。
数组是数据结构的基础,之所以这么说是因为数组反映了内存的物理结构本身。在内存中存储数据的空间是连续分布的。
栈和队列的相似点在于,它们都可以把不能立刻处理的数据暂时存储起来;不同点在于,栈对所存储数据的存取方式是 LIFO 的,而队列对所存储数据的存取方式是 FIFO 的。
变量中则存储着一个索引,指向存储在栈中最顶端的数据,该变量被称为“栈顶指针”。
为了实现队列这种数据结构,以下元素是必不可少的:1.一个任意大小的数组;2.一个用于存放排在队头的数据对应的索引的变量;3.一个用于存放排在队尾的数据对应的索引的变量;4.一对儿函数,分别用于把数据存入到队列中和从队列中把数据取出来。
结构体,就是把若干个数据项汇集到一处并赋予其名字后所形成的一个整体。一旦定义完结构体,就可以把结构体当作是一种数据类型,用它来定义变量。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/9c311e5cdddc5f455a080cea6】。文章转载请联系作者。
评论