任务1 走进C语言世界——C语言概述

工作任务

通过查阅资料、网络资源,了解C语言的发展史、特点及学习方法。

思路指导

1.在“国家精品课程资源网”等网络资源上查阅资料。

2.查阅相关书籍,初步了解C语言。

相关知识

(一)计算机语言

在走进C语言之前,先来认识什么是计算机语言。计算机语言(Computer Language)是人与计算机之间通信的语言,计算机语言主要由一些指令组成,这些指令包括数字、符号和语法等内容,编程人员可以通过这些指令来指挥计算机进行各种工作。

计算机语言根据功能和实现方式的不同大致可分为三大类,即机器语言、汇编语言和高级语言。

1.机器语言

计算机不需要翻译就能直接识别的语言称为机器语言(又称为二进制代码语言),该语言是由二进制数0或1组成的一串指令,对于编程人员来说,机器语言不便于记忆和识别。

2.汇编语言

计算机可以识别由0和1组成指令的机器语言,但人类使用机器语言太不方便了。为了解决这个问题,汇编语言诞生了。汇编语言用英文字母或符号串来替代机器语言,把不易理解和记忆的机器语言按照对应关系转换成汇编指令,汇编语言比机器语言更加便于阅读和理解。

3.高级语言

汇编语言依赖于硬件,使得程序的可移植性极差,而且编程人员在使用新的计算机时还需学习新的汇编指令,大大增加了编程人员的工作量,因此出现了计算机高级语言。计算机高级语言比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用。高级语言和计算机的架构、指令集无关,具有良好的可移植性。

常见的高级语言包括C、C++、Java、VB、C#、Python、Ruby等。高级语言应用非常广泛,世界上绝大多数编程人员都在使用高级语言进行程序开发。其中C语言就是目前最流行、应用最广泛的高级语言之一。

(二)C语言的发展和特点

1.C语言的发展过程

C语言是1972年由美国的Dennis Ritchie(里奇)设计发明的,它由早期的编程语言BCPL(Basic Combind Programming Language)发展演变而来。

随着微型计算机的日益普及,C语言出现了许多版本,由于没有统一的标准,所以这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行的C语言标准。

早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们所认识,所以到了20世纪80年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。

2.C语言的特点

(1)C语言是一种结构化语言。

(2)层次清晰,便于按模块化方式组织程序,易于调试和维护。

(3)C语言的表现能力和处理能力极强。

(4)具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

(5)可以直接访问内存的物理地址,进行位(bit)一级的操作。

(6)C语言实现了对硬件的编程操作,集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适用于应用软件的开发。

(7)效率高,可移植性强。

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

根据上述C语言的特点,可以看到C语言的应用极其广泛,在对操作系统和硬件进行操作的场合,C语言明显优于其他高级语言。

C语言语法简洁,表达能力强,只有32个关键字、9种控制语句,便于初学者学习和掌握。

C语言久经考验,有现成的大量优秀代码和资料,便于参考和学习。

程序设计语言都是相通的,万变不离其宗。掌握了C语言,再进一步学习面向对象的语言,如Java语言、C#语言,可以达到事半功倍的效果。

因此,在绝大多数高等院校的软件及相关专业的课程链路图中,C语言总是作为第一门程序设计课程。学生通过本课程的学习,可以了解程序设计语言的基本知识,训练逻辑思维能力,为后续的程序设计课程打下基础。

(四)怎样学好C语言

(1)反复阅读教材。初学者遇到的大部分问题,教材上都有解释。书读百遍,其义自见。

(2)默写程序。读者看懂教材上的程序例题之后,可按照例题的思路把程序默写出来;尝试过就会知道看懂和默写是两个完全不同的程度。在做书后的习题时,要独立思考,尽量不要先看答案或提示。熟能生巧,编程亦是如此。

(3)阅读他人的程序。没有哪个作家不大量阅读别人的作品,同样初学者也可以从别人的代码中吸取营养。经典代码需要熟记。

任务实施

查阅、学习书籍资料及网络资源。

特别提示

(1)当编程出现错误时怎么办?

首先应该查看编译器提供的信息。编译本身就能输出大量的提示。如果还不能解决,则查阅教材和文档,或上网查询。

(2)能看懂别人的程序,但自己做就觉得无从下手。

这个问题每个刚开始学习编程的人都会遇到,初学编程就像解应用题一样,首先要建立一个抽象描述模型,建立数学表达式,给出求解的方法,也就是算法,最后把算法转化为程序。随着学习的深入,就会慢慢提高逻辑思维能力。

(3)英语不行怎么办?

C语言全部关键字一共32个,而其中有6~7个的使用率超过78%;就编程本身而言,错误和警告提示也是有限的几句英语,只要勤于学习和总结,学好程序设计语言是没有问题的。