1.2C++简史(1)
1.2.1 C语言
1、什么是操作系统?
操作系统是能够管理计算机资源、处理计算机与用户之间交互的一组程序。例如,操作系统将系统提示符显示在屏幕上以提供符显示在屏幕上以提供终端式界面、提供管理窗口和鼠标的图形界面以及运行程序
2、C语言的由来
20世纪70年代早期,贝尔实验室的Dennis Ritchie致力于开发UNIX操作系统。为完成这项工作,Ritchie需要一种语言,它必须简洁,能够生成简洁、快速的程序,并能有效的控制硬件。 传统上,程序员利用汇编语言来满足这些需求,汇编语言依赖于计算机的内部机器语言。它是一种低级(low-level)语言,即直接操作硬件,如直接访问CPU寄存器和内存单元。因此汇编语言针对于特定的计算机处理器,要将汇编程序移植到另一种计算机上,必须使用不同的汇编语言重新编写程序。 然而,UNIX是为在不同的计算机(或平台)工作而设计的,意味着它需要一种高级语言。高级(high-level)语言致力于解决问题,而不针对特定的硬件。一种被称为编译器的特殊程序将高级语言翻译成特定计算机的内部语言。这样,就可以通过对每个平台使用不同的编译器来在不同的平台上使用同一高级语言程序。Ritchie希望有一种语言能够将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性融合在一起,于是他在旧版语言的基础上开发了C语言。
1.2.2 C语言编程原理
1、计算机语言要处理的两个概念
(1)数据:程序使用和处理的信息(理解成食材) (2)算法:程序使用的方法(理解成做菜的步骤)
2、过程性编程
C语言最初面世时是过程性语言,这意味着它强调的是编程的算法方面。从概念上来说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作。
3、结构化编程
C语言具有使用结构化编程的特性。例如,结构化编程将分支(决定接下来应执行哪个指令)限制为一小组行为良好的结构。C语言词汇表中就包含了这些结构(for循环、while循环、do while循环和if else循环)
4、自顶而下的设计
在C语言中,其理念是将大型程序分解成小型、便于管理的任务。如果其中的一项任务仍然过大,则将他分解成更小的任务。将这一过程持续下去,直到将程序划分成小型的、易于编写的模块。C语言的设计有助于使用这种方法,它鼓励程序员开发程序单元(函数)来表示各个任务模块。 结构化编程技术反应了过程性编程的思想,根据执行的操作来构思一个程序。
|