1. 硬件简介
大部分计算机系统的组成,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/bd044f00b43c5a8352bd02b7b293411d.png)
图中每个组成部分之间由一个称为总线(bus)的通信通道连接,使得数据在各个独立的部件之间传送。
CPU
- CPU(central processing unit,中央处理器)
进行实际的运算并控制整个计算机的活动。
其动作是由程序决定的(程序是存储在存储器中一系列编码的指令)。
内存
-
内存
计算机硬件中任何能够存储和检索信息的部分都是存储设备。
当前运行的程序存放的存储器称为主存储器(primary storage),常称为内存(memory)。 -
RAM
内存通常构建在一个特殊的集成电路芯片上,该集成电路芯片称作RAM。
即,随机访问存储器,它使程序能够在任何时刻访问任一存储单元。
辅助存储器
- 辅助存储器
无需电力即可保存信息的存储设备,称作辅助存储器(secondary storage)。
计算机最常用的辅助存储器是磁盘(disk),存在两种形式:
计算机系统内部的硬盘(hard disk) 、可移动的软盘(floppy disk) 。
I/O设备
- I/O设备
执行输入和输出操作的硬件设备合称I/O设备(I/O device) 。
其中,I/O表示输入/输出。
2. 算法
三个基本要求:
(1) 清楚、明确地定义。
(2) 有效,即,每一步骤都切实可行。
(3) 有限,即,可在有限步骤后得到结果。
3. 程序设计语言和编译
- 高级语言(higher-level language)
其设计使用通用的算法概念,可运用于任何一个计算机系统(如,C语言)。
在内部,每个计算机系统都能理解一种低级语言,这种低级语言是它的硬件类型所决定的。
- 编译器(compiler)
在高级语言和机器语言之间执行翻译任务的程序称作编译器。
文件
-
文件(file):存储在计算机辅存里的信息集合的统称。
每个文件都必须有一个文件名,通常用句点将文件名分成两部分,如myprog.c。 -
根名(root name):文件名中句点之前的名称,用以说明文件的内容。
-
扩展名(extension):句点后的名称,用以说明文件的类型。扩展名有预先指定的意义,如扩展名.c表示文件中的程序是用C语言编写的。
-
源文件(source file):包含程序文本的文件。
-
目标文件(object file)
编译器将源文件翻译成中间文件,这种中间文件称为目标文件(object file),包含适用于特定计算机系统的实际指令。 -
可执行文件(executable file)
这个目标文件和其他目标文件可组成在系统上运行的可执行文件。
这些所谓的其他目标文件,常常是一些称为库(library) 的预定义的目标文件,库中含有程序所要求的不同操作的机器指令。 -
链接(linking)
将所有独立的目标文件组合成一个可执行文件的过程称为链接 。
![](https://i-blog.csdnimg.cn/blog_migrate/ebfbbdc162e7809fd8e7edfc722b8532.png)
4. 编程错误和调试
-
语法错误(syntax error)
编译一个程序时,编译器首先检查程序的语法是否正确。若违反了语法规则,编译器将显示出错消息。
由于违反语法规则而导致的错误称为语法错误。 -
调试(debugging)
找出并改正逻辑错误(bug) 的过程称为调试。
参考
《C语言的科学和艺术》 —— 第1章 概述