怎样学习c语言.docx

上传人:b****5 文档编号:7194162 上传时间:2023-01-21 格式:DOCX 页数:16 大小:29.05KB
下载 相关 举报
怎样学习c语言.docx_第1页
第1页 / 共16页
怎样学习c语言.docx_第2页
第2页 / 共16页
怎样学习c语言.docx_第3页
第3页 / 共16页
怎样学习c语言.docx_第4页
第4页 / 共16页
怎样学习c语言.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

怎样学习c语言.docx

《怎样学习c语言.docx》由会员分享,可在线阅读,更多相关《怎样学习c语言.docx(16页珍藏版)》请在冰豆网上搜索。

怎样学习c语言.docx

怎样学习c语言

Companynumber:

【WTUT-WT88Y-W8BBGB-BWYTT-19998】

 

怎样学习c语言

怎样学习c语言

我们在学习C++的时候,有很多人不知怎样学习它、怎样学好它,也不知应先从那里开始学起,关于C++

的入门其实很简单,你只要一步步按照你手中的那本C++教材来学就可以了,也许你把C++学的很烂,这

时你千万不要认为我好像很精通C++了。

我个人认为要想学习C++,最好直接学习它,不要先学习C语言,然后在学习C++,虽然C++是从C语言上

发展过来的,但如果你对C语言了解的越多,在你写C++程序的时候,你很难摆脱C的风格,既使你是一

位很有经验的程序员,如果你对C很了解,在学习C++的时候,尽量使用C++的风格,我这样并不是说C不

好,关键我们现在要了解的是C++而不是C。

现在让我们深入学习C++吧!

C++的难学,不仅在它那广博的语法、语法背后的语义、语义背后的深层思

维、深层思维背后的对像模型;C++的难学,还在与它提供了四种不同的编程思维模型。

当我们找来一

本C++教材时,当我们翻开第一页时,这时我们已进入了C++的世界,我们现在开始探索,开始在追求新

技术的旅程中!

想学好C++,熟练掌握它的语法是不可少的,当你掌握了C++的语法时,那么我要恭喜你,你已正正进入

了C++的世界,要想学好C++,你只有努力的学习,经常的思考多多的实践,这时你会问了,我应该还要

学习什么呢C++的语法我都已掌握了啊!

我是不是可以学习Windows编程了呢不要急,你是已掌握

了C++的语法,但你能用它写出高效率的程序吗你已对C++所有运行机制都了解吗是的,单单了解

C++语法是不够的,接下来你的任务很多,要学习如何高效地使用C++语言。

现在我就教你怎样的学好它

,怎样的高效使用它。

我们还是先从C++的语法开始说起吧!

这里我只做一个简单的概述,当我们学习C++的时候,你先要了解

它的编程模式,其中包括面向对像编程、通用编程和传统的过程化编程。

当你在学习一个C++语法时,

如果你一时感到很难理解,不妨你先跳过这一段,继续向后学习,当你看完你所学习C++的那本教材时

,你在回过头来学习C++,你会发现其实它就是那么回事,有很多人在学习C++时,刚学习到了一半,突

然感到好像以前学习的语法忘了许多,他们会把书又翻回去,找回那忘掉的语法,如果你在学习C++时

也有这样的情况,你大可不必那么担心,你现在的任务是继续你的学习,不要去管那一时不记得的语法

,如果你现在去重新学习那一时忘掉的C++,恩,不错,这看起来你好像对那语法已深深的牢记在心,

当你的C++在学习到这里时,你能保证前面的语法不在遗忘吗这时的你在学习新的C++语法时,但心会

忘掉前面刚刚找回的C++,你说这时你能学好新的C++语法吗你会一边学习新的,一边重复旧的,这样

一来,那就糟了,这时的你会很容易搞乱新旧C++语法,新的记不住,旧的又被新的语法搞乱了,这时

的你不得不从头再来(毕竟你是初学者)。

对于初学者来说,C++的广博语法是件头疼的事,学会了这个却忘了那个,就像我上面提到的那样,这

时的你应该继续的学习C++新知识,等看完你手中的那本C++教材时,你在来学习忘掉的语法,这时你会

感觉好像C++很简单,没有我们开始说的那么难学啊!

你会觉得我开始说C++难学是用来吓唬人的。

我说

C++难学当然不是用来吓唬人的,这时的你对C++语法已非常熟悉了,这时你千万不要认为对C++已很精

