C Primer plus 第五版

VIP免费
2025-02-27 0 0 1.06MB 1634 页 5.9玖币
侵权投诉
在本章中你将学习下列内容
C 的历史和特性
。编写程序所需的步骤
。关于编译器和链接器的一些知识
C 的标准。
欢迎来到 C 的世界!C语言是一种强大的专业化编程语言,深受业余和专业编程人员
的欢迎。本章为学习和使用这一强大而流行的语言做准备,并介绍了开发 C程序时最
可能使用的几种环境。
首先,让我们来看看 C的起源及其特性,包括它有哪些优点和缺点。接着我们将了解
编程的起源并探讨编程的一些基本原则。最后,我们讨论在一些常见系统上运行 C
序的方法。
1.1 C 语言的起源
贝尔实验室的 Dennis Ritchie 1972 年开发了 C,当时他正在与 Ken Thompson
起设计 UNIX 操作系统 。然而,C并不是完全由 Ritchie 构想出来的。它来自
Thompson B语言,而 B语言则来自。。噢,这又是另外一个故事了。重要的是,C
是作为从事实际编程工作的程序的一种工具而出现的,所以其主要目标是成为一种有
用的语言。
多数语言都以实用为目标,但它们往往也会考虑其他一些方面。例如 Pascal 的主要
目标是为学习良好的编程原则提供一个扎实的基础,而 BASIC 则是模仿英语,以便让
不熟悉计算机的学生能够轻松地学会这种语言。这些目标很重要,但它们不总是与实
际的使用需要相符。而 C 则是为编程人员开发的语言,这使得它成为当今人们首先的
编程语言之一。
1.2 使用 C 语言的理由
在过去的 30 年中,C已经成为最重要和流行的编程语言之一。它之所以得到发展,
是因为人们尝试使用它后喜欢它。过去 10 年中,许多人从 C转而使用更强大的 C++
言,但 C有其自身的优势,仍然是一种重要的语言,而且它还是通往 C++的必由之路。
学习 C的过程中,你将认识到它的许多优点(见图 1.1)。现在让我们首先来看其中的
几个优点。
1.2.1 设计特性
C 是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,
控制特性是很重要的。其设计使得用户可以自然地采用自顶向下的规划,结构化的编
程,以及模块化的设计。这种做法使得编写出的程序更可靠,更易懂。
1.2.2 高效性
C 是一种高效的语言。 在设计上它充分利用了当前计算机在能力上的优点。C程序往
往很紧凑且运行速度快。事实上,C可以表现出通常只有编语言具有的精细控制
能力(编语言是特CPU 设计所采用的一部指令助记符。不CPU 类型
使用不编语言)。如果愿意,你可以细调程序以得最大速度最大内使用
1.2.3 移植
C 是一种可移植语言。这意味着,在一个系统上编写的 C程序经过很少改动或不经
改就可以其他系统上运行。如果修改是必要的,则通常只须改变伴随主程序的一个
文件中的几内容可。多数语言原本都想具有可移植性,但任何曾IBM PC BASIC
程序转Apple BASIC 程序(它们还是近亲)的人,或者试图在 UNIX 系统上运行
一个 IBM
FORTRAN 程序的人都知移植至少是在制造麻烦C 在可移植性方面先地
C 编译器(将 C为计算机内使用的指令的程序)在大40 多种系统上可用,
包括从使用 8位微处理器的计算机到 Cray 超级计算机。不过要知,程序中为访问
定硬件设备(例如显示器)操作系统(如 Windows XP OS X)的特殊功能而专
编写的分,通常是不能移植的。
由于 CUNIX 的紧密联系,UNIX 系统通常都有一个 C编译器作为程序包的一
分。Linux 同样也包括一个 C编译器。个人计算机,包括运行不同版本的 Windows
Macintosh PC,可使用若干C编译器。所以不论你使用的是用计算机,专业
工作还是大机,都很容易得到针对你特系统的 C编译器。
1.2.4 强大的能和灵活
C 强大而又灵活(计算机世界中经常使用的)。例如,强大而灵活UNIX
作系统的大分便是用 C编写的。其他语言(如
FORTRANPerlPythonPascalLISPLogo BASIC)的许多编译器和解器也
都用 C编写的。结是,当你在一UNIX 机器上使用 FORTRAN 时,最是由一个 C
程序负责生成最后的可行程序的。C程序已经用于解决物理学和工程学问题甚至
用来为《角斗士》电影
1.2.5 面向编程人员
C 面向编程人员的需要。它许你访问硬件,并可以操中的特定位。它具有
的运算符供选择,让你能够简洁地表图。在制你所能做的事方面,C
不如 Pascal 的语言严格。这种灵活性是优点,时也是一种危险。优点在于
任务(如转据形式)在 C中都简单得多。危险在于使用 C时,你可能会
使用其他一些语言时不可能错误C给予你更多的自由,但时也让你承担更大
风险
另外,多数 C实现都有一个大,其中包有用的 C数。这些数能够理编
程人员通常会面的许多需
1.2.6
C 实有一些缺点。和人一,缺点和优点往往是一特个方面。例如,
我们前面曾说过,C在表方面的自由会增加风险其是 C 对指针(在本后面
分将学到)的使用,意味着你可能会犯非追踪的编程错误。正如以前一计算
机专家曾出的,自由的代永远警惕
C 简洁性与其丰富的运算符相结合,使其可能会编写出极难理解的代
你编写含糊难懂的代,但在这的可能性。试 C 之外还有哪种语言
一年一度的“含糊码”Obfuscated Code竞赛呢?
外,C 还有许多的优点,但毫无疑问C 还有一些缺点。我们不想在这一点上多
笔墨,还是一个话题吧
1.3 C 语言的发展方向
20 80 年代C UNIX 系统的小型机世界中已经是主语言了,从时开
它已经展到个人计算机(微型机)和大机(然大), 许多软件开发都首
C 语言来开发其子处理程序,电子格软件,编译器和其他产品。这些公司C
可以生紧凑而高效的程序。更重要的是,他们知这些程序易于修改而且易于适应
的计算机模
公司和熟悉 C 语言的人有东西其他用户同样多的计算机
用户已转身使用 C 以便利用其优点。不一定非得是计算机专业人员能使用 C
20 90 年代,许多软件开发转身使用 C++语言来行大的编程目。
C++C 语言接了面向对象编程工具(面向对象编程是一种想,它试图让语
言来适应问题,而不是让问题适应语言)。C++不多是 C 的一个超集意味
C 程序都时是,或差不多是一个有效的 C++程序。通过学习 C,你还会学习到
C++的许多知识。
C++ Java 样较新的语言如流行,C 软件产业中仍然是一种重要的
能,在最想得的能中,它一都列在前 10 。特是在嵌入式系统的编程中,C
已经开流行。也,它将用来为汽车相机,DVD 播放器和其他现代化设备
逐渐普及的微处理器编程。同样C 已开始进入长期以来一直属FORTRAN 的科
学编程领域。最后,由于它是一种合用来开发操作系统的语言,C Linux 的开发中
扮演着重要的角色。因,在 21 的前 10 年中,C 仍将保持的势
言之,C 是最重要的编程语言之一,并将继续,如你想编写软件的工
作,则首先你应该能够回答“的一个问题就:“请问 ,你会使用 C吗?”
1.4 计算机工作的基本原理
算学习如C 编程,你就应了解计算机工作原理方面的一些知识。这些知
识会帮助你理解用 C 编写程序与运行程序时最会发生的事系。
现代计算机可分为几个部件。中央处单元或称 CPU担负分的计算工作,
访问存储器(或称 RAM)作为一个工作保存程序和文件;永久存储器,一
硬盘使在计算机关机时也能下程序和文件;还有种外设备(如键盘
标和监视器)用来提供人与计算机之的通CPU 负责处理程序,所以我们中来
讨论它的能。
CPU 的工作简单至少在我们所做的这一描述中是这的。它从内
一个指令该指令,然后从内下一个指令行,。一个千兆 CPU
以在一种内行大亿次的操作,所以 CPU 能以人的速度来从事其枯燥
工作。CPU 有自工作工作若干器(registers)成,
器可以保存一个数。一个保存下一指令的内CPU 使用该信
指令指令后,CPU 在另一个器中保存该指令并将一个器的
为下一指令的地CPU 只能理解有指令指令集)。还有,这些指令
是相当具的,其中许多指令计算机将一个数从一个移动到另一个,例
如,从内存单元移器。
摘要:

在本章中你将学习下列内容。C的历史和特性。编写程序所需的步骤。关于编译器和链接器的一些知识。C的标准。欢迎来到C的世界!C语言是一种强大的专业化编程语言,深受业余和专业编程人员的欢迎。本章为学习和使用这一强大而流行的语言做准备,并介绍了开发C程序时最可能使用的几种环境。首先,让我们来看看C的起源及其特性,包括它有哪些优点和缺点。接着我们将了解编程的起源并探讨编程的一些基本原则。最后,我们讨论在一些常见系统上运行C程序的方法。1.1C语言的起源贝尔实验室的DennisRitchie在1972年开发了C,当时他正在与KenThompson一起设计UNIX操作系统。然而,C并不是完全由Ritchie...

展开>> 收起<<
C Primer plus 第五版.docx

共1634页,预览5页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:1634 页 大小:1.06MB 格式:DOCX 时间:2025-02-27

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 1634
客服
关注