技能与经验之谈
-
1.你有什么技能比大多人(超过90%以上)更好?
我觉得我没有什么特别的技能也没有在哪一方面特别突出,就是有爱好,很喜欢运动跑步。
-
2.针对这个技能的获取你有什么成功的经验?
小学时是学校田径队的,每天都是很辛苦的训练,冬天早上挨着冻,夏天中午扛着烈日训练,晚上别人都回家了,我们还得训练,日复一日,刚开始觉得很新鲜,到后来就越来越枯燥,甚至产生厌烦的情绪,就开始抵触训练,有时候想着要不然放弃,但是又觉得很可惜,所以还是硬着头皮咬咬牙坚持了下来。到现在大学运动会我也是积极参加,每天训练。大一刚开始的时候白天军训,下午运动会训练,然后急急忙忙吃个晚饭,晚上在参加军训的晚训,我记得最清楚的就是我当时脚上磨了特别大的一个泡,腿还拉上,之前脚骨折的地方也总是很疼,但是还是每天穿着军训的胶鞋跑步和训练,基本没请过假。所以可以说跑步锻炼了一些我坚持有毅力的特点,觉得快不行累的时候,给自己鼓鼓劲,想一想为什么不能坚持,就会觉得放弃很可惜,有想要走下去的决心和毅力了。所以在以后的学习中,这些特点会帮助我前行。
-
3.与老师博客中的学习经验有什么共通之处?
在看了娄老师的减肥,乒乓,单词,五笔这几篇博客后,真的很感慨,很佩服老师过人的毅力,能从嘴上说说到真正的落实实践,在到一直坚持到最后的成功。很是励志,看完之后不得不说自己也想去试试老师所说的减肥方法,可是总觉得决心很大,真正实施起来,总会因为自己的懒惰找借口,从而以失败告终。为了防止这种懒惰情绪的干扰,娄老师用微信群罚红包的方式督促大家行动起来。还有印象很深的就是扇贝打卡,在年三十突然想起来忘记背单词,又会深夜爬起来把卡打了。行为心理学研究表明,21天以上重复会形成习惯,90天的重复会形成稳定的习惯。同样的道理,任何一个想法,重复21天,或者重复21次,就会变成习惯性的想法。所以一个观念如果被自己验证了21次以上,它一定已经变成了你的信念。我想一个习惯或者思想就已经成为生活中必不可少的一部分,就不会觉得多余和麻烦,也就自然而然的不会想要去找借口了。
-
4. 有关C语言学习的调查
你是怎么学习C语言的?(作业,实验,教材,其他),与你的高超技能相比,C语言的学习有什么经验和教训?
在大一下是第一次接触c语言,作业就是老师布置的然后课下就直接完成了,实验有时候没有思路了就会上网查一查,然后自己编写代码。教材当时只用了课本和买的教材辅导。通过一学期的C语言的学习,最重要的就是上机,越不上机,就越不熟练,就掌握不了那个所谓的套路。
目前为止估算自己写过多少行C代码?理解的情况如何?
上学期平常练习总共可能两百道题左右,应该有超过4千行代码。但是有些题是看了题库和参考才有了想法才进行编程实现的。在逻辑思维能力方面有些薄弱,理解度还差的很远,所以下学期需要好好努力!
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
刚开始总是分不清,在后面仔细看了看课本之后稍微区分了一下。
数组指针:
定义 int (*p)[n];
()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n。数组指针也称指向一维数组的指针,亦称行指针。
指针数组:
定义 int * p[n];
[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。
指针函数:
类型说明符 * 函数名(参数);
当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。返回的是一个地址,所以类型说明符一般都是int。
指针函数:
类型说明符 (*函数名)(参数);
指向函数的指针包含了函数的地址,可以通过它来调用函数。其实这里不能称为函数名,应该叫做指针的变量名。这个特殊的指针指向一个返回整型值的函数。
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操作这两种文件?
对于这两个概念,我不是很理解,所以上网查询了一些概念:
文件(File)和流(Stream)是既有区别又有联系的两个概念。 文件是计算机管理数据的基本单位,同时也是应用程序保存和读取数据的一个重要场所。 存储介质:文件是指在各种存储介质上(如硬盘、可移动磁盘、CD等)永久存储的数据的有序集合,它是进行数据读写操作的基本对象。 特性:每个文件都有文件名、文件所在路径、创建时间及访问仅限等属性。 流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道等。流提供一种向后备存储器写入字节和从后备存储器读取字节的方式。 存储介质:除了和磁盘文件直接相关的文件流以外,流还有多种类型。流可以分布在网络中、内存中或者是磁带中。
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
不是太理解这个专业术语,于是上网查了一下,结果如下:
“面向过程”是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。可以说面向过程是一种基础的方法,它考虑的是实际的实现,一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法,当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。
在C语言里面,什么是模块?你写过多个源文件的程序吗?
函数就相当于是模块,模块编程指的就是用函数实现各个功能,然后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就可以只关注某个模块。目前没有写过多个源文件的程序。
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
复制:
#include <stdio.h>
#define N 100
int main()
{
int a[N],b[N];
int x,y,z;
printf("Input z:");
scanf("%d",&z);
printf("Input a:");
for(x=0;x<z;x++)
{
scanf("%d",&a[x]);
}
for(y=0;y<k;y++)
{
b[y]=a[x];
printf("%d ",b[y]);
}
}
查找:
#include <stdio.h>
int main()
{
int a[100];
int n,i,j;
printf("input n:");
scanf("%d",&n);
printf("input a:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
if(a[j]==5)
printf("数组中有5!");
}
}
排序(升):
#include <stdio.h>
#define N 100
int main()
{
int a[N],i,j,n,temp;
printf(" Input n:");
scanf("%d",&n );
printf("Input a:\n");
for (i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for (i=0; i<n; i++)
{
for (j=i+1; j<n; j++)
{
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for (i=0; i<n; i++)
{
printf("%d ",a[i]);
}
}
排序(降):
#include <stdio.h>
#define N 100
int main()
{
int a[N],i,j,n,temp;
printf(" Input n:");
scanf("%d",&n );
printf("Input a:\n");
for (i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
for (i=0; i<n; i++)
{
for (j=i+1; j<n; j++)
{
if (a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for (i=0; i<n; i++)
{
printf("%d ",a[i]);
}
}
你知道什么是断点吗?给出自己调试程序的例子。
对断点没有了解过,只记得老师好像提到过这个。所以查了一下。
断点是一个信号,它通知调试器,在某个特定点上暂时将程序执行挂起。当执行在某个断点处挂起时,我们称程序处于中断模式。进入中断模式并不会终止或结束程序的执行。执行可以在任何时候继续。断点提供了一种强大的工具,使您能够在需要的时间和位置挂起执行。与逐句或逐条指令地检查代码不同的是,可以让程序一直执行,直到遇到断点,然后开始调试。这大大地加快了调试过程。没有这个功能,调试大的程序几乎是不可能的。
-
5.对比C语言的学习,你对《Java程序设计》的学习有什么具体目标?如何通过刻意训练提高程序设计能力和培养计算思维?如何通过“做中学”实现你的目标?
Java和c语言都属于程序设计的科目,对于我来说都属于新的语言,所以和c语言一样,需要多上机练习,才能熟悉语法,避免出现语法的错误,从而将重心放在锻炼逻辑思维能力上面。提高程序的质量,做到高速简洁有效。这也体现了老师提到的做中学,在做中才能熟能生巧,实践中才能掌握要领,熟悉所谓的套路。就如老师博客中写道:“做中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」。学生在实践中发现问题,解决问题,在迭代中提升。”只有自己实践了,才能发现问题,平常光听老师讲觉得简单,但是只有自己操作后,才能发现问题所在,在对其改正,便会对其记忆深刻,从而以后就能尽可能的避免错误的再犯。
-
6.毕业后大多数人从事的工作的要求是“提笔能写,开口能说,问策能对,遇事能办”,非常重要的技能是公文写作能力,你觉得自己写作能力如何?要怎么提高?
因为是理科生,平常对于写作这方面就不是很重视,所以我觉得自己的写作能力不怎么好。希望在大学四年能得到提高。
在上次形势政策课中,鲍书记讲了关于如何提高公文写作能力,我记了很多笔记,第一,我记得书记提到最多的就是一点要多看书,只有博览群书,才能做到出口成章,只有看书才能提高一个人的修养,丰富一个人的内在,增长知识。一个看过很多书的人和一个看起来能说实际没有什么知识文化的站在一起,区别是很大的,光是从外表的一举一动就散发出整体这个人的气质和修养。第二,要有记录的习惯,看到不错的句子或者段落要养成随手记录的习惯,防止自己遗忘。第三,多看报,了解时事政策和国家大事,以及出台的政策等等。第四,多向老领导或者老师请教,老领导一般都会很关照新同志,老师更是会教导学生,会有很多经验可分享,避免了走弯路,还可以寻找快速提高的捷径。