C++学习的问题
我想自学C++,不知道在学学C++之前要学先什么课程,请大家帮下忙啊,要从什么书开始学起,谢谢...
我想自学C++,不知道在学学C++之前要学先什么课程,请大家帮下忙啊,要从什么书开始学起,谢谢
展开
展开全部
C++是一门艰难的课程,因为包含的东西太多,所以绝大多数人学到一半就已经放弃了。如果你做好了挑战这份痛苦的准备,那就来吧。
为什么学习C++会如此困难呢?因为C++中牵涉到很多系统底层的概念,这些概念对于一个非计算机专业的人来讲会十分抽象,会让人感觉到编程不是一件非常简单的事情。如果你之前学过VB.NET或者C#.NET,你甚至会感觉C++是一门神经质的语言,你会经常问:为什么C#和VB里面这么简单的功能到了C++里面实现起来这么麻烦,需要这么多乱七八糟,搞也搞不明白的概念?这些问题是我学C++的时候经常问自己的问题。
想自学C++很好,如果你只是想学课堂上的知识,那是相当简单的,只要每天混着好好听课老师都会把面向对象的基本概念给你讲明白的。但是如果仅仅这样,想要探究C++一些较深层次的东西是绝对不可能的。有一些非常经典的C++的书,包括《深入浅出MFC》、《Windows核心编程》、《C++技术内幕》、《C++ Primer》等,这些书要去读,但不是马上去读,因为你如果连最基本的概念还掌握不好,或者还有点生疏的话,这些书只会增加你的负担,基本上你读一遍以后还是云里雾里,况且这些书有些东西都是16位Windows的东西,都已经过时了。另一方面,写这些书的作者已经是老手了,老手往往会忘了自己是新手时的感受,有些东西,有些代码看多了就是一种感觉,一种美感,要深究地把代码拆开来解释将会支离破碎,高手们都不愿意这么做。所以如果你还只是一个新手的话,建议您先去买《Visual C++技术大全》这种开发技术类的书,这些书籍后面的光盘里面有现成的实例,可以让你迅速进入状态。当你驾驭代码到一定的程度以后,你就可以开始研究代码的结构了,你会知道消息处理是Windows编程最基本的概念,任何进程的通信,过程的调用都是通过消息循环机制来完成的,你会知道其实窗体本身就是一个死循环,因为它不断调用了消息循环,接受和等待其他进程传递过来的消息,接下来你就会理解为什么在主线程里面放置一个死循环过程就算开了CPU中断也不会响应,就是因为上述的缘故。当你学到多线程编程的时候,你就会知道老师上操作系统课的时候讲的那些进程访问,进程冲突到底是怎么回事,你甚至可以不调用系统内置的CMutex类,自己写一个信号量来控制进程的访问,其实这就是一个变量的控制问题,根本不是那么高深的问题,悟通了就悟通了。紧挨着你会欣喜地发现,原来C++是IEEE指定的国际标准化编程标准之一,所以很多厂商都愿意把自己的SDK集成到C++中去,例如CUDA、TBB、OPENGL、OPENCV、DIRECTX等等,你就可以用这些工具实现非常复杂的运算和处理了。
另外,Windows本身就是用C开发的,怎么样,很酷吧?祝你好运哦!
为什么学习C++会如此困难呢?因为C++中牵涉到很多系统底层的概念,这些概念对于一个非计算机专业的人来讲会十分抽象,会让人感觉到编程不是一件非常简单的事情。如果你之前学过VB.NET或者C#.NET,你甚至会感觉C++是一门神经质的语言,你会经常问:为什么C#和VB里面这么简单的功能到了C++里面实现起来这么麻烦,需要这么多乱七八糟,搞也搞不明白的概念?这些问题是我学C++的时候经常问自己的问题。
想自学C++很好,如果你只是想学课堂上的知识,那是相当简单的,只要每天混着好好听课老师都会把面向对象的基本概念给你讲明白的。但是如果仅仅这样,想要探究C++一些较深层次的东西是绝对不可能的。有一些非常经典的C++的书,包括《深入浅出MFC》、《Windows核心编程》、《C++技术内幕》、《C++ Primer》等,这些书要去读,但不是马上去读,因为你如果连最基本的概念还掌握不好,或者还有点生疏的话,这些书只会增加你的负担,基本上你读一遍以后还是云里雾里,况且这些书有些东西都是16位Windows的东西,都已经过时了。另一方面,写这些书的作者已经是老手了,老手往往会忘了自己是新手时的感受,有些东西,有些代码看多了就是一种感觉,一种美感,要深究地把代码拆开来解释将会支离破碎,高手们都不愿意这么做。所以如果你还只是一个新手的话,建议您先去买《Visual C++技术大全》这种开发技术类的书,这些书籍后面的光盘里面有现成的实例,可以让你迅速进入状态。当你驾驭代码到一定的程度以后,你就可以开始研究代码的结构了,你会知道消息处理是Windows编程最基本的概念,任何进程的通信,过程的调用都是通过消息循环机制来完成的,你会知道其实窗体本身就是一个死循环,因为它不断调用了消息循环,接受和等待其他进程传递过来的消息,接下来你就会理解为什么在主线程里面放置一个死循环过程就算开了CPU中断也不会响应,就是因为上述的缘故。当你学到多线程编程的时候,你就会知道老师上操作系统课的时候讲的那些进程访问,进程冲突到底是怎么回事,你甚至可以不调用系统内置的CMutex类,自己写一个信号量来控制进程的访问,其实这就是一个变量的控制问题,根本不是那么高深的问题,悟通了就悟通了。紧挨着你会欣喜地发现,原来C++是IEEE指定的国际标准化编程标准之一,所以很多厂商都愿意把自己的SDK集成到C++中去,例如CUDA、TBB、OPENGL、OPENCV、DIRECTX等等,你就可以用这些工具实现非常复杂的运算和处理了。
另外,Windows本身就是用C开发的,怎么样,很酷吧?祝你好运哦!
展开全部
谭浩强 《C++面向对象程序设计》
这本书全是最基本的编程知识,没有任何拔高题目,最适合新手上路使用
面向对象这个概念对于新手比较难理解,你可以先搁置,程序最忌讳只看不写,一定要多写,你才能明白程序的运行过程
等你整本书看完,“写”完(一定要写,不然无法学会编程,这跟记忆力无关,是理解、操作能力的锻炼,因为书上不会将程序的各种情况一一列出),然后你再反过头来专攻 面向对象 ,这个时候事半功倍,而如果你一开始就攻坚面向对象,很可能就是事倍功半,甚至让你产生无法学会编程的想法(如果你有C#、java等面向对象的语言基础,那C++就是手到擒来)
这本书全是最基本的编程知识,没有任何拔高题目,最适合新手上路使用
面向对象这个概念对于新手比较难理解,你可以先搁置,程序最忌讳只看不写,一定要多写,你才能明白程序的运行过程
等你整本书看完,“写”完(一定要写,不然无法学会编程,这跟记忆力无关,是理解、操作能力的锻炼,因为书上不会将程序的各种情况一一列出),然后你再反过头来专攻 面向对象 ,这个时候事半功倍,而如果你一开始就攻坚面向对象,很可能就是事倍功半,甚至让你产生无法学会编程的想法(如果你有C#、java等面向对象的语言基础,那C++就是手到擒来)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我就是从C++学起的...用的是C++ premier...如果你不想从C++入手...那推荐java...有本叫how to program的书...当然它也有C++版本的...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习C++ 最经典的书, 《Thinking in C++》。看看这个吧,绝对有用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
买孙鑫,VC++深入详解,书里面带视频。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数学和英语有一点基础就OK了
C++很好学的 只要入门就很快了
C++很好学的 只要入门就很快了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
钱能的c++程序设计
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |