我知道几种编程语言,包括Objective-C,Java,C#和python,以及C.但是,我需要提高我在C中的效率。
在大多数恰好是高级,基于对象和面向GUI的语言中,我创建了一些标准的面向对象的示例来指导我使用语言/框架。我通常创建一个“汽车”示例,我在其中模拟汽车并允许用户调整速度,观察里程增加。
然而,有些事情告诉我这个例子在unix命令行设置中转移到C是不实际的。在基于unix命令行的C设置中“测试自己”有哪些好的基本想法?
感谢您的任何意见!
编辑: 谢谢你的回答。我对汽车示例的基本关注是,我不应该在这种环境中尝试面向对象,而是做一些更适合语言的事情。感谢Duck建议重新创建命令行实用程序。
答案 0 :(得分:6)
答案 1 :(得分:4)
重新创建(无数次)任何标准命令行实用程序 - cat,ls,touch,more,less等。编写一个基本shell。这些将练习C并重新熟悉unix系统调用。
答案 2 :(得分:2)
试试这个:http://www.gowrikumar.com/c/
他们提供谜题和问题,你发现它们,然后你可以检查你的答案。可能不足以满足您的要求,但这可能是一个开始?
答案 3 :(得分:2)
你可以用结构写一些类似的东西。创建一个汽车结构并创建对作为指针传递的Car结构进行操作的函数(显式此参数)。您可以使用conio.h或ncurses.h使用计时器进行奇特的控制台动画。这可能很有趣,可能会提供一些见解。您还需要读取键盘输入以提高/降低速度。
答案 4 :(得分:1)
获得W. Richard Stevens的“Unix环境中的高级编程”。本书中的讲座和例子对于在C中完成的工作类型更加协调,更加真实和实用。它们向您展示了语言的意图和目的(以及高度的哲学)。 / p>
那,IMO,会更好地刷新你的C(除了重新阅读古老而金色的K& R书籍。)
我强烈建议你走这条路(特别是如果你来自UI,面向对象的世界。)一个谨慎的世界:不要试图在C中做OO。可以做到,但那不是您的直接目的。学习如何在C语言中对程序进行编码和建模(特别是通过调整其预期目的的示例)。