通,就像我开头所说的那样,虽然现在你已摆脱了初学着的称呼,但你也不能算是位精通人士啊!

你只

掌握了C++的大概,接下来的你就要深入学习拉!

祝你成功哦!

呵呵…

你想学习C编程语言吗太好了!

C语言绝对值得你花时间去学。

这里有可以遵循的学习C语言的五个步

骤。

1、买一本C编程的书。

你也可以使用在线的C编程指南,但是依我的经验,书更好一点。

我有两本书要

推荐,Prata的"CPrimerPlus"和Kernighan与Ritchie合着的"TheCProgrammingLanguage"。

们都是有品质的书。

2、找一个编译器。

编译器能把你写的C代码变成在电脑上运行的程序。

微软视窗用户可以下载VC++

2005或Code:

:

Blocks。

如果你使用Linux你可以使用GCC,大多数Linux发行版自带了它。

如果你使用

OSX你可以用MacintoshProgrammer'sWorkshop。

上面所列的所有编译器不是免费就是开源的。

3、写你的第一个"HelloWorld"程序。

很多人学C的人在这一点上就决定放弃。

你所要做的只是走出你

第一个程序的阴影,然后从这里接下来的所有事情都会变得很自然。

4、加入开源社区,为一个项目做贡献。

你可以在SourceForge找到和加入这些项目。

帮助一个开源项目

可以教会你很多关于编程和专业编程结构的知识。

5、持续学习。

对每一个编程语言,你永远不能停止学习。

买更多关于算法和数据结构的高级C编程书。

1怎样学习c语言

 很多人对学习C语言感到无从下手,经常问我同一个问题:

究竟怎

样学习C语言

我和刚刚起步的人一样,学习的第一个计算机语言就是C语言.经过这

些年的开发,我深深的体会到C语言对于一个程序设计人员多么的

重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,(除了汇编)不

懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭.为什

么C语言如此重要呢

第一:

C语言语法结构很简洁精妙,写出的程序也很高效,很便于描

述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,

如果你想在程序设计方面有所建树,就必须去学它.

第二:

C语言能够让你深入系统底层,你知道的操作系统,哪一个

不是C语言写的所有的windows,Unix,Linux,Mac,os/2,没有一个

里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去

呢更不要说你去写它们的内核程序了.

第三:

很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl..

.哪个不是呢掌握了C语言,可以说你就掌握了很多门语言,经过

简单的学习,你就可以用这些新型的语言去开发了,这个再一次验

证了C语言是程序设计的重要基础.还有啊,多说一点:

即使现在

招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要

掌握好C语言.

那么究竟怎样学习C语言呢

1:

工欲善其事,必先利其器

这里介绍几个学习C语言必备的东东:

一个开发环境,例如turboC,这个曾经占据了DOS时代开发

程序的大半个江山.但是现在windows时代,用turboC有感觉不方

面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功

能,查询参考资料也不方便.建议使用VisualC++,这个东西虽然

比较大块头,但是一旦安装好了,用起来很方便.

2:

葵花宝典

学习计算机语言最好的方法是什么答曰:

读程序.

没错,读程序是学习C语言入门最快,也是最好的方法.如同

我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而

是学习它们的例程.当然,对于没有学过任何计算机语言的初学者

最好还是先阅读教程,学习完每一章,都要认真体会这一章的所

有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序

直到每一行都理解了,然后找几个编程题目,最好是和例程类似

的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你

已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信

你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究

例程,想想自己为什么写不出来,然后再去写这段程序,反反复复

直到你手到擒来为止.

3:

登峰造极

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和

解决问题的方法(算法).

是不是写出底层程序就是程序设计高手呢非也,写底层程序,无

非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片

写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后

写值读值,仅此而已.这不过是熟悉一些io函数罢了.那么怎样才

算精通程序设计呢怎样才能精通程序设计呢举个例子:

你面前

有10个人,找出一个叫"张三"的人,你该怎么办第一种方法:

直接对这10个人问:

"谁叫张三".第2种方法:

你挨个去问"你

是不是张三",直到问到的这个人就是张三.第三种方法:

你去

挨个问一个人"你认不认识张三,指给我看".不要小看这个问题

你说当然会选第一种方法,因为这个方法最

快,效率最高,但是在程序设计中找到解决问题的最优方法和你用

