#2
随意的风丁2011-06-08 22:45
|
其实,也谈不上方法,只是一直对C++情有独钟,所以才整出了自己的一套方法来。
我还是个学生,现在大一。是从高中开始学C语言的。C语言的学习有些朋友说学C++可以跳过。我本人认为是尤为重要的。因为C++继承了所有C的内容,开始就学C++我觉得不可能也很有难度。作为入门课程我发了1年的时间,多思考,多实践这就是秘诀。其实也不要一有问题就去提问,学会自己去总结问题所在,自己去测试,如果说错了,不要急,改改程序一些可疑的部分,或者设置个断点,看看变量的变化。这很重要。
现在大一下学期,C++学了一个学期(4-5个月),学习了C语言以后C++前期是很快就可以过的,大致是一样的。到后期继承、类等知识时开始加紧。
C++前几章可以以一种巩固,学习的方法,可以达到温故知新的效果。一般我是这样学习的。先看一章或两章,再开始回过头来做习题,当然是上机做习题,这时候如果有知识点忘了,就可以尽量多的回忆,当然出现一些问题,也是同学C语言一样,要自己测试,这很重要,再次强调。这种效果很好。
现在,开始学C++数据结构,这是C++进阶的基础课,也是必修课,之前有加过几个C++的群,一些朋友都可以很好的评论其他人的程序,当我问道是否学过数据结构的题目时,竟然有很大一部分朋友没有学过,还持着还不如去看类库,这使我非常的诧异。后来我提了一个二叉树的题目就把他们难住了,其实学过二叉树的朋友很快就能做出来,题目大致是这样:
**********************************
给定N我个布尔变量x1,.....,xn,希望打印出这些变量所有可能的真值组合,例如,当n=2时,有4种可能的组合:<true,true>、<true、false>、<false,true>和<false,false>,编写一个完成这种功能的C++程序(要求用递归实现)
************************************
学过,二叉树的朋友就知道,其实这题目并不难,只要用类似以下的语句就可以实现:
*****************
//func就此函数(递归,你知道的),这里只是举例,就不都列出了。
//fase
func(k-1, pResult, 0);
//true
func(k-1, pResult, 1);
//递归完成,释放存储结果使用的内存
if(k == maxNum)
delete []pResult;
******************************
所以说数据结构的学习是必修课,请大家一定要重视,我现在也正在学习这个,虽然有些难度,但是还是要坚持的。数据结构要做到一点,不懂就要问。别憋着。。。
如果有些朋友问起我学习的书籍。建议到这里下载:http://www.