文档库 最新最全的文档下载
当前位置:文档库 › 如何学好C语言

如何学好C语言

如何学好C语言
如何学好C语言

如何学好C语言

C语言是应用非常广泛的一种高级语言,其历史相当久远。刚开始学习C语言,可能会由于灵活性要记的东西很多,但正是这种灵活性带来了可读性好、语法简单、效率高等优点。当然,要学好C语言,不仅要透彻理解书本概念,还要辅之以大量上机编程。要想提高应用水平,就要多看些应用方面的书。学习C语言不是一朝一夕的事情,但也不需要花费十年八年的时间才能精通。下面就来简单介绍一下其学习方法。

首先要有一个正确的心态,没有正确的态度的人是学不好任何东西的。切不可三心二意,三天打鱼两天晒网。

其次,要明确学习该语言的目的。是想真正掌握这门语言,还是单纯为了应付考试,两者有着很大的区别,这将决定你学习这门语言要学到怎样一个深度。

最后,就是学的问题了。应先从整体上来理解C语言,认识到C语言的优势,还有C语言的特点。C语言是面向过程的一门语言,特别强调各个程序的关系,如程序、函数之间的调用等。

一门语言的基础部分读者只要静下心来认真看,还是很容易理解并记住的。首先基本语法一定要牢记。有一种现象很普

遍,那就是往往看过一遍,当时觉得懂了,便没有加深、巩固。等看到后面知识点涉及到前面的语法时,才发现以前看过的语法记得不是很清晰,甚至忘得一干二净。这时也不用着急,把书翻到前面重新查阅一下相关知识即可。这时不用看得太仔细,只需要粗略地看个大概,就可以将以前学过的内容重新捡回来。

动手实际操作的环节是十分重要的。要学好一门语言就要多上机练习,发现错误之后及时修正会使自己进步更快。在这一阶段,可以多编写一些简单的程序,以此来熟悉C语言的编程环境、数据类型。这样理解起来会更快些,也比较容易记忆。上机实践时,切记千万不能照着书本一味地打代码,应该先将这个程序看懂,当自己觉得完全懂了的时候,再将书合上,凭着自己刚才对程序的理解,重新编写程序,当程序编写正确了,说明该内容真的是完全掌握了;如果出现错误,说明自己在某些知识方面还是有所欠缺,需要进一步改进。

接下来,就是学习一些过程语言的基础模式,如顺序、选择、循环等。这些内容的灵活性较高,千万不要死记硬背,要在理解的基础上去记忆,对同一个问题尝试用多种方法去实现。

在前面的基础上,下面开始学习函数、指针、文件等知识。这些知识相比之前的内容会使人觉得比较抽象,难于理解。这时也不要有畏难心理,要使复杂的问题变得容易掌握需要对其基本概念理解透彻,在基本概念掌握扎实的基础上逐步加深难

度,再复杂的问题也会被慢慢消化。要多借鉴别人写好的程序,体会别人编写程序的思想,这样能让自己少走很多弯路,节省大量时间。在编程过程中有什么不懂的地方要及时解决,上网查资料、请教老师、咨询技术人员等均可。

编程应作为一种习惯,经常写程序有助于自己个人能力的提升。多看一些别人写的知识点总结或编程技巧,对自己会有很多帮助。随着学习的深入,你会发现C语言其实有许多东西是很有趣的。这样学习就不再是一件多么难的事了,而是充满了快乐。

最后,与其他任何一门语言一样,C语言也需要多上机调试、多动脑,这样C语言程序设计的基本方法很快就会掌握。

学好C语言的秘诀:

认真听讲,多读程序

编程,编程,再编程

上机,上机,再上机

我为什么学C语言?

每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还

会教给你更多的关于计算机的知识。它能给我们提供的裨益,简单列举如下:

1)相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。

2)设备驱动程序和操作系统只能用C语言来编写。现在,你可能还从来没有编写过一个设备驱动程序或者一个操作系统,但是如果你需要去修改他们的时候,怎么办?

3)如果你想要得到一份编写微控制器程序的工作的时候,该怎么办?他们都是用C语言编写的。就因为不想学习一门新的语言,你就准备限制你能得到工作的机会吗?

4)C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。

5)如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。

6)因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。

7)C语言是一个开源组织的语言。一个开源组织的产物--LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。

