学习c++的问题

大一时候学的c语言,自我感觉学得还不错,后来又看了一下c++,都是谭浩强的书,现在在学习孙鑫老师的vc++深入详解,书看了快一半了,视频教程也跟着在看,可是发现个问题,照这样学下去的话,我估计我就只会编书上讲的那些单文档画图啊文本编辑之类的简单的windows程序,离搞软件开发的水平还差得远。我寒假买了本c++primer,前几天还去图书馆借了本讲windows编程的书,因为感觉需要学的东西太多了,现在一阵瞎忙。
我是电子专业的,没有开数据结构这门课,为了学好c++我是不是需要自学数据结构呢?我有一本清华严蔚敏老师的c语言版的和一个c++版的不知道看哪本?
本来还一直觉得自己编程方面有那么一点天赋,可是最近由于快到计算机等级考试了很多人都来问我一些程序题,笔试还可以,机试题很多以前会的题现在都要想好久,感觉很失败,是学完就忘了还是根本基础就很差?我想多学些算法方面的东西,可不知道怎么做,书上的习题都太简单,有没有那种专门讲各种算法,教你怎样用编程语言解决实际问题的书?
我现在的状态真的很糟糕,怀疑自己究竟有没有入门,不知道下面的路怎么走,继续学孙鑫的vc++?还是先把c++primer看完再说?又或者是先看windows编程在学vc?or静下来好好研究数据结构?or else..?
因为最近在做课设,有近一个月的空闲时间,想趁这个机会好好充充电。请好心的过来人指点迷津。

第1个回答  2009-03-19
既然你觉得你利用MFC编程没有多大困难了,那么我建议你马上开始学数据结构的学习,其实它查不多就是对内存分配的解释和应用,因为如果你现在看C++ Primer 的话,会有好几章的内容,你看得辛苦,因为它讲的库都是都是封装好的类以及算法,这需要一定的数据结构基础才能一到两遍读懂。

数据结构有很经典的笔试题,比如你能不能正确的写出一个下面的 string 类
class string{
private:
char* m_data;
public:
string();
string(const char* p);
string(string& s);
string& string(const string& s);
string& operator = (const string& s);
~string();
};
多多练手,是最快最好的提高方法
第2个回答  2009-03-15
其实学习一门知识不是意味着拿着一本书开始啃就行了的,很多的时候你不需要为了学这个知识就开始借书看书了,那样你只能越来越迷茫,而且看了除了天才不可能记住,所有最好就是实践,做项目去,不会的时候再翻书找,或者做ACM的题,编程其实并不重要,关键是算法,数据结构,这都是数学的东西
第3个回答  2009-03-11
考试很简单,不要放心上,我两次就过了三级(都没认真复习)学习是建立在兴趣基础上的,一般最大的兴趣就是能够解决问题。你认为习题太简单可以一题多解,编程不一定需要你立刻会所有软件,这不能急于求成。但锻炼多面思维是关键的。有一定的基础后,算法就可安着个人的思维创造,不一个硬套那么书本的。解决一个问题的算法无穷尽
第4个回答  2009-03-11
0. 需要自学数据结构的
1. 看C++版本的数据结构
2. 上机题我也考过,第二次补考才过,原因是字符串末尾忘了加'\0',所以按照我的经验来看:细节需要多注意
3. 先看数据结构,此书上的算法就不错;熟练了之后,到书店里去看:算法书也很丰富.刚刚搜索了JOJ ACM,如果英语不错,值得参与ACM.
4. 既然要考等级考试,先看C++ primer,有时间再看 数据结构
第5个回答  2009-03-17
1、要学好C++,千万别学VC,两者有本质区别
2、要弄清楚C++,要把C++的代码对应起汇编来看,否则你永远弄不明白C++里面”虚“的概念
3、我在华为负责招聘这么久,从来不看你懂不懂VC、C++ BUILDER之类的乱七八糟的东西,如果应聘者把“虚”的概念弄透彻了,一般都招
相似回答