自学C++很苦恼,不想放弃却不知道怎么坚持。

全部时间都用来自学C++ 有1个月了. 我初中文凭,朋友推荐了一本自学C++的书<<C++ Primer 中文版(第四版)>> 尝试过很多学习方法,有仔细看每一句话.看到不懂的时候就在网上找找答案,还是半懂不懂的,这样继续看下去,也有想过仔细看每一小节,保证看过的就会.这样更烦,更苦恼,也想过把书本过一遍.再从头看一遍.想了解或者说听说某些陌生的名词,看到不理解处又是那种受挫的心情,心里很不爽.看了也记不住,记住也是暂时记住. 到现在看完第七章函数部分. 其实前面几张已经看了两遍了..有些代码稍微复杂一点的,我就看不懂了.信心全无.不知道能不能学会C++.
就语言来说,我感觉我给自己的定位其实并不高.能编写个类似连连看,五子棋,打地鼠这样的小游戏,我就满意了.但是现在真的没有信心了 很想听听有自学过C++的前辈能传授一点心得,经验.我现在感觉我面临最大的问题,就是弄不明白类. 可能前辈们会说.C++除了类还有什么啊.确实很自嘲的一说.现在的我.脑子里面像是一锅粥,又像是一片空白.好郁闷.好像只能告诉自己不要放弃,就什么都不能再做了.
无论如何,首先感谢前辈能听完我的唠叨.谢谢!

不要为了学习而学习,其实c是比较简单的,主要从几个方面学习
先说一下流程:
1、一般先学一下c的基础,这个阶段,主要是了解语法,基本的算法
知道每一句的意义和产生的结果,算法不是主要的,知道几个即可,如素数的算法,排序等等
2、数据结构,这本书基本上讲的是算法和效率问题
3、c++的学习,这个和c有本质的区别
c是面向过程的,一条线走到底,中间有分支和循环,但总体来说是一条线从文件头道文件尾
c++是面向对象的,他是事件消息驱动,主要是封装、继承、多态。围绕一个一个的对象进行操作,有什么样的动作过来,相应这个动作。其实说白了,就是switch调用相应的处理函数而已
4、学习一下vc编辑器的用法,知道基本用法即可,太深入的慢慢积累。知道怎么建立工程,并能完成小程序即可
5、api的学习,这个需要很长时间,因为api太多,慢慢积累,只需要了解api的习惯和基本的结构即可
6、mfc的学习,vc或者vs编辑器建立工程,一般在win下是mfc框架的,他封装了api的操作
到这来,win下的c基本上就学完了

下面说一下软件的使用
总之一句话,要和你所学的书籍中的代码习惯相适应,基本不需要改造就可以在编辑器上使用
老谭的c基础其实不错,虽然很多人诟病这本书。用win-tc这个软件在win下,dos下可以用tc,不建议用vc编辑器
你用的是C++ Primer这本书,好像是用vc7.0软件吧

下面说一下c的心得
语言吗,可以和汉语英语一样的学习方式,一般就是语法和算法两个方面
一、语法
知道每一句的意义和产生的结果
1、关键词,如if,for,main,等等
2、基本的系统函数,如scanf,printf,gets,strcmp等等的用法
3、程序基本的构成,如从main开始,循环的基本用法等等
4、基本的知识点,如数组了,指针了,函数了,结构体了等等
二、算法
也就是遇到问题,用什么方式解决的想法问题,这个和数学知识有很大的关系,不能急,这个只能慢慢积累
基本的的逻辑还是要懂的,一些基本的算法也要知道,如排序等,这些有基本的算法,很经典的

最后说一下c基础的基本知识点
1、当然是c程序的结构了,main开始,这里说的分支,循环等
分支有if和switch,循环油四种,while,do-while,for,goto(这个不建议用)
2、变量,还有常量,基本知道他们的内存模型,如int,char,float等等
这里要知道,每个变量程序会为他申请一个内存地址,来保存这边变量的数据,所以变量有两个数据:内存地址和所保存的数据。变量名是这个内存地址的标示,才变成exe后,是没有变量名的,只是内存地址而已

