1.初识C语言
1.1 C语言的起源
1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。然而,C语言不完全是里 奇突发奇想而来,他是在B语言(汤普逊发明)的基础上进行设计。
1.2 选择C语言的理由
C语言是最重要,最流行的编程语言之一。、
1.2.1 设计特性
C语 言的设计理念让用户能轻松地完成自顶向下的规划、结构化编程和模块化设 计。因此,用C语言编写的程序更易懂、更可靠。
1.2.2 高效性
C是高效的语言。在设计上,它充分利用了当前计算机的优势,因此 C 程序相对更紧凑,而且运行速度很快。实际上,C 语言具有通常是汇编语言 才具有的微调控制能力(汇编语言是为特殊的中央处理单元设计的一系列内 部指令,使用助记符来表示;不同的 CPU 系列使用不同的汇编语言),可 以根据具体情况微调程序以获得最大运行速度或最有效地使用内存。
1.2.3 可移植性
C是可移植的语言。这意味着,在一种系统中编写的 C程序稍作修改或 不修改就能在其他系统运行。如需修改,也只需简单更改主程序头文件中的 少许项即可。
1.2.4 强大而灵活
C语言功能强大且灵活(计算机领域经常使用这两个词)。例如,功能 强大且灵活的UNIX操作系统,大部分是用C语言写的;其他语言(如, FORTRAN、Perl、Python、Pascal、LISP、Logo、BASIC)的许多编译器和 解释器都是用C语言编写的。
1.2.5 面向程序员
C 语言是为了满足程序员的需求而设计的,程序员利用 C 可以访问硬 件、操控内存中的位。C 语言有丰富的运算符,能让程序员简洁地表达自己 的意图。
1.2.6 缺点
要享受用C语言自由编程的乐趣,就必须承担更多的责任。特别是,C语言使用 指针,而涉及指针的编程错误往往难以察觉。有句话说的好:想拥有自由就 必须时刻保持警惕。
1.3 C语言的应用范围
早在20世纪80年代,C语言就已经成为小型计算机(UNIX系统)使用的 主流语言。从那以后,C语言的应用范围扩展到微型机(个人计算机)和大 型机(庞然大物)。
许多软件公司都用C语言来开发文字处理 程序、电子表格、编译器和其他产品,因为用 C语言编写的程序紧凑而高 效。更重要的是,C程序很方便修改,而且移植到新型号的计算机中也没什 么问题。
简而言之,C 语言是最重要的编程语言之一,将来也是如此。如果你想 33 拿下一份编程的工作,被问到是否会C语言时,最好回答“是”。
1.4 使用C语言的7个步骤
第一步:定义程序的目标
第二步:设计程序
第三步:编写代码
第四步:编译
第五步:运行程序
第六步:测试和调试程序
第七步:维护和修改代码
用C语言编写程序时,编写的内容被储存在文本文件中,该文件被称为 源代码文件(source code file)
Hello C
#include<stdio.h>
int main()
{
printf("Hello C");
return 0;
}
1.5 目标代码文件,可执行文件和库
C编程的基本策略是,用程序把源代码文件转换为可执行文件(其中包 含可直接运行的机器语言代码)。典型的C实现通过编译和链接两个步骤来 完成这一过程。编译器把源代码转换成中间代码,链接器把中间代码和其他 代码合并,生成可执行文件。
链接器的作用是,把你编写的目标代码、系统的标准启动代码和库代码 这 3 部分合并成一个文件,即可执行文件。对于库代码,链接器只会把程序 中要用到的库函数代码提取出来。
练习题
1.对编程而言,可移植性意味着什么?
完美的可移植程序是,其源代码无需修改就能在不同计算机系统中成 功编译的程序。
2.解释源代码文件、目标代码文件和可执行文件有什么区别?
源代码文件包含程序员使用的任何编程语言编写的代码。目标代码文 件包含机器语言代码,它不必是完整的程序代码。可执行文件包含组成可执 行程序的完整机器语言代码。
3.编程的7个主要步骤是什么?
(1)定义程序目标;(2)设计程序;(3)编写程序;(4)编译程 序;(5)运行程序;(6)测试和调试程序;(7)维护和修改程序。
4.编译器的任务是什么?
编译器把源代码(如,用C语言编写的代码)翻译成等价的机器语言 代码(也叫作目标代码)。
5.链接器的任务是什么?
链接器把编译器翻译好的源代码以及库代码和启动代码组合起来,生 成一个可执行程序。
文章内容是自己学习《_395_C Primer Plus 第6版》一书的摘抄,总结。