第一章解答

来源:互联网 发布:优雅的开发java 知乎 编辑:程序博客网 时间:2024/04/30 03:14
由于小弟最近决定考研,故而再次捧起本书,决定把第一、二章解答补齐。
1. 简述寄存器、内存以及外存的区别
  寄存器位于CPU内部,辅助CPU完成指令执行的工作。其主要作用是减少访问内存的次数,提高指令执行的效率。
  内存位于CPU外部而计算机内部,是计算机的主存储器,主要用于存储计算机程序。与寄存器相比,内存的容量要大很多,但CPU访问内存要比访问寄存器慢很多。
  外存属于计算机的外围设备,是大容量的低速存储部件。用于永久性的存储计算机的各种数据。与内存和寄存器相比,除了访问速度低很多外,断电后其存储器里的内容也不会丢失。而寄存器和内存,断电后里面内容就会消失。

2. 简述冯·诺依曼计算机的工作模型
  待执行的程序从外存装入到内存中,CPU从内存中逐条地取程序中的指令执行;程序中所需要的数据从内存或外设上获得,程序执行中产生的中间结果保存在内存中,程序执行的结果通过外设输出。上述计算过程的本质是通过不断地改变程序的状态来实现计算,程序的状态由内存单元的数据构成,状态的转换是由指令来实现。

3. CPU能执行哪些指令?
  算术指令、比较指令、数据传输指令、执行流程控制指令。

4. 什么是软件,软件是如何分类的?
  计算机软件是计算机系统中的程序以及有关文档。
  软件可分为:应用软件、支撑软件和系统软件。

5. 简述软件的生存周期
  一个软件从无到有,从有到亡,通常要经历一个过程,这个过程称之为软件的生存周期。软件的生存周期一般分为以下几个阶段:软件需求分析、软件设计、编程实现、测试、运行与维护。

6. 机器语言、汇编语言以及高级语言的不同之处是什么?
  机器语言是面向特定计算机、能够被计算机直接理解的低级语言,采用指令编码和数据的存储位置来表示操作以及操作数。用机器语言写的程序可以直接在计算机上执行。
  汇编语言类似于机器语言,也是面向特定计算机的低级语言,汇编语言是用符号名(注记符)来表示操作和操作数位置,以增加程序的可读性。用汇编语言写的程序必须翻译成机器语言才能执行。
  高级语言是指面向程序员,使人容易理解和有利于人们对解题过程进行描述的语言。显然,由高级语言编写的程序,需要经过翻译才能在计算机上执行。翻译的方法一般有两种,编译和解释。

7. 简述编译与解释的区别
  编译是指把高级语言程序(称为源程序)首先翻译成功能上等价的机器语言程序(称为目标代码程序)或者汇编语言程序(在通过汇编程序翻译成目标代码程序),然后执行目标代码程序。在目标代码程序的执行中,不再需要源程序。
  解释则是指对源程序中的语句进行逐条翻译并执行,翻译完了程序也就执行完了,这种翻译方式不产生目标程序。一般来说,编译执行比解释执行效率要高。

8. 简述程序设计的步骤
  程序设计一般分为如下五个步骤:明确问题,系统设计,用某种语言进行编程,测试与调试,运行与维护。

9. _book, Car, car_1, ca1r, car1_Car, Car_Type,这几个是合法的C++标识符。值得一提的是,_123,_5_6,也是合法的标识符。

10. 简述C++程序的编译执行过程。
  编译:利用某个C++编译器对保存在外存中的C++源程序进行编译,编译结果为目标文件,保存到外存,目标文件的文件名通常为*.obj。
  连接:由C++连接器,把同一个程序的不同目标文件连接起来形成一个完整的可执行程序保存到外存。可执行文件名通常为*.exe。
  运行:通过操作系统提供的应用程序运行机制,把某个可执行文件装入内存,运行其中的程序。
原创粉丝点击