的手段却是考验一个程序员程序设计水平的重要标志,而且是不容

易达到的.刚才这个问题类似于数据结构和算法中的:

Map数据结

构,穷举查找和折半查找.所以掌握好数据结构和一些常用算法,

是登峰造极的必然之路.

2007-06-0214:

05一,怎样学习C语言

很多人对学习C语言感到无从下手,经常问我同一个问题:

究竟怎样学习C语言我是一个教师,

已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。

经过这些

年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序

这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。

为什么C语言如此

重要呢

第一:

C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意

使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。

第二:

C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的所有的

windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当

中去呢更不要说你去写它们的内核程序了。

第三:

很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢掌握了C语言,

可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验

证了C语言是程序设计的重要基础。

还有啊,多说一点:

即使现在招聘程序员,考试都是考C语言,你想

加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢

1:

工欲善其事,必先利其器

这里介绍几个学习C语言必备的东东:

一个开发环境,例如turboC,这个曾经占据了DOS时代开发程序的大半个江山。

但是现在

windows时代,用turboC有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功

能,查询参考资料也不方便。

建议使用VisualC++,这个东西虽然比较大块头,但是一旦安装好了,用

起来很方便。

一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编第二版

清华大学出版社,此书编写的很适合初学者,并且内容也很精到。

除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我

们当初学习,只有读书做题这么老套。

我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总

结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的truboC,初

学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。

还有一个“C语言学习系统”软件

,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:

葵花宝典

学习计算机语言最好的方法是什么答曰:

读程序。

没错,读程序是学习C语言入门最快,也是最好的方法。

如同我,现在学习新的J#,C#等其他语言

,不再是抱着书本逐行啃,而是学习它们的例程。

当然,对于没有学过任何计算机语言的初学者,最好

还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例

程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,

自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对

不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什

么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:

登峰造极

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。

是不是写出底层程序就是程序设计高手呢非也,写底层程序,无非是掌握了硬件的结构,况且

硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后

写值读值,仅此而已。

这不过是熟悉一些io函数罢了。

那么怎样才算精通程序设计呢怎样才能精通程

序设计呢举个例子:

你面前有10个人,找出一个叫“张三”的人,你该怎么办第一种方法:

直接对

这10个人问:

“谁叫张三”。

第2种方法:

你挨个去问“你是不是张三”,直到问到的这个人就是张

三。

第三种方法:

你去挨个问一个人“你认不认识张三,指给我看”。

不要小看这个问题,你说当然会

选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的

最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。

刚才这个

问题类似于数据结构和算法中的:

Map数据结构,穷举查找和折半查找。

所以掌握好数据结构和一些常

用算法,是登峰造极的必然之路。

最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个

想成为程序设计高手的人研读此书。

[编辑:

赵晋军]

二,语言学习方法

谈谈偶的学习方法,抛砖引玉!

学习不论讲不讲方法,最终都能学会。

但是别人1个月学会了,而你却100年才学会,这不就晚了

么:

)所以说,学习还是要讲究方法的。

学习方法正确,事半功倍;学习方法不正确,事倍而功半。

什么才是学习C语言的捷径我的答案是看书。

书中所写,是前人数十年经验所写,看十本书,就相当

于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。

)书当然要看好书,只有好书才营

养丰富。

假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由

于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当

看了。

学习C语言要看那些好书我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍

的4本。

(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。

况且,如果你真的想看,我相

信你一定有办法搞的到。

)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟

性。

之后要看那些书呢我不妨再列几本。

BjarneStroustrup的《C++程序设计语言》(TheC++

ProgrammingLanguage)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语

言书都要全,都要仔细;BjarneStroustrup的《C++语言的设计与演化》(TheDesignandEvolution

ofC++)和David的《C语言接口与实现创建可重用软件的技术》(CInterfacesand

ImplaementationsTechniquesforCreatingReusableSoftware)一定要看,这两本书讲述了如何用

C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。

其他的书,操作系

统的要看,编译原理的要看,算法的要看,模式的也要看。

读书破万卷,coding如有神。

总而言之,就

如《传》中云:

“生而知之者,上也;学而知之者,次也;困而学之又其次也。

”我们不能总是因困而

学之,而要做到兵马未动,粮草先行。

看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应

用总是招数繁复,变化多端。

因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。

Linus

