有没有人知道一些好的资源,可以提供一些任务或问题来练习那些对于像C#和PHP这样的高级语言有经验的人来说是“新”的C语言技术?我所能找到的似乎都是更多的“挑战”而不是实践中遇到的问题。
谢谢。
有没有人知道一些好的资源,可以提供一些任务或问题来练习那些对于像C#和PHP这样的高级语言有经验的人来说是“新”的C语言技术?我所能找到的似乎都是更多的“挑战”而不是实践中遇到的问题。
谢谢。
你可以尝试阅读Bruce Eckel的《Thinking in C》。
这本书完全免费,可以从他的网站上下载。
像其他人所说的那样,阅读K&R。
特别注意指针、结构体、联合体、位域、typedef和C预处理器。指针和指针算术非常重要。
阅读C预处理器手册。
学会编写make文件。阅读您版本的make手册。
K&R已经过时了。
我更喜欢Stephen Prata的C Primer Plus第5版 ISBN:0-672-32696-5
它涵盖了C99。
使用C语言进行问题解决和程序设计
作者:
Jeri R. Hanly,Elliot B. Koffmon和Frank L. Friedman
1991年,P.J. Plauger出版了The Standard C Library。这本书交替引用标准(我相信是C89)的引用和讨论库函数的使用方式,同时提供了完整的C标准库的实现描述和源代码。
是的,这本书没有更新到最新的标准,但它仍然有很大的价值,至少解释了一些标准库奇怪之处背后的原理。顺便说一下,Plauger曾经是标准委员会的成员。
Plauger写了许多关于C和早期Unix的经典书籍。找到并阅读最古老的那些,品尝一下C之前的历史...
考虑到您之前的(C#)编程经验,我猜您不需要一本教如何编程的书,而是需要了解 C 语言的复杂性和微妙之处。我推荐以下几本书:
一个可以解决已知答案问题的资源是Project Euler。
它本身并不特定于C语言,因为问题的呈现方式明显具有数学取向。然而,诚实地尝试解决其中大量问题需要对结构、指针、标准库以及以C语言良好工作的思考方式有逐渐增长的熟练度。
另一个经常被忽视的资源是麻省理工学院将大部分课程放在网上供人免费使用。他们的EE/CS系也不例外。 《算法导论》这门课可能是一个合适的选择。教材是《算法导论》第二版,作者是Cormen、Leiserson、Rivest和Stein,相对来说写得还不错。我没有详尽地搜索课程列表,所以我相信那里还有其他宝藏。