百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

如何学习C++

yuyutoo 2025-02-28 17:54 6 浏览 0 评论

逛了这么久的论坛,每次看到发帖量,编程语言区的可谓是门可罗雀,而菜鸟乐园每天都是门庭若市,其实我们本应该不这么浮躁, 安心掌握一门语言,你才能真正把自己的爱好变成一门技术,这篇文章虽然不能帮助想踏踏实实学习编程的人一下成为所谓的高手,但是自认为绝对会让大家走上正确的道路,从0到最 后用C++写出一个完整功能的WIN32应用程序,不多走一点弯路。

新手的学习是肯痛苦的,其实每个人开始都是真心想去学 习,但是苦于没有一点方向去指引,没有一个方法去每天进步,很多人的**都被糟糕的学习方法和七零八落的知识点敲打的疲于应付,那点兴趣在久久不能得到回 报(写出程序)的现实里悄然消失,就这样,我过来了,我可能并不是什么大鸟,但是往往我这样水平的人才能用我的经历来训诫你们走上平坦的路途。

一些人起初会想找一本书拿来啃,于是在百度或Google里搜索“经典C++学习书籍”,于是看到成片人云亦云的回答:谭 浩强的!这里我很负责任的告诉大家,那些这样回答的人根本没有看过谭浩强的书,也根本就不会C++,为什么?这样告诉你,这两本谭浩强的书我都看过,你看 完谭浩强的书以后,只会用C或C++写DOS程序算一些数学算术题,程序?抱歉你一个也写不出 来,而且连编程的概念都没有形成。在计算机领域,真正读过书的人都知道,能不看过人写的书就 不看国人写的书,能看懂英文就不看国人翻译的书,太夸张了吧?可能有些片面,但是百分之八十的是不能看的,那些书都是相互抄啊抄的为了完成出版社的出书任 务草草了事的。

那么首先写一个C++学习的路线图,然后每一步怎么学习,看什么书,我都会详细给大家说明的,声明一下,这篇帖子完全是给菜鸟写的,用的都是白话, 老鸟不要笑话,你要非让我复制粘贴那些专业术语我不是不会,而是 不想。

【学习基本路线图】

顺序:基本原理(进制转换啊什么的) --> C(学习能力强的可以从C++开始) --> API --> C++语法 --> 操作系统原理 --> MFC --> 数据库 -- 数据结构 -- 硬件 -- 领域编程(根据你自己以后的行业特点的专业性编程)

最后从数据库开始可以交叉进行。

【学习方法】

1.基本原理:

这个部分主要理解就行了,至于是不是非要记住十六进制怎么转换二进制啊,CPU结构图啊什么的,完全没有必要。记住主要是理解,记忆并没有什么意 义,有些人略过这些一样能学会C++,之后回头再详细学习效果会更好,更开始就大概知道有这个回事就行了。 推荐书籍:《微机原理与接**术》作者:牟琦 这本书看到第23页就行了,知道进制转换的大概方法和有这么一回事就行了。 《汇编语言》第二版 作者:王爽(只看第一,二,三章) 这是第一本让我觉得过人也能写出好书的书,相当经典,汇编领域过人写的出还真的是不错,一本80X86领域的就是这本,WIN32的就是罗云彬的那本 《WIN32汇编程序设计》第三版,现在好像出第四版了,叫什么玉拙成器什么什么的。

2.C

既然我们是学习C++,那么C就是路过的,C是一门面向过程的语言(哲学说法,现在你还不需要懂,不要怕呵呵),而C++是一门面向过程的语言(也 是哲学呵呵,不懂先别着急,这个要慢慢去领悟),说白了,C++是C的一个超集,对C做了一些有意义的扩充,这个说多了暂时你还不明白,总之这个阶段的学 习有些人喜欢从C开始,有些人喜欢直接从C++开始,其实多半都是一样的,学了C以后你学起来C++更加简单,因为很多东西都是一样的,著名的《C++ primer plus》就把C++的学习分成了两个部分,C部分和C++部分。

推荐书籍:如果你想快速掌握C和C++的基础语法,那么选择谭浩强的绿本本吧,这本书写的很简陋,快速浏览一下C和C++的基础语法还是可以的,真 正掌握就算了吧。

还有网上不论青红皂白推荐的书下面做一下介绍:

回复最多的无非就是两本: 谭浩强 C 和 K&R C,K&R是C的创始人,他们的书根本不适合新人去看,到不是有多难,他们只是在建立一种标准,而不是一本真正的教程。

个人认为真正想学习C的人,看清楚了,真正想学习C的人啊,不是路过的人,应该看一下《C primer plus》,这本书有些罗嗦,但是讲的很全面,可以当字典使用。

3.API

这部分的话,其实是慢慢积累的,你去Google查一下什么是API就好了,学习Windows原理的时候你会理解到是个什么东西的,大概说起来就 是微软给我们提供了一些封装好了的函数,我们可以调用过来实现一些简单而且常用的功能,比如MessageBox是弹出一个窗口,你只要在他的参数里自己 设定大小啊和现实什么啊就是了。

推荐书籍:MSDN 微软提供的字典式的帮助文档,这个是你积累API什么的最好的老师。

3.C++

