标题:给初学C语言的童鞋几点建议
只看楼主
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
结帖率:96.55%
 问题点数:0 回复次数:4 
给初学C语言的童鞋几点建议
    写本文,主要是在论坛看到有几个人发贴咨询如何学习C语言等等。。。。。。

    不知其他人是怎么样。我曾经历下面几个阶段:
    第一阶段:写出的代码一编译就一大堆错误,除非是编译helloworld程序。看着一大堆的错误,但就是不知道怎么改。放网上问问大家,运气好一些会有人帮忙看看。但最后发现大量的错误竟然是中文标点、括号未对齐这种低级错误。但正是这些错误,难道了一大批人啊。
    第二阶段:写出的代码低级错误还是一大堆,但随着只是点的学习,语法错误更多了。
    第三阶段:写出的代码慢慢地能经过几次的修改编译成功了,低级错误也少了许多。但就是一运行,妈呀,直接发生错误退出了。看了一遍又一遍的代码,就是不知道问题的所在。而此时的代码以及无法和以前比了,几十上百行的代码都有。放网上,几乎没人看啊,更别说帮忙解决了。
    第四阶段:此时,好不容易把一本书或是一套视频看完了,感觉还是蛮有成就感的。何不写写有界面的程序?天天看这黑底白自无聊啊。网上发帖子问牛人们怎么写出有界面的程序。得到的回复是,看那本《Windows 程序设计》,也有人说先别想这界面,学学数据结构和算法,再或者去做做ACM的题。出于好奇,还是学习了界面设计,但最后感觉收获不多啊,果断放弃。
    第五阶段:把重点放在C标准库的学习上,感觉有时候能够借助标准库写出像点样的程序来了。很想直到其他人是如何编写代码的,就跑去gnu网站上下载人家的代码,但看了两眼直接放弃了。各种东西都是以前没见过的啊,自己感觉C语言学得差不多了,但就是看不明白人家写了些啥。
    第六阶段:由于兴趣爱好,放了不少精力学习了Linux0.12的源代码。这一段时间还学习了汇编语言,x86体系架构知识,编译工具(gcc\gas\gld\make)的使用。以前都是用VS的,直接感觉VS把我们当傻瓜了。因为VS是想我们用点一下实现编译链接以及启动的步骤,我们几乎没机会了解这些底层细节。学习了汇编,一个感觉看待C程序代码都有些不一样了,有些代码完全可以用另一种方式啊,指针之类的错误少了不少。以前都是胡乱的加&和*,现在都可以去掉一些无用的了,甚至到明白为什么应该如此加。搞清楚了左值和右值的区别等等。以前都比较排斥#define,现在感觉这东西特定场合下太有用了。
    ......
   
    写出之前的东西,只是想告诉大家下面几件事:
    1、只是为了应付考试,你仅仅只会做题,但很难真正入门C语言。你的目标应该更高一些。
    2、代码中有大量错误是正常的。如果一开始写出来的代码中一点错都没有,这才是不正常。只有不断的代码实践,才能慢慢减少这些错误。到某种程序,看一眼编译错误或警告,无需调试就可以知道问题的错误所在。
    3、对于代码中的问题,自己应该首先调试。大家的时间都有限,没有多少人愿意花时间帮你调试。而且只有自己亲自调试,才能不断提高代码质量。
    4、如果学完一本书了,就继续学习C语言标准,或是学习C标准库函数。这些东西是我们编码的基础,可以让我们少造轮子。
    5、适当地学习汇编语言,从计算机的角度看待C程序,这有助于你理解和解决较为难懂的问题。
    6、到一定程度了,可以看看开源的优秀代码。这对代码风格和特殊用法很有帮助。
    7、一定要清楚一件事情:C语言仅仅是个工具,如同写字的钢笔。会用钢笔≠会写散文。要想写出优秀的程序,需要的知识很多很多。比如:算法,数据结构,系统编程,网络编程等等。没有提界面编程,是因为个人觉得不需要花费太多的时间在界面编程上。
    8、永远都别觉得自己的C语言学得足够好了,需要经常打磨。学完一本书或是一个视频,这不是学完了C语言。当你用C语言独立编写自己想要的程序时,你才真正入门,这才是学习C语言的开始。永远都不要相信21天或30天学会或精通C语言。

    当然,我本身也是个初学者,有很多东西没有学会。有问题的地方,大家就不考虑了。希望有对大家帮助的地方。


[此贴子已经被作者于2016-7-1 20:07编辑过]

搜索更多相关主题的帖子: 童鞋 中文 C语言 如何学习 
2016-07-01 20:05
Aprilxu
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-6-18
得分:0 
感谢博主!!
2016-07-01 21:29
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
得分:0 
我在很多编程群里,有人发一百行以上的代码求问哪里出错了。主要是没有这么多的时间去看这么长的代码。
关于界面编程,如果想要走界面开发的,windows程序设计这本书还是得看。毕竟它是让人理解编写界面的入门知识。初步涉及api函数。
不过我个人觉得,不管想走底层开发,还是界面开发。windows程序设计还是得看,理解和掌握。它的消息机制理解了有用。


普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-07-02 11:26
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
得分:0 
写的还是不错的,虽然有一些错别字,但是基本不影响阅读和理解。
2016-07-02 11:56
低调低调
Rank: 3Rank: 3
来 自:四川省成都市
等 级:论坛游侠
威 望:1
帖 子:66
专家分:103
注 册:2016-6-23
得分:0 
感谢楼主的指点,我突然发现自己原来已经在走上错误的道路了啊!我不喜欢界面,我只是想学好几门语言,做出自己想做的东西!所以万分感谢楼主,其次还想问下楼主汇编语言该怎么学习呢?有推荐的书籍吗?
2016-07-02 15:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.159943 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved