学完 C 的语法之后应该如何提高?

2014-11-30 00:10:30 +08:00
 hx1997
现在能自己写一些小程序,但感觉提高不了。接下来应该怎么做?看些什么书还是?

请在 C 语言范畴内回答,建议学 C++ 或者其他语言的就算了。

谢谢!
2172 次点击
所在节点    C
24 条回复
BGLL
2014-11-30 00:19:17 +08:00
研究各种算法,无底洞,够你琢磨了
sophymax
2014-11-30 00:27:01 +08:00
1 研究数据结构 , 不必理会书里面的写法 , 只需要知道结构自己用各种链表指针撸出来就行了 , 注意下内存的处理
2 有精力的话翻下汇编 , 不一定学会 , 是让自己理解各种内存之间的关系 , 我开始那时候只会用汇编 ,写了一堆程序(读写软盘什么的) , 然后后来学C的时候指针几乎没费任何功夫 , 很快就是想怎么写就怎么写的程度
durrrr
2014-11-30 00:32:27 +08:00
写个 web 服务器玩?好多东西都可以复习到
phoneli
2014-11-30 00:33:49 +08:00
写点小程序,再学习啊c++,再写点小程序,再学习下unix,再玩下linux,再写下网络编程,再来这里提问。
huxh10
2014-11-30 00:37:07 +08:00
一个方向是算法和数据结构,比如《算法导论》、《数据结构与算法分析:C语言描述》,刷一刷OJ或者*code;另一个方向是系统编程,《linux programming by example the fundamentals》;之前还听人说过,学C语言看kernel之类的。不过话说回来C的语法真的学完了么,《C专家编程》、《C和指针》、《C陷阱与缺陷》...
mckelvin
2014-11-30 01:00:58 +08:00
找个感兴趣的实际需求,阅读现有实现(已有开源库)代码,尝试改动并优化它们。顺路推销一些工具:cmake, valgrind, callgrind, qcachegrind.
bombless
2014-11-30 01:24:10 +08:00
做编译器吧……
简单一点的话就做点HTTP啥的,实现个FTP啊SMTP或者HTTP代理、SOCKS5代理啥的。
hx1997
2014-11-30 01:26:53 +08:00
@huxh10 语法学完是说会写出相应的代码,但不保证了解其高级用法,也不保证不会犯错,尤其是指针这些,感觉这些需要在实际运用中积累。我本来想说已入门的,但是又怕入门的定义不清楚,所以说成了学完语法,没想到还是有歧义。真正学完(精通)也不是一时半会的事吧。

谢谢建议。
Cee
2014-11-30 01:27:46 +08:00
我都不敢说我学完c的语法。。。
hx1997
2014-11-30 01:33:37 +08:00
@Cee 加附言了,口出狂言说学完语法会被喷的吧。。。
Cee
2014-11-30 01:36:45 +08:00
@hx1997
那就写点很简单的面向过程的程序(
之后
喜欢算法去研究算法
看看基础的数据结构
有余力看看汇编 和系统最基础的底层搭钩
网络应该也可以030
lincanbin
2014-11-30 03:05:23 +08:00
不断地练习,你可以去一些产品经理/天使投资/众酬的社区,抄几个点子来实现一下试试。
besto
2014-11-30 03:45:14 +08:00
@huxh10 这位说的比较实际,推荐的书都不错。
不过我的建议是,如果你真的是想用C,用C吃饭,把TCPL上所有的题目都做了,都很简单,但是想做对没那么容易。
pagict
2014-11-30 08:47:42 +08:00
zhangdawei
2014-11-30 09:46:04 +08:00
找个公司写C
freeze
2014-11-30 10:32:10 +08:00
单片机
xuwenmang
2014-11-30 10:50:18 +08:00
研究PHP核心,有个研究方向不错。。。
402124773
2014-11-30 10:54:06 +08:00
C语言能干嘛,C语言能做绝大部分IT的事情,如同操作系统,网络协议等等。学了C语言的语法能干嘛?感觉能做的事情不多,1.练习算法,用c语言实现。看看《数据结构和算法分析》,《算法导论》。2.学习linux内核,《linux内核设计与实现》《linux设备驱动程序》《深入理解linux》等等。其他的不太了解
acros
2014-11-30 11:51:38 +08:00
看几个著名的开源c写的程序。
确定语法层面没问题,比如quake,doom引擎....
acros
2014-11-30 11:54:05 +08:00
要提高我觉得可以直接把c自带的库都看过去。比如stdio啥的,我学了c几年后才了解有atexit存在,暴汗。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/150325

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX