怎样自学C++,以成为程序员 应当如何学习c++,才能成为一个合格的c++程序员

作者&投稿:剑杭 2024-07-02
如何自学成为C/C++程序员大牛

推荐你加入CSDN论坛,这里面有许多学习经验帖子和相关学习资源,保证你受益匪浅。还有个人认为学c/c++就是为了编Windows程序,所以你也可以浏览MSDN来获取有关知识。MSDN里面涵盖了各个关于这方面的知识。

把函数,链表,数据库,容器,线程,各控件,窗口之间的调用,句柄,消息机制!
搞明白才算一个初级的程序员吧!

每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人。

一、C/C++语言

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

记住,千万不要偷懒,不敲进去,自以为聪明, 能看懂, 或者直接从光盘复制。偷懒的代价是会花费更多的时间学习,最后还没有学会,给自己的自信心造成巨大打击,再也不想学程序了。

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

还是要提醒各位,一定要把书中的例子挨个敲打到电脑里面, 单步执行。一定不要从光盘复制, 一定要单步执行。

经过两本书的磨练, 估计你对C/C++肯定有比较深入的了解了, 下来应该可以进入实战了。

二、带界面的应用程序

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

下来就看个人的志向了, 如果走微软路线, 那你下来学MFC好了,如果要走开源路线, 那开源跨平台的界面库多得是。

通用的并且简单的就是 wxWidget 了, 官方网站为 www.wxwidgets.org/ 。你下载后看具体的例子, 把里面的例子程序敲到你的 visual studio 里面, 去调试, 看运行的结果, 你也可以试着去修改例子, 添加按钮,响应按钮事件等。

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

三、网络应用程序

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

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

四、文件操作

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

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

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

六、仔细研究apache源码

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

apache的源码是高手中的高手写的,执行效率和程序架构堪称一绝。里面的很多思想是所有程序都通用的,搞懂了, 很多模块你也可以直接拿来使用。apache对内存池的使用, 对线程池的使用, 对模块结构的封装,非常具有实际意义。要是你能把apache的源码吃个透彻,每一个细节都搞明白了为何人家要这么实现,我可以给你说,“恭喜你 , 你离传说中的高手已经不远了。”

七、修炼C++

我上面说的基本都是修炼C的, 要修炼C++, 还得再花3年功夫, 才有可能练成C++高手。C++太博大精深了,其中最复杂的莫过于泛型编程思想,不要以为能写个模板类就认为泛型编程不过如此而已。仔细看看STL源码, Boost 源码, 你就知道泛型编程有多么的博大精深了。修炼C++, 可以从用C++封装的MFC, wxWidget入手, 看高手如何通过C++语言, 封装这样庞大的UI库,里面应用了很多的C++机制, 最典型的就是多态机制, 还有很多的设计模式应用可以研究。

八、深研设计模式

设计模式是程序设计的灵魂,是通用方法,当你面对一个大型项目的时候,如何设计一个有弹性的系统,是所有系统分析员应该掌握的技能。在设计模式的研究上,要结合实际的项目进行。

首先,我们必须承认,学习要讲究方法,有捷径。其次,我们还得承认,学习要下苦功,要务实。上小学的时候,书上有个故事,是关于王羲之学习书法的:王献之问他父亲王羲之,学习书法的秘诀是什么,他父亲把他带到后院,指着18口大水缸说,你如果把这里的水都写完了,就知道书法的秘诀在那里了。这个故事相信很多人都还记得。


你是否需要了解?

如何学习C语言
答:从设计者的角度来描述C怎样应用在实际的项目中。语言描述的全面性欠佳,但还是有一定精度的,尤其是在一些小技巧方面。本书还引入了大量的战例,通过一个个的真实项目来引导你使用C的思想去思考问题。翻译很差,有一定难度。学习基础语法,熟悉调用各种库函数,这时你便成为一名初级C程序员了。

我想先自学c语言 应该怎样来学习呢
答:一个真正意义上的程序员,一定会在编程思维上下狠功夫,这是我们和普通的搬砖程序员的本质差别。四、养成良好的编程习惯 基本上每本C教材上都要提到。作为新手这条一定要时时遵守。具体注意以下三个方面:(1) 在比较复杂的代码后面要有注释。 如果光溜溜一堆代码,别人就不可能看懂你的代码,而且也不...

C程序员怎么学习
答:5、Strcpy(),strcat(),strcmp(),strncpy(),strncat(),strncmp()内部到底是如何运行的?这些函数到底对源字符串和目标字符串做了些什么?你是否观察过它们运行时两个字符串内存的变化?6、上面这些函数使用时,各有哪些需要注意的地方?7、你会几种字符串查找操作?8、c语言中有字符串这个数据类型吗...

编程怎样自学
答:要熟悉编程范式,尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免费的)练习编程。选择一种编程语言。初学者一定要从主流语言开始学习,比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的,因为它们称得上是软件开发界的主流。但是最好不要从高级语言开始学...

如何自学成为程序员?
答:程序员必备技能 1、熟练开发工具 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即...

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

我想自学当一名程序员,请求专业程序员给点意见,讲一下你们的学习历程...
答:最后我来谈谈我的程序员历程 刚上大学的时候,我就对计算机有着很浓的感情,可惜的是专业不是计算机。大二的时候 我就开始学习计算机课程 操作系统,数据结构等 当然基础语言是C/C++ 可是令我苦恼的是我就会写一些 1+1 等于 2 的小程序。根本做不了 什么软件之类的大程序,想学习可惜不知道怎么去...

如何靠自学提升自己的编程能力?
答:在当今信息技术高速发展的时代,编程成为了许多人所追求的技能之一。然而,成为一名出色的程序员并不是易事,需要不断学习、实践和探索。那么如何靠自学提升自己的编程能力?接下来我们就来具体了解一下吧。1、多读好书书籍会系统介绍常见的知识点,读一本书比读100篇博客有用的多。博客的作者技能良莠不齐,所以可能陷入...

大学c语言怎么学
答:3.基础学完后开始在开源社区研究代码,先从看代码开始,然后尝试修改代码 按照三个步骤走,坚持下去学习个基础还是足够的,要想学的更加深刻需要真的项目的锤炼。学习C/C++编程知识,想要成为一个更加优秀的程序员,或者你学习C/C++的时候有难度,,和别人一起交流成长会比自己琢磨学的更快更扎实。C语言...