| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1686 人关注过本帖
标题:给初学C语言的童鞋几点建议
取消只看楼主 加入收藏
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
结帖率:96.55%
收藏
 问题点数:0 回复次数:0 
给初学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
快速回复:给初学C语言的童鞋几点建议
数据加载中...
 
   



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

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