平措卓玛的第二次随笔——论技能与经验
-
你有什么技能比大多数人更好
从小到大学过很多东西,但是问起有什么东西可以拿来与超过90%的人来进行比较,着实惭愧,一时间竟然没有想到有什么东西可以拿来讲一讲,每次都有冲动去学些什么,但最终都是浅尝辄止,兴起时立下雄性壮志,小获佳绩便得意忘形、无疾而终了。一次又一次想改变这样的自己,但是发现改变自己,做一个有毅力的人,着实需要极大的勇气。
-
针对这个技能的获取你有什么成功的经验,同时比较其与老师博客中的学习经验有什么共通之处
貌似没有什么可以超过90%的人的技能,但是多年的学习生活使得我也想来谈一谈这个话题。
首先我觉得想要学精一个东西兴趣很是重要。从小到大,也算学过不少东西了,对比自己学过的东西,自身感兴趣的必然会比没有兴趣却一定要学的东西学的更好、更快,就单论学习课本知识这方面来讲,我自己对理工科的东西更为着迷,因此花相同的时间去学历史和物理,结果必定是物理会学的更加令自己满意,我觉得这就是兴趣的力量吧。但是我所说的兴趣也并不是说刚开始接触什么东西就必须要有这种兴趣,我觉得兴趣是可以慢慢培养的,毕竟我们当中的大多数人都是普通人,没有那些伟人所具备的在某方面的特殊造诣,或许就谈不上什么与生俱来的兴趣了吧。
其次,反复练习也是学好一个东西所必不可少的。就像老师提到的学习乒乓球时,需要不断地练习挥拍,就像老师在做中学所提到的,学习乒乓球时要联系挥拍,挥拍成百上千之后动作就会定型,行成肌肉记忆,这就是揭示练习真效果的最佳例子之一了,前面我说到兴趣极其重要,有了兴趣不去练习,一切都只是虚妄的,所以二者需要相辅相成、互相配合,这样才有可能达到专业,才有可能在某方面成为超过90%的人。
同样重要的便是毅力,这也正是我缺乏的东西。看了老师的博客,我真的很敬佩。老师对于每件自己下定决心做的事儿绝不含糊,首先学习乒乓球,这个学期我体育课选的也是乒乓球,课上我的确会认真练习怎么去打乒乓球,但是课后我总可以因为一些看似正当的理由把练习乒乓球这件事情搁置下来。除此以外,印象同样深刻的是老师所提到的自己在大年三十喝醉后仍然记得要打卡并且真的去打卡这真的让我很敬佩,一直以来都希望自己可以对想要做的事情有着持之以恒的决心,但是每次都是练习到有一点成果之后就放弃,甚至兴致已过就再也没有然后了,每次都是满怀雄心壮志去做很多事,可是到了后面曾经的所有决心就真的只成为了回忆而已。
-
有关C语言学习的调查
1.你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
答:C语言是我接触的第一门编程类语言,刚开始我只是上课认真听讲,可是慢慢的我发现老师上课讲的内容开始听不懂了,这才发现不能再像以前学习别的科目那样学习C语言了。我开始在课后阅读教材,先是读懂教材上的程序,然后开始自己按着教材上的例子编程,渐渐地对C语言有了一些认识,然而养成了一个习惯,每次编程都要依赖书上的例子,直到一次小测,我发现自己竟然连先写循环控制表达式还是先写增值表达式都不知道,之后我改进了我学习C语言的方法,每次编程我尽量不依靠教材,实在有问题再去翻阅课本寻找答案。也就是这样不断地练习我才终于在C语言期末考试中取得了还不错的成绩。正如徐小青老师所说,要学好C语言必须不断上机练习。
2.目前为止估算自己写过多少行C代码?理解的情况如何?
答:目前为止,大概应该写了5000行左右的代码。对于简单的程序题目理解还不错,对于略有难度的可能可以挑战一下。
3.学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
答:我对这几个概念的理解分别是:数组指针是指指向数组地址的指针,指针数组是指存储多个地址的数组,函数指针指向了一个函数,而指针函数最大的特点是其返回值为地址。
4.学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
答:我对文件的理解是:文件可以通过使用U盘等永久的存储一些数据,对于一般的程序每次关闭程序原先的数据就不会保存,而文件就可以用来保存每次的操作;对流不是很了解,翻阅了教材,教材上有这样一段内容
无论一个C语言文件的内容是什么,它一律把数据看成是由字节构成的序列,即字节流。对文件的存取也是以字节为单位的输入或输出的数据流仅受程序控制而不受物理符号(如回车换行符)的控制。所以C语言文件又称为流式文件。
———C语言程序设计
文本文件是将数值型数据的每一位数字作为一个字符以其ASII码的形式存储的,而二进制文件数值都是以二进制来存储的。
5.学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
答:我对面向过程的理解是在拿到一个编程问题的时候先总的了解自己要解决什么问题,然后再将每个要解决的问题自定义函数,再在主函数中一个个去调用。
6.在C语言里面,什么是模块?你写过多个源文件的程序吗?
答:我对模块的理解是,一个函数就可以理解成为一个模块,每个函数都可以解决不同的问题,就构成了一个个模块。关于源文件,并不了解,因此也就没有写过相关的程序了。
7.学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
答:老师课上有强调过一个好的程序必须是“高内聚,低耦合”,我对这句话的理解是一个程序中的每个函数都应该独立的解决一个问题,函数与函数之间应该尽可能少的存在联系,多个函数的集合又可以高度的协调完成某项工作。
8.学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
答:
#include <stdio.h>
#define N 100
int main()
{
int a[N],b[N],i,n;
printf("n:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
b[i]=a[i];
printf("%d",b[i]);
}
}
#include <stdio.h>
#define N 100
int main()
{
char a[N];
int i,n=1;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='5')
{
printf("right!");
n=0;
break;
}
}
if(n)
printf("without!");
}
#include <stdio.h>
#include<string.h>
#define N 100
int main()
{
char a[N];
int i,j,k,n=0,temp;
gets(a);
n=strlen(a);
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(a[j]>a[k])//从小到大把大于号改成小于号即可
k=j;
}
if(k!=i)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
puts(a);
}
9.写一个程序,统计自己C语言共写了多少行代码。
#include <stdio.h>
#include<stdlib.h>
#define N 100
int main()
{
FILE *fp;
char ch;
int n=0;
if((fp==fopen("demo.bin","r"))==NULL)
{
printf("Failure to open demo.bin!\n");
exit(0);
}
ch=getchar();
while((ch=fgetc(fp))!=EOF)
{
if(ch=='\n')
n++;
}
printf("%d",n);
fclose(fp);
return 0;
}
10.你知道什么是断点吗?给出自己调试程序的例子。
答:断电应该是在单步调试过程中鼠标所定位的开始调试点的地方,课上老师有讲过单步调试,但是我更喜欢用插入printf语句来查错,所以对断电的运用不够深。
-
对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
希望可以将java学到能够熟练运用,可以想c语言一样解决一些具体问题,真正理解性的掌握这门学科。刻意训练的话,我觉得可以在平时的学习生活中就应该多多注意一个问题的多种解决方法,不应该仅仅满足于其中一种而已,培养一种发散型的思维吧。我觉得正如徐小青老师所说必定需要大量的上机练习才可以学好C语言一样,不断坚持、日积月累的去学习才能达到自己的目标。
-
毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
我觉得自己的写作能力不算很好,要想提高写作能力我觉得必不可少的是文化素养,好的文化素养必定是写出好文章的第一步,读书时提高文化素养的最好方法;除此,大量的练习也必定是很重要的。