第一篇随笔

第一篇随笔

一.技能获取经验

想想自己好像没有什么掌握得很好的技能,就谈谈一直到现在还在喜欢的画画吧。

兴趣

最初开始画画是因为有很喜欢的动漫人物,想要收集所有跟他们有关的事物,终于有一天开始尝试通过自己的手画出这些人物。开始当然是画不好的,但是我也没有因为如此而感到失望放弃,纯粹只是把画画当成一种消遣的方式,没事就拿着笔和白纸东一笔西一笔。幸运的,有一天我画出了自己很满意的作品(现在回去看当时的作品,会觉得画的很糟糕,但当时的自己就是以此为豪),为此兴奋不已,大受鼓舞,居然就持续着画到了现在。所以,你想学好一样东西,兴趣很重要。有了兴趣,你就不是痛苦地被迫去学它,所谓的需要意志力去控制自己学习就不存在了,你渴望了解熟悉它,不断去学习它很自然地成了你的习惯。

耐心

光有兴趣还不行,还需要你有足够的耐心去磨练你的技能。比如人物的眼睛一般会比较难画,就需要你不断地修改,有时候还会因为涂改太多白纸会烂掉,你先前画的其他东西就等于白画了,这时候重来一遍就非常考验你的耐性。我在空闲时间画,有时候上课也会拿张白纸在画。疯狂的时候,会在半夜爬起来继续画。即使重复画着同样的人物许多遍,我也毫无厌倦感,因为看着自己的作品总会充满成就感。大概因为如此我的画技才能够一点一点进步,而每一次的进步都能给我很大的鼓舞,所以就坚持了下来。

有共同爱好的朋友

有了共同爱好的朋友,你可以与他交流喜欢的画家,什么样的作品画的很好,还可以把你的画作与他分享。交流能促进你们不断进步,你也能够从他那里得到认同感。

得到专业人士的指导

学习需要教与学的融合,只埋头苦学而不听从他人好的建议,你难以获得大的进步。原本只需他人点拨一下就能很好掌握的东西,你憋着掖着都不肯请教,只想自己研究,你需要付出更多的时间和精力(当然不是事事请教别人,如此反倒是过分依赖他人了)。就像我画画没有接受过指导,完全是自己摸索,所以一直到现在我的技术也不算拿得出手的,而且很久以来都没有很大的进步。特别现在学习忙碌,闲暇时间一少,抽不出时间画的时候,技术不仅没有进步还容易倒退。而接受系统训练之后,形成模式,即使很久不练,也不容易遗失,即使有少许知识忘记了,你也能通过复习训练过的流程,快速回忆并重新掌握。

总结

想学好一项技能同样需要以上因素,无论是画画还是其它。就我们计算机学习来说,需要兴趣促使你不断地编写代码,需要耐心让你在编好却错误百出的代码中找出和修改bug,需要一群头带光环的编程大神来刺激你不断努力去达到他们的高水平,或者在你找不出代码错误的时候给予你神助攻(让你感觉自己还是有救的)。记得,在遇到困难绞尽脑汁都想不出来的时候,一定放下架子向他人请教,大家都会热心的伸出援手,互相帮助的过程中共同进步。

二.C语言的学习

(一)

对于c语言我大都是跟着老师的步伐来学习的,还没有脱离中学的学习模式。纯粹就是上课听老师讲解,课后通过老师布置的作业来练习编程。偶尔上课犯困或者走神的时候,就会漏掉某些知识点,课后只能通过自己看课本去掌握。而且只有写作业才会编程,所以代码量不可避免的少之又少。对C语言的掌握也不是很好。

(二)经验教训
1.实践很重要。

光有理论知识还不行,亲身实践才知道课本中的知识是不是对的,这些知识该如何运用。如果课本中有些知识点不理解,用代码去试验验证,很多时候就恍然大悟了。

2.交流学习。

同样的,不能埋头苦学。比如我曾经在if条件语句中把==写成=,自己找错误找了很久都没有找出来,请同学来看的时候他们一眼就看出错在哪里。而当你帮别人找错误的时候,你可以接触到别人不一样的算法和编程风格,这也算一种学习吧。

3.一定要多写代码。

量变才能质变,不积累代码量,怎么能熟练,怎么能做到游刃有余。


(三)
  • 数组指针:指向数组的指针
  • 指针数组:以指针为元素的数组
  • 函数指针:指向函数的指针变量
  • 指针函数:返回值是指针类型的函数
(四)
  • 文件和流:文件是指存储在外部介质上数据的集合,流是指数据的传送,C语言把文件看成是一个字符(或字节)的序列,一个输入输出流就是一个字符流或字节流。
  • 二进制文件:数据在内存中以二进制形式存储,不加转换地输出到外存,就是二进制文件。
  • 文本文件:数据在输出到外存时转换成ASCII码,得到的ASCII码文件就是文本文件。
(五)

面向过程程序设计:以过程为中心的编程思想,分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用时再依次调用这些函数。

(六)
  • 模块化:我理解的是在设计一个程序时,把需要的功能分别通过函数实现,再在主函数中调用这些函数把这些功能系统化以完成程序。
  • 我还没有写过含有多个源文件的程序。
(七)
  • 高内聚:内聚是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
  • 低耦合:耦合是一个软件结构内不同模块之间的互联程度,模块之间联系越紧密耦合性越强。低耦合是尽可能让每一个模块独立完成某个特定的子功能。模块与模块之间的接口尽量的少而简单。
  • 应用:遵循每一个模块内所有元素各个组成部分都仅为完成同一个功能而存在,这些成分紧密联系,缺一不可的原则。
(八)
  • 把数组A复制到数组B:
#include<stdio.h>
#include<string.h>
int main()
{
	char a[10],b[10];
	gets(a);
	strcpy(b,a);
	puts(b);
	return 0;
}
  • 查找数组中有没有5:
#include<stdio.h>
int main()
{
	int i,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]==5)
		{
			printf("yes\n");
			break;
		}
	}
	if(i==10) printf("no\n");
	return 0;
}
  • 对数组从大到小排序:
#include<stdio.h>
int main()
{
	int i,j,t;
	int a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		for(j=i+1;j<10;j++)
		{
			if(a[i]<a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
		}
	}
	for(i=0;i<10;i++)
	{
		printf("%d",a[i]);
		printf(" ");
	}
	return 0;
}
  • 对数组从小到大排序:将从大到小代码中if(a[i]<a[j]改成if(a[i]>a[j]).
(九)

计算代码行数:(⊙﹏⊙)写不出来
断点:断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。

(十)对《面向对象程序设计》的学习

多花些时间,不要像上学期学习时心不在焉的。多写代码,遇到问题善于总结,写好的代码尝试能不能优化。平时做一些智力题训练思维能力。

(十一)关于写作能力

我的写作能力不怎么样,有些时候难以把自己的想法表达清楚。想提高需要多阅读,做些摘抄来培养语感,可以的话多尝试写作。

posted on 2017-01-16 18:22  code-123  阅读(133)  评论(1编辑  收藏  举报

导航