3、数组,要理解多维数组
4、逻辑判断
这里只有一点需要主意,c基础不讲,就是短路问题
一个比较长的逻辑判断,如果&&的前面是0了,后面的表达式不再计算
如果||的前面是1了,后面的表达式也不再计算
这个是为了提高效率而已,你想啊,&&只要一个是0,那么整个表达式返回值就是0,后面不管是什么,都不影响整个

5、指针,这个难理解一点,但是记住指针也是变量,只是这个变量有点特殊
一般的变量内存空间中存储的是一般的数据,而这个变量的内存空间中存储的是一个地址
所以说指针有两个地址
6、函数,这个主意几点,
一个是参数,实参和形参不在一个内存空间中,所以子函数无法改变主函数的数据
二是返回值,每个函数都有返回值,main也有,void也有,只是一般用不到而已
这里函数和指针组合时理解有点难度
7、宏定义,这个不多说,两点
一是宏定义就是简单的替换,主意多用()来增加参数的优先级
二是特殊一些的用法,如##,这个在c基础中不讲
8、结构体和共用体
这里要知道链表的创建,删除节点,插入节点的操作。对于单向链表和双向链表
这些都有固定的模式,书上都有代码,记住即可
9、文件操作,这个也有固定的模式,记住即可
10、画图,也就是屏幕初始化而已,这个c基础不讲,最好知道一点
基本的模式也有,网上查找一下即可,就是屏幕的初始化而已,不难
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-23
加油!自学是比较枯燥乏味,贵在坚持,能力和学历没关系!是要靠努力和方法!你的要求其实不是很难,弄懂基本的语法,和基本的数据结构,就能实现,你的目标应该更大些!加油,你会成功的!不管是自学还是找培训机构,要靠自己!!
第2个回答  2014-01-23
我c++,java,sdk都是自学的,我给你个建议啊,感觉学不下去的时候就别学了,把自己学过的那出来看看,找点自己会做的代码写写,写的过程中要会想,比如这个代码能不能加点其他的功能呢,如果可以该如何写呢,要是不会的话就去网上考点别人写过的代码,仔细观察这些代码是如何写的,思路是什么,用了什么我不会的知识,然后就去百度那些你不会的知识,弄懂他们是做什么的,最后在去书上系统的学习这部分知识,向这样重复下去就一定能学好c++,其次基础知识一定要牢,汇编是一定要学的,而且要认真学,学好汇编其它的语言都是浮云。
第3个回答  2014-01-24
没有兴趣就算了,找个有兴趣的领域去玩不就行了?
本人从高中接触dos系统下的basic语言开始就很感兴趣,大学接触了VB,自己钻研进去了。后来工作的时候,发现编程不仅仅是编程,其实连带的可以通晓很多东西,比如整个windows、office,乃至一些专业行业软件,如3D造型绘图,都和编程有关,可以解决工作上很多问题,这种成就感更加让我着迷。
现在在学嵌入式,全是C语言,也是照样学着,一样有激情。
所以,只能说,楼主要么根本没兴趣,要么还不知道编程可以用来干什么,没有成就感,还有就是缺乏交流吧。这种兴趣的东西,有几个同好一起交流,干劲更足。看看人家那些什么摄影爱好、军事爱好什么的,我们是编程爱好,兴趣是很重要的,只能这么说。
另外,楼主说的五子棋,五子棋是很高深的了,没事别搞,除非真的兴趣很浓,要不会打消热情的。
第4个回答  2014-01-23
学习方法:没有高招 , 就是看书然后练习(上机实践).
第一 必须明确的一点是, C++不是正常人都很难理解的东西, 要对自己有信心.
第二 C++不是光看书就能学会的, 有些该概念必须在练习中才能掌握.(站在岸上学不会游泳)
第三 沉住气. C++是靠长期训练提升能力的.不是学了几个星期或者个月就能说已经[完全]精通的东西
第四 要看到自己进步的点滴. 不要随便气馁.

建议:
找些入门的书籍. 前期看上面前期看上面的例子做, 动手调试(这一步很重要,积累经验的捷径),经常问自己里边的某些[语法]或者[类的设计]为啥就能这样做,不明白的地方就上网查或者看书.
觉得差不多了就可以自己动手写了.五子棋这种小游戏其实不难。
祝你成功!
相似回答