学习基础和c语言基础调查
《作中学》读后感与技能学习心得
读后感
Don't watch the clock. Do what it does. Keep going.html
不要只看时钟,要效仿时钟,一直前行。java
——山姆·勒文森算法
读完老师的博客,实在是钦佩老师的毅力和行动力。减肥、背单词、学五笔这些事情我也都曾尝试过,但结果都是无疾而终,如果执行时能有如老师通常的毅力,想必如今也能有所收获。因而可知,学习过程当中的毅力是多么的重要,想要达到质的飞跃,量变的积累是必不可少的,有热情和想法只是开始,实际的执行才是达成目标的关键。编程
迈出 「温馨区」,只在 「学习区」 学习,注意按部就班,不能进入 「恐慌区」 。心理学家把人的知识和技能分为层层嵌套的三个圆形区域:最内一层是「温馨区」,是咱们已经熟练掌握的各类技能;最外一层是「恐慌区」,是咱们暂时没法学会的技能,两者中间则是「学习区」。 只有在学习区里面练习,一我的才可能进步。 有效的练习任务必须精确的在受训者的「学习区」内进行,具备高度的针对性。数组
这段话让我想起蔡康永老师说过的「若是只看合乎本身口味的书,那你永远只能知道你已经知道」,在学习时咱们只有离开「温馨区」,进入「学习区」才能掌握更多的技能。网络
技能学习心得
- 小时候上过挺多兴趣班,但被问到有什么技能是超过90%的人的时候却捉襟见肘,感受并无什么特别突出的技能。主要缘由得归结于我学东西一般都是三分钟热度虎头蛇尾,但好在还有同样舞蹈算是我比较拿得出手的技能。
- 成功的经验中最重要的就是坚持,曾经看到一句话大体的意思是「大部分人都到不了拼天赋的程度,努力就够用了」。这句话很符合我学习舞蹈的过程,用舞蹈老师的话说我是属于硬的那种,所以在软开度的训练上吃很大的亏,但长期的练习下来,虽然和专业舞者相比有很大差距,但也足以应对一些舞台表演。
学跳舞和学Java的相通之处有不少,例如都须要课后花时间练习,光靠上课的时间是远远不够的,更重要的是你课后时间和精力的投入。还有很重要的一点是都须要你本身的思考和理解,舞蹈的动做不能仅是机械的记忆,你得赋予它感情才能使整个做品变得生动,Java的学习更是如此,算法的用法是多变,只有理解透彻了才能灵活使用。函数
c语言学习基础的调查
1.你是怎么学习C语言的?(做业,实验,教材,其余),与你的高超技能相比,C语言的学习有什么经验和教训?
- c语言主要是经过教材和做业来学习的,教材和老师课上的讲解是我学习知识点的渠道,平时的练习在巩固知识点和应用方面具备较大做用。c语言学习到目前为止最大的教训就是要及时温故,无论你当时学得如何,这么长时间以来如果没有再适当巩固,所学的知识点便遗忘了不少,使用起来也就至关吃力。
2.目前为止估算本身写过多少行C代码?理解的状况如何?量变引发质变,如何平衡质和量?
- 对本身写过多少行代码真的没有什么概念,估摸着应该能有三千行。理解的状况只能说是很基础,写过的代码里也没有什么高难度的语句,都是一些很基础的算法拼接而成,解题时大体能有本身的逻辑图,但和别人的相比起来每每显得有些拖沓。
- 量变引发质变,首先这里的量得有是功效的,其次我认为两者转变过程当中很重要的一点就是「悟」,即和每一个人的悟性高低是有关系的。在该方面悟性高的人相对而言更容易完成量的积累,从而达到质的转变,悟性低一点的人则须要花更多的时间和精力在量的积累上,但量变必定会引发质变,就如一万小时定律,只要付出足够多的努力,就必定能够完成从平凡到卓越的转变。
3.学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?
- 数组指针即本质是指针,指向数组;指针数组即本质是数组,数组的每个元素都是指针。
函数指针即本质是指针,指向函数;指针函数即本质是函数,但函数返回值是一个指针。
4.学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操做这两种文件?学习
惭愧地说并不清楚,下面这些是我查询资料后的理解。编码
- 文件是一些具备永久存储及特定顺序的字节组成的一个有序的,具备名称的集合,流是提供一种向后备存储器写入字节和从后备存储器读取字节的方式。文件是抽象的流的一种具体化。
- 文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等,二进制文件则是基于值编码的文件。在对一个文件操做时,就是要注意用相应的方式打开。
参考连接:文件和流的区别、文本文件和二进制文件比较
5.学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?.net
- 面向过程是一种以过程为中心的编程思想,就把问题分解成一环环有关联的步骤,而后按顺序依次解决。
6.在C语言里面,什么是模块?你写过多个源文件的程序吗?
- 我理解的模块就是把复杂的问题拆解成的一个个环节,例如函数就是一个基本的模块。本身并无写过多个源文件的程序。
7.学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
- 这些名词上课时听老师讲过,高内聚是说模块内部要高度聚合,低耦合是说模块与模块之间的藕合度要尽可能低。在程序设计中,就是要作到模块间的借口清晰、明确,模块内部密封性强。
参考连接 浅谈高内聚低耦合
8.学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
#include <stdio.h>
#include <stdlib.h>
#define N 100
void find (int a[N],int n)//查找整数数组a中有没有整数5
{
int i;
int flag=0;
for(i=0;i<n;i++)
{
if(a[i]=='5')
flag=1;
}
if(flag==1)
printf("数组A中存在整数5\n");
else
printf("数组A中不存在整数5\n");
}
void inturn (int a[N],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<n-1;i++)
{
printf("%d",a[i]);//从小到大排序
}
printf("\n");
for(i=n-1;i>=0;i--)
{
printf("%d",a[i]);//从大到小排序
}
printf ("\n");
}
int main()
{
int a[N],b[N];
int i,n;
printf("输入个数:\n");
scanf ("%d",&n);
printf("输入数组a:\n");
if(n<1||n>100)
printf("error!\n");
else
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
b[i]=a[i];
printf("%d",b[i]);//数组内容复制
}
printf("\n");
find(a,n);
inturn(a,n);
}
return 0;
}
9.写一个程序,统计本身C语言共写了多少行代码。
- 反编译出的.java是否和编译器中的.java文件彻底一致?如果不一致,又该如何还原代码?
- 数组为何是引用型变量?除了8种基本数据类型,其余是否都属于引用数据类型?
- PPT中关于instanceof运算符的描述,是说判断左面是不是右面的类或子类建立的对象,具体是怎么应用的?
- 实体对象做为参数时是值传递仍是引用传递?
- 子类和父类的面向对象之间有什么联系?可否互相转化?
- 接口与类的区别和联系是什么?
- 匿名类是一个没有类名的子类,那要使用匿名类建立对象时的构建方法是什么?
- String类和StringBuffer之间存在联系,那么它们是否能够互相转换?能够的话又该如何转化?
- JFrame构建方法?如何判断各类事件的类别?
- 各类流之间可否并行处理?
- JDBC中有哪些重要的借口?
- 如何解决线程的中断问题?
- 如何使用网络套接字?
- 图形布尔运算的规则是什么?
链表的使用和C语言有哪些差异和联系?
学习展望
- 经过学习Java但愿本身能加强逻辑性,现实一点则是但愿在例如在大创、毕业设计等须要使用的时候可以经过本身的能力解决面临的问题。
- 首先得要求本身迈出「温馨区」,在 「学习区」里学习,不是重复使用本身会的简单算法,而是不断学习更多更简便的方法,激发本身的思考。其次,进行大量的有针对性的练习,加深对知识点的理解和使用。以及按期反馈、交流,和别人探讨本身的理解,相互促进,引发思想火花的碰撞。
- 想要实现目标最根本的途径就是实践,光说不练假把式,本身动手写程序去解决问题,在尝试过程当中不断思考、改进,能力天然也就提升了。