首页 理论教育 C语言程序设计基础教程:学好C语言的关键

C语言程序设计基础教程:学好C语言的关键

时间:2023-10-27 理论教育 版权反馈
【摘要】:图1.1C语言创始人表1.1TIBOE 6月编程语言的TOP10图1.218年来C语言在TIBOE 排行榜中所占比例曲线图要想学好C语言,首先需要了解C语言的特点,C语言是一门强大的专业化编程语言,主要具有以下优点:1)语言简洁紧凑,使用灵活方便C语言有32 个关键字,9 种控制语句,主要用小写字母表示。

C语言程序设计基础教程:学好C语言的关键

任务描述

介绍什么是程序设计语言,C语言的发展和特点,以及为什么要学习C语言。

知识学习

(1)语言的特点

C语言并不是自古就有的自然语言,而是由工程师设计出来的人造程序语言。对于C语言的诞生有这样一个励志故事:在知名的贝尔实验室,有两个了不起的工程师Ken Thompson和Dennis M.Ritchie,如图1.1所示。他们为了在实验室角落里的一台PDP-7 小型机上写一个让自己不用花钱就可以玩的《星际迷航》(Star Travel)的游戏,就用汇编语言编写了一个Unix 系统;但是无法移植到其他设备,于是决定用高级语言改写Unix 操作系统,后来在Ken 早年设计的B 语言的基础上设计出了C语言。Unix 和C语言堪称计算机世界的两大神器,两人也因为它们的成功在1983年获得了计算机界的最高奖——图灵奖。

C语言是一门非常流行的计算机语言,它问世已近半个世纪,但是这门语言依旧散发着青春的活力,表1.1 是TIBOE 6月编程语言的TOP10 排行榜,从表中可以看出近一年C语言稳居第二的位置,通过图1.2所示,可以看出虽然相较于2001年,比例有所下降,但是仍不可否认C语言还是世界上最流行的计算机语言之一。

图1.1 C语言创始人

表1.1 TIBOE 6月编程语言的TOP10

图1.2 18年来C语言在TIBOE 排行榜中所占比例曲线图

要想学好C语言,首先需要了解C语言的特点,C语言是一门强大的专业化编程语言,主要具有以下优点:

1)语言简洁紧凑,使用灵活方便

C语言有32 个关键字,9 种控制语句,主要用小写字母表示。与Pascal 或者Fortran 相比,C语言更简练,源程序更简短。

2)数据结构丰富

C语言的数据类型包含了整型、单精度浮点型、双精度浮点型、字符型、数组类型、指针类型、结构体类型和共同体类型等,可以实现比较复杂的数据结构(队列、链表、树和栈等)的运算。(www.xing528.com)

3)结构化语言

C语言具有丰富的结构化控制语句(顺序、选择或条件、循环语句等),还可以使用函数作为程序的模块单位,便于实现程序的模块化封装。

4)执行速度快

C语言往往比较紧凑,而且运行速度快,可以与汇编语言相媲美,许多硬件驱动程序也越来越多地由汇编语言变成C语言,比Python 语言的执行效率要高很多。

5)移植性强

从C语言的产生可看出,它就是为了可移植性而诞生的,作为一个可移植性语言,经过很小的改动甚至不改动,就可以在其他系统上运行。

(2)为什么要学习C语言

C语言相比于其他的高级语言,如C ++、Java、C#等,可以让学习者更好地了解计算机是如何工作的,比如数据在内存中如何存储的,如何直接访问内存中的数据等。C语言是其他任何高级语言的基础,学好C语言可以更容易地掌握其他语言。除此之外,C语言还有其他的一些作用:

①操作系统上编程:比如实现内存管理、写服务器之类的事情,如果不了解其他可以使用系统调用的语言,做这些事情还是需要重度依赖C语言的。

②设计操作系统:大部分操作系统的内核都是由C语言实现的,要是想改一个操作系统内核或者写一个操作系统,不学好C语言是不行的。

③网络协议的实现:现在使用的网络其实有很多层,局域网和互联网内的传输就依赖于不同的协议,设计、实现一个传输协议往往也抛不开C语言。

④物联网:物联网核心的嵌入式系统编程在很大程度上也依赖C语言。

⑤写编译器:虽然所有的编译器并不是都需要用C语言来写,但是我们所用的很多效率高的编译器,都是用C语言写出来的。

任务总结

C语言从1972年诞生到现在已经使用了40 多年且没有被淘汰,从而证明C语言是一门非常重要的编程语言。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发,能以简易的方式编译、处理低级存储器,同时也是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