8)C语言是唯一一个向你阐述指针的本质的语言。而C#和Java 干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。

9)找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。

10)任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。

好了,说了这么多,大家应该感到我们应该学习C语言的必要性和迫切性了吧!那就赶快学吧!让它成为我们取得更大成功的阶梯!

究竟我们为什么要学习C?

C是写操作系统最常使用的编程语言(译注:没有之一)。Unix是用C写的第一个操作系统。后来Microsoft Windows,Mac OS X,还有GNU/Linu也都是用C写的。C不仅是操作系统的语言,也是其它几乎所有今天最流行的高级语言的先驱和灵感来源。事实上,Perl,PHP,Python和Ruby都是用C写的。

通过类推的方式,让我们这么说你一直在学的西班牙语、意大利语、法语或者葡萄牙语。你想过知道点拉丁语会很有用吗?因为拉丁语是所有这些语言的基础,了解了C,你就能理解和欣赏建构在传统C之上的整个编程语言家族。

为什么学C,而不是汇编语言?

汇编语言提供了速度和最大的编程可控性,C提供的是可移植性。

不同的处理器必须采用不同的汇编语言来编程。事实上,面对众多的计算机架构,C的一个主要优势在于其通用性和可移植性,而将硬件层的大多控制留给了汇编语言。

例如,C程序可以编译运行在如下设备上,HP 50g计算器(ARM处理器)、TI-89计算器(68000处理器)、Palm OS Cobalt智能手机(arm处理器)、原始的iMac(PowerPC)、Arduino(Atmel A VR)和Intel iMac(Intel Core 2 Duo)。这些设备每个都有自己的专有汇编语言,并且完全不兼容于任何其它一个设备的汇编语言。

汇编语言,很强大,但很难去编写大型应用程序,很难以逻辑方式去阅读和解释。C是一种编译语言,可以产生快速有效的可执行文件。

C也是一个小型“所见即所得”语言:一个C语句最多对应着几个汇编语句,其它都以库函数的形式提供。

所以这就是C是如此流行的语言的原因。

就像推度多米诺骨牌一样,下一代的程序跟随着它的先辈的足迹。用C设计的操作系统通常都有用C设计的系统库。这些系统库反过来用于构建高级库(如OpenGL,或者GTK),这些库的设计者通常又会采用系统库所使用的语言。高级库又被应用级开发者用来设计字处理程序、游戏、媒体播放器等诸如此类。他们多数会选择采用高级库所使用的语言来编程。这种模式就这样如此如此进行…

为什么学C,而不是另一个高级语言?

C最主要的设计是用于生成可移植代码,同时保持性能,又能最小化,而这本来就是“高级”接口打算在操作系统或者其它程序上发挥的作用。作为一种既稳定又成熟的语言,其特性长期来看未必会消失,而是移植到了大多的平台上。

例如,C程序能够编译运行在这些设备上,包括HP 50g计算器(ARM 处理器)、TI-89计算器(68000处理器)、Palm OS Cobalt智能手机(arm处理器)、原始的iMac(PowerPC)、Arduino(Atmel A VR)和Intel iMac(Intel Core 2 Duo)。几乎所有流行的编程语言都至少能运行在这些设备的其中一种上,而C可能是唯一可以运行在三种以上的这些设备的编程语言。

一个最有力的理由是内存分配。不像大多计算机语言,C允许程序员直接写内存。在C中如结构体、指针和数组,这些设计的目的就是用一种高效且机器无关的方式去构建和操作内存。尤其是,C给出了在数据结构的内存层上的控制方法。此外,动态内存分配是程序员掌控,这必然意味着内存重分配成为了程序员的负担。而Java和Perl之类的语言则将程序员从对内存分配和指针的担心之中解救出来。一般而言这是件好事,因为写高级程序时处理内存一个很容易出错的过程。然而,当处理低层代码时,例如操作系统控制一个设备的部分,C提供了一个统一清晰的接口。在其它的高级语言如Java中则没有这些性能。

Perl、PHP、Python和Ruby这些语言可能很强大,能支持许多C 不支持的特性,而一般这些语言是不能用自己实现的。恰恰相反,这些语言多数最初都是依赖C(或者另一种高性能编程语言)写成,而且使用之前必须先要移植到新平台上。

相关文档