C Primer Plus基础教程(1)— 初步认识C语言

C Primer Plus基础教程(1)—初步认识C语言
一、C语言的起源
1972年,贝尔实验室的丹尼斯・里奇( Dennis Ritch)和背・汤普进( Ken Thompson)在开发UNX操作系统时设计了C语言。然而,C语言不完全是里奇突发奇想而来,他是在B语言(汤将逊发明)的基础上进行设计。至于B语言的起源,那是另一个故事。C语言设计的初衷是将其作为程序员使用的一种编程工具,因此,其主要目标是成为有用的语言虽然绝大多数语言都以实用为目标,但是通常也会考虑其他方面。例如Pascal的主要目标是为更好地学习编程原理提供扎实的基础:而 BASIC的主要目标是开发出类似英文的语言,让不熟悉计算机的学生轻松学习编程。这些目标固然很重要,但是随着计算机的迅猛发展,它们已经不是主流语言。然而,最初为程序员设计开发的C语言,现在成为首选的编程语言之一。
二、选择C语言的理由
在过去40多年里,C语言已成为最重要、最流行的编程语言之一。它的成长归功于使用过的人都对它很满意。过去20多年里,虽然许多人都从C语言转而使用其他编程语言(如,C+、 Objective C、Java等),但是C语言仍凭借自身实力在众多语言中脱颖而出。
1.设计特性
C是一门流行的语言,融合了计算机科学理论和实践的控制特性。C语言的设计理念让用户能轻松地完成自顶向下的规划、结构化编程和模块化设计。因此,用C语言编写的程序更易懂、更可靠。
2.高效性
C是高效的语言。在设计上,它充分利用了当前计算机的优势,因此C程序相对更紧凑,而且运行速度很快。实际上,C语言具有通常是汇编语言才具有的微调控制能力(汇编语言是为特殊的中央处理单元设计的一系列内部指令,使用助记符来表示:不同的CPU系列使用不同的汇编语言),可以根据具体情况微调程序以获得最大运行速度或最有效地使用内存。
3.可移植性
C是可移植的语言。这意味着,在一种系统中编写的C程序稍作修改或不修改就能在其他系统运行。如需修改,也只需简单更改主程序头文件中的少许项即可。大部分语言都希望成为可移植语言,但是,如果经历过把BMPC BASIC程序转换成苹果BASC(两者是近亲),或者在UNDX系统中运行IBM大型机的 FORTRAN程序的人都知道,移植是最麻烦的事。C语言是可移植方面的者。从8位微处理器到克雷超级计算机,许多计算机体系结构都可以使用C编译器(C编译器是把て代码转換成计算机内部指令的程序)。但是要注意,程序中针对特殊硬件设备(如,显示监视器)或操作系统特殊功能(如, Windows8或OSX)编写的部分,通常是不可移植的。由于C语言与UNX关系密切,UNX系统通会将C编译器作为软件包的一部分。安装 Linux时,通常也会安装C编译器。供个人计算机使用的C编译器很多,运行各种版本的 Windows和Macintosh(即,Mac)的PC都能找到合适的C编译器。因此,无论是使用家庭计算机、专业工作站,还是大型机,都能找到针对特定系统的C编译器。
4.强大而灵活
C语言功能强大且灵活(计算机领域经常使用这两个词)。例如,功能强大且灵活的UNX操作系统,大部分是用C语言写的:其他语言(如, FORTRAN、Pe、 Python、 Pascal、LSP、Logo、 BASIC)的许多编译器和解释器都是用C语言编写的。因此,在UNX机上使用 FORTRAN时,最终是由C程序生成最后的可执行程序。C程序可以用于解决物理学和工程学的问题,甚至可用于制作电影的动画特效。
5.面向程序员
C语言是为了满足程序员的需求而设计的,程序员利用C可以访问硬件、操控内存中的位。C语言有丰富的运算符,能让程序员简洁地表达自己的意图C语言不像 Pascal甚至是C++那么严格。这样的灵活性既是优点也是缺点。优点是,许多任务用C来处理都非常简洁(如,转换数据的格式):缺点是,你可能会犯一些名其妙的错误,这些错误不可能在其他语言中出现。C语言在提供更多自由的间时,也让使用者承担了更大的责任。另外,大多数C实现都有一个大型的库,包含众多有用的C函数。这些函数用于处理程序员经常需要解决的问题。
6.缺点
人无完人,金无足赤。C语言也有一些缺点。例如,前面提到的,要享受用C语言自由编程的乐趣,就必须承担更多的责任。特别是,C语言使用指针,而涉及指针的编程错误往往难以察觉。有句话说的好想拥有自由就必须时刻保持警。C语言紧简洁,结合了大量的运算符。正因如此,我们也可以编写出让人极其费解的代码。虽然没必要强迫自己编写晦涩的代码,但是有兴趣写写也无妨。试问,除C语言外还为哪种语言举办过年度混乱代码大赛?環不掩瑜,C语言的优点比缺点多很多。我们不想在这里多费笔,还是来聊聊C语言的其他话题。
三、应用范围
早在20世纪80年代,C语言就已经成为小型计算机(UNIX系统)使用的主流语言。从那以后,C语言的应用范围扩展到微型机(个人计算机)和大型机(庞然大物)。许多软件公司都用C语言来开发文字处理程序、电子表格、编译器和其他产品,因为用C语言编写的程序紧而高效。更重要的是,C程序很方便修改,而且移植到新型号的计算机中也没什么问题。无论是软件公司、经验丰富的C程序员,还是其他用户,都能从C语言中受益。越来越多的计算机用户已转而求助C语言解决一些安全问题。不一定非得是计算机专家才能使用C语言。
四、计算机能做什么
在学习如何用C语言编程之前,最好先了解一下计算机的工作原理。这些知识有助于你理解用C语言编写程序和运行C程序时所发生的事情之间有什么联系。现代的计算机由多种部件构成。中央处理元(CPU)承担绝大部分的运算工作。随机存取内存(RAM是存储程序和文件的工作区:而永久内存存储设备(过去一般指机械硬盘,现在还包括固态硬盘)即使在关闭计算机后,也不会丢失之前存储的程序和文件。另外,还有各种外围设备(如,健盘、鼠标、触摸屏、监视器)提供人与计算机之间的交互。CPU负责处理程序,接下来我们重点讨论它的工作原理。
CPU的工作非常简单,至少从以下简短的描述中看是这样。它从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令,诸如此类(一个吉赫弦的CPU一秒钟能重复这样的操作大约十亿次,因此,CPU能以惊人的速度从事枯燥的工作)。CPU有自己的小工作区一一由若干个寄存器组成,每个备存器都可以存储一个数字。一个寄存器存储下一条指令的内存地址,CPU使用该地址来获取和更新下一条指
令。在获取指令后,CPU在另一个寄存器中存储该指令,并更新第1个寄存器存储下一条指令的地址。CPU能理解的指令有限(这些指令的集合叫作指今)。而且,这些指令相当具体,其中的许多指令都是用于请求计算机把一个数字从一个位置移动到另一个位置。如,从内存移动到寄存器。下面介绍两个有趣的知识。其一,存储在计算机中的所有内容都是数字。计算机以数字形式存储数字和字符(如,在文本文档中使用的字母)。每个字符都有一个数字码。计算机载入寄存器的指令也以数字形式存储,指令集中的每条指令都有一个数字码。其二,计算机程序最终必须以数字指令码(即,机器语言)来表示。简而言之,计算机的工作原理是:如果希望计算机做某些事,就必须为其提供特殊的指令列表(程序),确切地告诉计算机要做的事以及如何做。

这一节主要就是一个开场白,后期会有实战项目同步进行,敬请关注。

若有错误,欢迎指正,技术支持联系方式QQ : 2228398717 答疑解惑QQ群: 1147400087
欢迎关注公众号:云翔科技教学平台,对应的资料公众号会发布。
4
有什么不懂的地方也可以联系技术支持微信:
· 在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌智君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值