给别人解答问题的时候,常说Readthefuckingsourcecode;候捷也在其文中提到“源码之前,了无

秘密。

”这就是大师的箴言呀。

源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。

可以

说高手的经验大都是源自代码。

源码和书一样,也是要看好的,不要看差的。

在此,我推荐看Linux

kernelsourcecode和Linuxtcp/ipsourcecode。

这两套代码都是开源的,垂手可得。

此外,还可

以配合着Andrew的《操作系统的设计与实现》(OperatingSystems:

Designand

Implementation)、毛德操胡希明的《Linux内核源代码情景分析》、JonathanCorbet,Alessandro

Rubini,GregKroah-Hartman合着的《Linux设备驱动程序》(LinuxDeviceDriver,3e)、

Stevens《TCP/IP详解(3部)》(TCP/IPIllustracted)、Stevens《UNIX环境高级编程》

(AdvancedProgrammingintheUNIXEnvironment,新版增加了Linuxkernel的内容)等书来看,方

便的很当然程序不是看出来的,是写出来的。

我高中的时候每天坚持写6个小时程序,《数据结构》和

排列组合、图论方面的习题反复做了N遍。

到现在虽然已经时隔五六年,很多内容早已淡忘掉,但却培

养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。

学习忌贪多、忌浮躁、忌急功近利、忌目中无人。

把学习计划放的长一些,培养一个好的学习方

法,一步一步慢慢走,终能成为高手。

如何学习C语言

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。

如何以最小的代价学习并精通C语

言是本文的主题。

请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的

收获,同时也意味着你需要经历艰苦的过程。

一、要读就读好书,否则不如不读

  所有初学者面临的第一个问题便是:

如何选择教材。

好的开始是成功的一半,选择一本优秀的教材

是事半功倍的关键因素。

不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还

可以再次选择。

  大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学

校都会推荐这本书作为C语言课本。

虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定

地黑他这本书的。

这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业

学生看的。

这本书的主要缺点是:

例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程

序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其

中不乏关键的概念性错误。

好了,这本书我也不想说太多了,有兴趣大家可以XX一下:

  Kernighan和Ritchie的《TheCProgrammingLanguage》(中译名《C程序设计语言》)堪称经典

中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,

否则不如不看。

另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参

考手册》是十分必要的。

《C语言参考手册》就是《CReferenceManual》,是C语言标准的详细描述,

包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。

顺便提一句,最新的《C程序

设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建

议按照C99标准学习。

还有一本《C和指针》,写得也是相当地不错,英文名是《PointersonC》,特

别地强调指针的重要性,算是本书的一个特点吧。

不过这本书并不十分适合初学者,如果你曾经学过C

语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。

我相信,只要你理解了

指针,C语言便不再神秘。

  如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。

首先是《CTraps

andPitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。

要注意一点

,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不

是什么坏事。

然后你可以挑战一下《ExpertCProgramming》(中译名《C专家编程》),书如其名,

这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。

  切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。

如果你看不懂,那你一定是缺失了

某些必需基础知识。

此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的

书籍。

把基础知识补充完毕再回头来学习,才会真正的事半功倍。

二、Unix/Linux还是Windows,这是个很大的问题

  不同的编程环境会造就出不同思维的程序员。

Windows的程序员大多依赖集成开发环境,比如

VisualStudio,而Unix程序员更加钟爱Makefile与控制台。

显而易见,集成开发环境更容易上手,在

Windows上学习C语言,只需要会按几个基本的VisutalC++工具栏按钮就可以开始写Hello,World!

了,

而在Unix下,你需要一些控制台操作的基本知识。

有人也许认为Unix的环境更简洁,但习惯的力量是很

大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算

  对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义

的事情才是最重要的。

用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本

身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。

  所以我建议初学者应该以VisualC++(不是VisualC++.NET)或者DevC++作为主要的学习环

境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。

VisualC++

使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对

C99的标准都支持良好。

使用顺带提一下,很多大学的C语言课程还在使用TurboC作为实验环境,

这是相当不可取的,原因其一是TC对C标准几乎没有支持,其二是TC编译得到的程序是16位的

,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC编译出32位程序

,不过那过于复杂了)。

  等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于

Unix平台的(比如《C专家编程》)。

转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完

全不同于Windows平台的思考方式,但是这种痛苦是值得的。

Unix与C是共生的,Unix的思考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1