重点来了,如果你前面学习了C,那么你现在可以先温习一下C的语法,因为在你没有学习面向对象之前,C和C++的语法是基本一样的,注意是基本,循环 啊,指针啊,数组啊,结构啊,函数啊,+—×/%啊什么的。然后你要开始重要的一步:学习C++自己独有的特性,类啊,封装啊,重载啊,多态啊,继承啊什 么的,这些都是非常重要的,在你日后写Windows程序的时候都是经常用到的知识,并且是必不可少的。

推荐书籍:《C++ primer plus》 第五版中文版 这本书详细到真是有些罗嗦,C++的每一个角落都不放弃,学习的时候不求掌握所有的特性,但是必须去理解,以后你遇到了不懂的或者比较生疏的可以回头来 查,这样学习的才比较扎实。

《C++ primer》第四版 这是C++领域里我读过最经典的书籍之一了,在这本书里,你将震惊于大师的技法和教学角度,你会经常感叹,再感叹。这本书呢,不是你现在学的,而是等自己 写出几个像样的Windows程序以后,再回头来看,你才能有所领悟。

4.操作系统原理

这个其实是学习MFC(下一步要介绍的)必须学习的,如果你用C写过Windows程序,你会对这个了如指掌,但是我们只是学了语法,这部分就必须 去学习,其实很快,我们不必知道的太多,只需要得到必须的就可以了,这部分当年我一天学完的,就是看孙鑫的视频学会的(只看视频第一章就行了,第二章讲C++特性 的你也可以看看,MFC从第三章开始,以后接着看)。

推荐书籍:这里推荐孙鑫的视频,这部视频在《深入详解VC++》这本书的的配套光盘里,非常经典,不可多得的过人讲解的超高水平的视频,看不懂就多 看几遍,我当年看了三遍才看懂(光看是绝对看不懂的,自己跟着写才行)。你只要看第一章就行了。 5.MFC

坚持住,学完这部分你就能写出真正的WIN32应用程序了,MFC呢就是微软把你所需要实现的功能进一步封装起来了(比API),你只需要实现你的功能, 至于程序的框架(最大化按钮啊,关闭按钮啊,边框啊,标题啊,什么的都给你提供好了,不用你自己用API代码实现了),具体的你学完操作系统原理(看完孙鑫的视 频第一章以后才能理解,现在不多说)。

MFC虽然给编程提供了诸多方便,但是无形中给学习却增加了难度,这部分要坚持住,多看几遍孙鑫的视频,好好的去啃才能有收获。

推荐书籍:孙鑫《VC++深入详解》,主要是视频比较著名。

侯先生(台湾)《深入浅出MFC》第二版,这本书很老了,但是依然是MFC的经典,但是是你以后真正拿MFC写出程序了以后,再去看,不然你绝对是看不 懂的,现在不着急看。

6.最后你们都会有自己的想法了,具体我也教不了你们什么了,之后你要设计的领域都写在路线图里了,至于更高级的领域,设计模式什么的,是有一定经验以后再去加深的。 这个时候你要做的,就是还要不断的学习

最后,祝福你们

相关推荐

自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)

Filephoto[Photo/IC]Lowself-esteemmakesusfeelbadaboutourselves.Butdidyouknowthatovert...

中考典型同(近)义词组(同义词考题)

中考典型同(近)义词组...

WPF 消息传递简明教程(wpf messagebox.show)

...

BroadcastReceiver的原理和使用(broadcast-suppression)

一、使用中注意的几点1.动态注册、静态注册的优先级在AndroidManifest.xml中静态注册的receiver比在代码中用registerReceiver动态注册的优先级要低。发送方在send...

Arduino通过串口透传ESP 13板与java程序交互

ESP13---是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互...

zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)

作者:京东物流梁吉超zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致...

接待外国人英文口语(接待外国友人的英语口语对话)

接待外国人英文口语询问访客身份:  MayIhaveyourname,please?  请问您贵姓?  Whatcompanyareyoufrom?  您是哪个公司的?  Could...

一文深入理解AP架构Nacos注册原理

Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与...

Android面试宝典之终极大招(android面试及答案)

以下内容来自兆隆IT云学院就业部,根据多年成功就业服务经验,以及职业素养课程部分内容,归纳总结:18.请描述一下Intent和IntentFilter。Android中通过Intent...

除了Crontab,Swoole Timer也可以实现定时任务的

一般的定时器是怎么实现的呢?我总结如下:1.使用Crontab工具,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2.ignore_user_abort()和set_time_li...

Spark源码阅读:DataFrame.collect 作业提交流程思维导图

本文分为两个部分:作业提交流程思维导图关键函数列表作业提交流程思维导图...

使用Xamarin和Visual Studio开发Android可穿戴设备应用

搭建开发环境我们需要做的第一件事情是安装必要的工具。因此,你需要首先安装VisualStudio。如果您使用的是VisualStudio2010,2012或2013,那么请确保它是一个专业版本或...

Android开发者必知的5个开源库(android 开发相关源码精编解析)

过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨...

Android事件总线还能怎么玩?(android实现事件处理的步骤)

顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码...

Android 开发中文引导-应用小部件

应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...

取消回复欢迎 发表评论: