如何学习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语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。

回答:2005-03-08 10:39
提问者对答案的评价:
你是专业人士吧,能和我联系吗?
共11条评论...
其它回答 共5条回答评论 ┆ 举报
sober2000
[学弟] 如何学好C语言
1. 克服畏难心理,理性认识计算机语言
我们的学生大多在学习前就有畏难的情绪,觉得C语言难学,学不会,造成这种情况主要是对计算机语言不了解,另外就是有些同学学英语学的差,看到计算机编程用英语编写,就未学先弃了。其实学习语言并没他们想象的那么难,英语差也对学习计算机语言影响不大,比如学C语言,真正要记的关键字不多,语法也不复杂,只要大家不带着畏难的心理,一定能学好的。
2. 学好前三章,打好扎实的基础
计算机语言的学习,真正要记忆的知识不多,如C语言,只要学好前三章:标识符、运算符与表达式、顺序结构程序设计,打下扎实的基础,后面的学习就会容易的多。我在教学中经常遇到这种情况,学到后面,有些学生连printf()、scanf()、putchar()、getchar()等常用函数的使用都忘了,这些最基本的知识都不能熟练掌握,又如何学习后面的内容呢?
3. 改变学习方式,多动脑多分析多练习
根据我多年的了解,我们的学生在小学和初中的学习过程中,存在着较多填鸭式的教学模式,造成学生在学习过程中不灵活、不动脑、不善于分析问题,只会生搬硬背死套的方法学习,这种情况对于学习计算机来说是一个最大的障碍。说实在的,要学好、用好计算机,没有一定的悟性、不能融会贯通、举一反三着实难,因此同学们在学习中不要满足于教师教了多少,而应该自己多动脑筋、对遇到的问题多分析多思考,在计算机上多练习,还可以适当的看些相关的课外书,补充知识量,这样才会学好,用好。就象我前面说到的那个学生,开始他总是满足于我教了他多少,后来的练习,如果是经过我分析后他才做出来的,他总是觉的没有成就感,因为填鸭式的教与学,学生在学习中尝试不到学习的快乐与成功,自然就学不好。
4. 从例题中提取精华,掌握一些代表性的编程方法
这一点其实和学数学一样,不管是教材中的例题还是教师另外安排的练习,一般来说都比较具有代表性,代表了某类问题的解决办法,因此,同学们在学习中不要满足于理解或掌握了例题与习题的解决,要进一步将这些具备代表性的解决办法提炼出来,做为解决相似问题的通用方法。比如说我在教学数组在排序方法的应用时,常会讲冒泡法和选择法两种排序方法,其实,作为一般的应用,不管是哪种排序方法都好,只要是排序的问题,使用其中的一种(或加以变换)都能解决问题的。
5. 加强数学的学习,提高自己的数学基础
当然,如果要学的深入一些,要求再高一些,学习好数学知识对于编程无疑是必要的。在后续的编程学习中,对算法等的理解要求有相当的数学知识,因此在学习中,同学们也要努力学好数学,有扎实的数学基础对于编程的学习是有很大的帮助的.
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-24
第一: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语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。
第2个回答  2012-02-25
楼上的动不动就拷贝别人写的东西,说不定自己都没学过。
学任何一门语言多练习才是王道。多找找题目,然后自己试着写程序,当然,你还得学会怎么编译、调试程序。你得学会看懂编译器的警告、错误信息。这些都是最最基础的。当你写完程序发现有问题的时候,可以对照知识点看书,或者上百度知道提问,但记得把代码贴上来。
初学者应该看的书:《c primer》。当然,如果你是在linux下,还应该看《UNIX环境高级编程》
给你推荐点书,建议你在linux下学C语言,因为开源代码很多,可以很好的学习:
第一阶段:《c primer》、《c primer plus》、《linux c》、《unix环境高级编程》
第二阶段:《深入理解计算机系统》、《代码大全》
第三阶段:《重构》
除了多看书,还要多看开源代码。因为很多开源代码写的都很经典。我是过来人,所以就有这些经验了。
很多人推荐谭浩强的书,我不推荐,原因是:谭浩强的书有的东西不标准也不完善。最简单的例子就是main函数。通篇用的是main()(这也是用windows学c语言的通病)。标准的main函数是int main(void)和int main(int argc, char *argv[])。因为弄懂了标准的main函数,你就明白了程序是如何和系统交互的。本回答被提问者采纳
第3个回答  2012-02-24
学习任何知识,循序渐进总是最好的方式。不幸的是,很多人明知这个道理,却总是想走所谓的捷径。如果你是一个刚刚开始学习编程的中学生,或者你是一个刚刚进入计算机学院的本科生,又或者你是一个决心在计算机领域有所建树的初学者,你一定迫切地想知道,学习计算机技术,究竟应该从哪里下手。 我的建议是:数学、英语、C语言。 数学和英语的重要性已经不需要我来强调,大家也许从幼儿园就开始学习它们了,请时刻把它们放在最重要的位置,无论你是否学习计算机。 为什么C语言如此重要?我们从学习方法开始说起。书本上描述的东西,倘若不经过我们的亲自实践,是难以被彻底消化吸收的。计算机组成原理讲解了浮点数的格式,如果我们能看到并分析内存或寄存器中某个浮点数的表示,那比单纯的纸上谈兵要强一千倍;数据结构与算法似乎很难,如果你能把书上的例子实现出来,然后把习题做完,只需啃完一本好书,你也可以是算法高手;操作系统原理其实不仅仅是原理,只有做一些内核方面的实验才能真正有深刻理解;还有许多新潮的技术,比如JavaEE、PHP、Ajax、.NET等等等等,很多高手学习这些技术只需要很短的时间,不必说,他们肯定是C语言的高手。C语言几乎是一切计算机技术的通用工具,包括计算机的各种基本理论。没有精通C语言的决心,就不要涉足计算机领域。 为什么是C语言而不是C++不是Java不是其它?因为C语言最简单。你需要掌握一个语言工具,但也许并不需要“面向对象”、“模板”、“函数重载”等等一大堆概念。C语言足够低级,非常非常地贴近计算机的底层结构,不会让你迷失在概念的汪洋大海。除了“指针”,C语言没有真正意义上的难点,而“指针”,恰恰是理解计算机底层结构精髓的关键所在。 所以,初学者们不必思考应该学什么,等把C语言精通了,你自己便会知道下一步如何去走。如果你对操作系统内部感兴趣,你便可以试着研究一下Unix的内核,除了C语言,你还需要一些汇编语言和保护模式的知识;如果你对算法感兴趣,那么恭喜你,C语言足够使用了;如果你对Windows编程感兴趣,去看看《Windows程序设计》吧,作者清楚的告诉你“只需要C语言的基础”;如果你对任何其它语言感兴趣,尽管去学吧,不过还是建议先学C++,因为你需要一些“面向对象”的知识。 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程
第4个回答  2012-02-24
入门用谭浩强的书,中文容易理解,我用的是c primer plus看起来比较麻烦不过也他的好处,看不懂的问题学会百度搜别人提出的问题和去csdn询问,c语言只是入门所以很多人会回答的,c和外语不同,需要的是熟悉而不是死记,看书第一遍会有理解不了的地方这实在太正常了(除非你是天才),反复看几遍,多看书中代码,就能慢慢理解了,类似很多函数比如文件操作,指针数组,结构体联合枚举,比较难的地方不要想一次记住,不懂就翻代码,找百度,是很容易,学会搜索编译器的错误提示,算法方面其实不会很难,数据结构只是为了提高效率,等熟悉语法再掌握不完,其实深入研究没有太大必要,就像说话,只要会用,会搜索,就行了。

