寒假首篇随笔 - 有关C语言学习的调查

你有什么技能比大多人(超过70%以上)更好?针对这个技能的获取你有什么成功的经验?

足球。我从初二开始踢球,高中作为县队主力夺取了市冠军,现在加入福州大学校队,可以说足球是我的特长。

经验

  • 兴趣和习惯 首先,踢球是因为兴趣,兴趣让我大量了解有关足球的一切知识。久而久之,兴趣便成了习惯,现在我踢球不仅是兴趣还是习惯使然。
  • 训练 踢球必须经过大量的训练才能获得足够强的肌肉记忆,若是缺少足够强的肌肉记忆,那么在比赛中的失误率将会非常高,所以我会反复训练各种技术,直到熟练。
  • 观看录像
    从初中开始我吃饭的时候必备的就是球赛,通过大量重复的视觉输入,培养出更合理的踢球直觉。一开始我关注的点在球赛是否精彩,后来,我关注点就便成了某一个球星在场上的行为,我会盯着他,学习他跑位、技术。后来发现前一种方法效率极低,而后一种方法指向性强,让我收获更大。
  • 细微控制 踢球久了以后,就发现水平越高对细节的要求就越极致。传球时,原来只要求自己朝大致方向传,到后来要求自己朝指定的点传。带球绕障碍物时,障碍物之间的距离也之间缩小到了只能塞一下一个球。发现要求严格细致到了一定程度,像走入了一个完全不同的境界,比赛时能实现的想法也就越多。多人包夹时,有时竟能在人群之中带球闪转腾挪冲出重围。传球时,也能把球传得更恰到好处,从而增强了球队的控制力。

你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?

  • 我在暑假时,上网查有关C语言的书籍,购买了一本国外经典教材自学了一段时间。但进展较慢而且只学了前面的几章。开学以后,上课听讲,下课做一些线上的提交的作业。但是由于花的时间不够多,所以代码常出错而且敲代码时思考时间过长。意识到这个问题以后,我就开始增加在此方面的投入,常常花了两个半天的时间学习C语言,并且增加了题量提高了要求。和足球相比,我认为的投入还是不够多。以后,我认为我可以每天训练C语言,从而养成学习C语言的习惯,并且加强代码训练,避免在一些简单的问题上面花费过多的时间。最重要的是,应该学会细致和严格,这样才发现更多东西,将C语言学到更高的水平。

学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?

  • 数组指针是指向一维数组的指针,指针数组是元素为一系列指针的数组
  • 函数指针是指向函数的指针,要使用该函数时可以使用该指针来调用,而指针函数时是一个函数,它的返回值为一个指针。

目前为止估算自己写过多少行C代码?理解的情况如何?

估计自己写过3000行c带代码,包括国外教材上的例题、课后习题以及线上提交的作业,对于例题,都是看过几遍理解以后合上书把代码敲下来,后两者则是由自己独立完成。自我感觉对例题理解了75%,而对后两者理解更多。

学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?

  • 文件是一块储存信息的储存器区域,而流就像一个运输信息的载体,可以把数据运到指定的对象。
  • 如果一个文件储存的数据都是文本字符,那么它是文本文件,否则可以称作二进制文件。
  • 我对如何编程操作这两种文件不太了解,但我之后会去学习此方面的知识。

学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?

  • 面向过程是一种编程思想,它重在以过程为对象,即将一个解决问题的过程分解为一系列过程,然后逐个击破。

在C语言里面,什么是模块?你写过多个源文件的程序吗?

  • 记得在书上看过,C语言的一大特点就是编程的模块化,可以把一个问题分解成许多的模块,然后由不同的人完成,再将这些模块拼接起来。还没有写过多个源文件的程序。

学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?

  • 低耦合是指程序的各个模块之间独立性高,高内聚是指各个模块的相关性高。我认为低耦合的好处是组与组之间的相关性小,这样依赖性小,各个小组可以独立完成自己的模块,提升了编程的效率。
    而高内聚的好处是各个模块之间的联系更加紧凑,这样编出来的程序效率更高,减少了“浪费”。

学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。

因为github的客户端始终无法安装,所以先贴上代码,之后再处理这个问题。

  • 查找数字5:

寒假首篇随笔
- 有关C语言学习的调查

  • 复制数组:

寒假首篇随笔
- 有关C语言学习的调查

  • 从大到小排序(从小到大只需改掉条件语句中的大于号):

寒假首篇随笔
- 有关C语言学习的调查

写一个程序,统计自己C语言共写了多少行代码。(将上述多个程序的Github链接附在随笔上,可以在随笔上附上关键而非全部代码)

查了资料以后知道要涉及文件操作的知识,目前正在学习中。

你知道什么是断点吗?给出自己调试程序的例子。(可以截图贴图说明)

断点就是让程序在某一个地方中断,可以检查程序bug。
以下是我自己编的一个例子:
目标是求a+b,b+c,a+c之和,输入数据为1,2,3时,测试的结果有误,于是在中间插入一个输出语句,检查是否出现问题。

寒假首篇随笔
- 有关C语言学习的调查

发现出现问题
寒假首篇随笔
- 有关C语言学习的调查

修改以后
寒假首篇随笔
- 有关C语言学习的调查

程序正确
寒假首篇随笔
- 有关C语言学习的调查

对比C语言的学习,你对《面向对象程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?

我希望我的学习不仅仅满足于考试,还要有一定的实践能力,可以编出一些更有意义的程序。我认为可以通过做一些题来培养自己解决问题的能力,我会不断地自学,自学一定要动手敲代码,遇到问题尝试自己解决,不满足于一些普通或是简单的问题。

毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?

我认为自己的写作能力不算太差,小学的时候在报上发表过几篇作文,高中时处理各种团文件,而且作文的分数也较高。我认为要提高这项能力,要养成每天看书的习惯,这有助于语言的表达,然后要多写,最重要的是写完要进行多次修改,这样才能使语言的表达变得简洁、准确。

在Github上注册一个账号。

寒假首篇随笔
- 有关C语言学习的调查