自学了那么久的C/C++,为什么仍写不出项目?

行业资讯
2019
05/14
13:09
江苏达内
分享

这是知乎上的一个问题,其实很多学生也面临着这样的困扰。现在大学里基本都开设了计算机课程,看了那么多技术书,学了四年出来,依旧写不出项目,其实是有原因的。先来看看多数人的C/C++都是怎么学?


01

C/C++语言

如果你的基础很差, 要从C开始学起,对程序有个初步的认识,循序渐进。C语言的书可以先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后, 你就有编写小程序的感觉了。


接下来你就可以买一本C++的书看了。 C++的书也是一样, 不要一来就想学《C++ Primer中文版》这样的好书, 因为太厚了,怕你没有信心能够看完,即使你很有信心,花费一年的时间才看完,不值得。这种经典的厚的好书, 适合作为资料查阅。


02

带界面的应用程序

学会了C/C++语言本身,可能还没有什么成就感,毕竟都是控制台的程序, 老是输出一串字符串, 整天面对各黑框框,成就感估计不是那么爽。要是能搞个带UI界面的程序就爽了。


下来就看个人的志向了, 如果走微软路线, 那你下来学MFC好了,如果要走开源路线, 那开源跨平台的界面库多得是。把里面的例子程序敲到你的 visual studio 里面, 去调试, 看运行的结果, 你也可以试着去修改例子, 添加按钮,响应按钮事件等。

走到这一步, 恭喜你,可以照葫芦画瓢的搞个小应用程序了, 还带界面。


03

网络应用程序

语言搞懂了,UI程序也会了, 下来该学学网络咯, 现在那个程序不需要联网啊,懂网络对你理解很多程序非常有帮助。但是网络应用程序从哪里入手呢 ?


从《UNIX网络编程》这本书入手吧,这本书可以教会你网络套接字的底层原理,把上面的例子好好学习,自己动手写一个回应服务器。写一个服务器端,在写一个客户端。服务器端请务必学会 select 这个简单的多路复用模型,这样你才能慢慢的深入里面 poll , epoll ,IOCP 之类的模型。


04

文件操作

所有的程序,基本都会用到文件的读写操作,windows系统有自己的文件操作API, 比如CreateFile, DeleteFile 等, 新手请学标准C语言的文件操作函数,简单易学还跨平台。就那么几个函数,三下五除二你也就学会了, fopen, fclose, fread , fwrite, fseek, ftell 就这么几个而已。


05

深刻理解内存与指针的关系

作为一个C/C++程序员, 从学习程序的头一天开始,就要和内存的分配释放作斗争。你必须理解内存与指针的关系。怎么样才能理解呢, 请大家去看 《高质量C/C++编程》里面自带的几个经典例子吧。把那几个例子搞得清清楚楚, 基本能够理解其中的原理了。



06

仔细研究apache源码

学程序非特别是C/C++程序,非3年之功可以出山,三年对一个C/C++程序来说是一个从量变到质变的过程,三年的项目实战经验,可以让你接触到一个完整的应用程序所需要具备的骨架。但是这个阶段你写的代码,可能充满BUG, 会宕机,运行效率很差,自己回头看看一年前写的代码,可能自己都感觉恶心, 看不下去。没有关系,这种感觉是每一个进步青年都会有的。要提高自己的代码水平, 还是要像高手学习。你可能要问,公司同事的水平一般, 水平好的人家也不愿意给我讲。没有关系,还有达内C/C++培训呢。


【来源:江苏达内             作者:达内教育 】

THE END
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表本网站的观点和立场。

相关热点

在大多数开发或者准开发人员的认识中,C/C++ 是一门非常难的编程语言,很多人知道它的强大,但因为认为“难”造成的恐惧让很多人放弃。其实C/C++运用的方面很多,如今5G时代的来临,物联网加速进步这更加大的C/C++的运用。...
江苏达内
UI设计是互联网时代的设计变革,有界面和软件的时候就存在,但却没有现在这样对 UI设计专业能力的重视。很多人现在学习UI设计,有的是看重UI设计月能薪破万的高薪资,有的人看重他未来大好的职业发展前景。总之,就是各位...
江苏达内
Java编程语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 编程技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有...
江苏达内

相关推荐