这里是一个正在重刷C语言的学生党,由于一开始没能掌握好C语言的学习方法,以及自身学习不能坚持等原因,C语言水平只停留在中等阶段,期末考试也差强人意。因此我希望重拾C语言,培养编程思维,为以后的技能进阶做好准备。
学习C语言的一点心得
1.独立思考
编程最终的目的是真正解决一些问题,这就需要我们结合实际,独立思考,分析问题。
当然,借鉴别人的代码是很好的学习方式,我们不谈最低级的“抄代码”,单说“借鉴”,也应该是在经过自己冥思苦想、运用自己目前所学,尝试过一些解决方法后实在没有解决能力的情况下再去借鉴。
或许别人的思路确实很妙,但如果没有自己的思考,就去用别人的思路,只会束缚自己,限制了自己的创造力和解决问题的能力,并不利于C语言的学习。
2.学会复习整理,内化知识
这个建议适用于所有的学习,大脑喜欢遗忘,当天学到热乎的知识,可能过一周就忘得只剩20%了。
内化知识的方法很多,比如写注释,写博客,举一反三(思考这个方法可以应用于什么场景,哪些问题可以用到,以前的某些题是否可以用这个方法解决等)……
总之,学会整理,即时巩固,才能内化知识。
3.刨根究底
a. 学习过程中遇到不会或者模糊的知识点,要有刨根究底的精神,将这个点搞清除弄明白。
b. 但是如果涉及到更深入的、暂时很难理解的知识,就暂时放下,不要花过多的精力,有些知识学习到一定阶段自然就理解了。
c. 对网上一些讲解有质疑或不理解的,可以多看类似的内容进行对比,同时自己进行实践验证,这样可以较为有效且准确地吸收知识。
比如:对于字符串以 \0 为结束标志这个知识点,怎样更好的理解呢?
我们可以直接在电脑编译器上进行验证——
#include<stdio.h> int main() { char arr1[]= "abc"; char arr2[]={'a','b','c'}; char arr3[]={'a','b','c','\0'}; char arr4[]={"abc\0def"}; printf("%s\n",arr1); //数组arr1中,双引号引起的"abc"就是一个字符串,以\0正常结尾。 printf("%s\n",arr2); //数组arr2中,输出单引号引起的'a','b','c'组成的结尾没有\0的字符串,因此c后面出现乱码 printf("%s\n",arr3); //数组arr3中,与arr2相比加上了字符'\0',因此输出正常结尾的字符串abc printf("%s\n",arr4); //数组arr4中,abc后面出现了字符\0,表示到c处该字符串结束,因此后面的def没有被打印出来 return 0; }
输出结果——
(分析见注释)
这样分析下来是不是对"字符串以 \0 为结束标志"这个知识点印象更加深刻了呢?
4.大量练习
说了这么多,其实最重要的还是要多多练习,尝试解决各种问题,在实践中积累经验才是最有效的学习方法。
PS.这些经验也借鉴了老师和优秀学长们的学习方法,希望自己能坚持下来,做到这几点。