第一章 初识C语言

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.编译器和链接器

 练习题

1.对编程而言,可移植性意味着什么?

完美的可移植程序是,其源代码无需修改就能在不同计算机系统中成 功编译的程序。

2.解释源代码文件、目标代码文件和可执行文件有什么区别?

源代码文件包含程序员使用的任何编程语言编写的代码。目标代码文 件包含机器语言代码,它不必是完整的程序代码。可执行文件包含组成可执 行程序的完整机器语言代码。

3.编程的7个主要步骤是什么?

(1)定义程序目标;(2)设计程序;(3)编写程序;(4)编译程 序;(5)运行程序;(6)测试和调试程序;(7)维护和修改程序。

4.编译器的任务是什么?

编译器把源代码(如,用C语言编写的代码)翻译成等价的机器语言 代码(也叫作目标代码)。

5.链接器的任务是什么?

链接器把编译器翻译好的源代码以及库代码和启动代码组合起来,生 成一个可执行程序。

文章内容是自己学习《_395_C Primer Plus 第6版》一书的摘抄,总结。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值