
任何你现在常用的软件都不能编写,因为这些软件都是界面式的,谭老讲的都是c语言基础。建议你去看windows程序设计,这个是以c为基础的,学会这个就可以编写出界面了。以后学了c++还可以学习mfc,也可以编写完美的界面。
C语言是一款经典的程序语言,它所用到的工具最早有TruboC,现在的C,C#的工具如MSVC都支持C语言编程。
C语言是汇编语言之后的一门高级语言,C语言在上个世纪90年代还是主流语言,后来逐渐被C,Java,C#所替代。但它仍然是一款经典的,可以体现编程思想的语言。
而且对于同样的功能,基本上语言越高级,程序执行的效率越低,所占用的资源大。所以C语言现在在硬件驱动等方面编程应用比较多。
虽说用好c语言很难,但是对于c语言的入门是很容易的,用一句话来形容c语言,我觉得是易于上手,难于精通,C语言在语法上的使用很简单,因为它不是很高级,也不是很庞大,在第二版(K&R)中,它的参考手册仅仅用了49页就描述了整个C语言,没有迭代器,没有装箱C语言的这种“低级”让我们在学习时会把重点放在自己控制上,所以什么都会选择自己动手,而在用java或python时,我的第一感觉,往往是,“嗯,我有哪些工具可以使用?”太多的工具选择,有时候是件坏事,因为没了许多锻炼的机会,而且很难抓住重点,有的时候什么都没有反而是件好事。<!--more--
2,原理
*** 作系统是一个程序员应该学好的一门课,但是我们在学习的那些 *** 作系统概念很难深入理解,或者比较抽象,比如饿死哲学家之类的,仅仅知道概念,是不能解决实际问题的,比如,你可能学过一些进程的概念,或者内存分段之类的,那我问你,windows进程问什么没有僵死在windows中如何修改一个进程中的数据Linux的fork和Windows的createProcess有什么不同linux有线程吗你写一个我看!你的理论不管用了,因为你没有实践过所以,我觉得学习 *** 作系统最好的方式就是用c语言进行系统调用,这种方式在unix和linux下能获得更好的学习方式,因为win32-sdk不适合学习,更适合开发,在unix下,你能用你的 *** 作系统知识与fork(),exe(),wait()等系统调用很好的结合
而且不仅仅是 *** 作系统你,在学习c语言的时候,你不得不接触一些系统结构的知识,比如字节对齐,比如c语言的地址空间,你就会知道堆栈这种东西,如果不是递归,是可以没有的你就会知道虚拟地址到实际地址的转换这些在java和c#中变得透明,但是透明是为了方便开发,透明对一个学习者是有害的,想象今后的云计算,将会是怎样的开发它将培养更多的码农。
3,数据结构与算法
用C语言来学习数据结构和算法在合适不过了,用指针去写吧,用Java和c#下的学习更像是会用。你可能会说C++更好,但是你的类(变量+函数)本质跟c语言中的结构体+函数,没有区别,除非你用模板,多态,重载,我才承认你在用c++,但是你的重点篇了,我们不是在讨论学习数据结构与算法吗?你现在是在学习语言特性了。
4,更好的过渡
本文所写的是为什么学习C语言,作为一个学生,我觉得说什么C语言开发更高效,就是个笑话,因为,谈到开发,又开始谈金钱,时间,一大堆的东西,你会问,为什么不是java或python开发是开发的事,你学的扎实还不会开发?我只是说c语言的路线更适合学习,你又会问钱都挣不上学什么?我记得有一次一个来做java培训的人说,“我们培训java,你们把自己做成一个商品,推销出去。”。我觉得很可笑,我们要做的不是商品,最起码是一支股票。所以害怕学的东西找不到工作的人,用一切时间来犹豫徘徊。
以上就是关于c语言学完可以写软件吗全部的内容,包括:c语言学完可以写软件吗、c语言程序设计用什么软件啊(学c程序设计用什么软件)、C语言程序设计 为什么要学习C语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)