大学生如何学C语言
第四,不断通过编程练习和项目来提高技能。解决实际问题能让你深入理解C语言的应用场景,同时也锻炼了逻辑思维和问题解决能力。尝试参与不同的项目,拓宽编程视野。最后,积极参与开源社区或参与相关竞赛,与全球的程序员交流学习。这不仅能提升你的编程技巧,还能让你接触到最新的编程理念和技术,拓宽视野,...

如何从零开始学习C语言
方法如下:1、熟悉代码:注意代码中的算法和数据结构,学C语言是算法和数据结构。数据结构,指针是其一部分,数据结构是建立在指针之上,如链表、队列、树、图等,变量的命名、库函数的用法等;2、练习编程:刚开始学时多练习书上的习题,对于自己不懂之处,编程序进行验证,自己练习的过程中纠正自己不好...

c语言如何学习
学习C语言可以按以下步骤进行:1. 理解基础知识:先学习C语言的基础知识,包括语法规则、数据类型、变量、运算符、控制流程等。2. 学习编程思想:了解C语言的编程思想,包括顺序执行、循环、条件判断等。3. 编写简单程序:从简单的程序开始编写,如输出"Hello, World!",逐渐增加难度,掌握基本的语法和逻...

大学生如何自学c语言?
3.实践编程:学习C语言最好的方式是通过实践编程。尝试编写一些简单的程序,如计算器、猜数字游戏等。通过实践,你可以更好地理解C语言的语法和概念,并提高编程能力。4.参与项目:参与一些开源项目或者自己构思一个小项目,可以帮助你将所学的知识应用到实际中。通过与他人合作,你可以学习到更多实际开发...

零基础如何学习c语言?
零基础学习C语言的步骤:1. 了解C语言基础知识和语法。2. 选择合适的学习资源。3. 实践编程,积累经验和知识。4. 解决遇到的问题,不断优化学习。详细解释:了解C语言基础知识和语法:首先要明确C语言是什么、做什么用的以及它的特点。可以通过网络搜索或阅读书籍来获取这些基础知识。接着,需要了解C...

如何学习c语言
1、首先当然是要看书,这里向大家推荐谭浩强编写的《C程序设计》,目前是第四版。这本书写的很细致,适合零基础学习的新手 2、看完了书当然是要动手练习,刚开始你可以写最简单的hallo world,当你成功的写完一个小程序时,心中会有很大的成就感。3、如果你发现自己有什么不懂的,你可以去贴吧询问,...

怎么快速学习C语言?
1. 制定学习计划:制定一个周密的学习计划,并根据自己的实际情况进行调整。将学习时间、内容、进度等方面都考虑到。2. 选择合适的教材:选择一本适合初学者的C语言教材,建议选择一本较为系统、生动易懂的教材,同时注意教材的质量和可靠性。3. 学习重难点知识点:对于C语言的重点和难点知识点要认真...

如何学习c语言
如何学习c语言一:学习顺序先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。二...

如何c从零开始学习如何c语言编程?
1. 如何开始学习C语言编程:首先,了解C语言的基础知识是必要的。C语言是一种广泛应用于计算机编程的高级语言,它是许多现代编程语言的基础。2. 掌握C语言的库函数:学习C语言的标准库函数对于编写高效程序至关重要。这些函数包括输入输出函数、数学计算函数、字符串操作函数等。熟练使用这些函数可以提高编程...

怎样才能学好C语言?
1、学好C语言,你可以很好地应付任何一种编程工具。2、一定要多上机练习,通过程式了解相关知识。几经反复方得正果。3、不要把学习C语言当成一种任务,更不要把它看成很难完成的任务。要充满自信,只要是一个智力正常的人都能学好C语言。始终保持游戏的心态,多发现其中的乐趣。当感到编程趣味无穷,那...

相似回答