20165207 学习基础与C语言基础调查反馈
文章阅读体会与学习调查反馈
文章阅读体会
我在娄老师的文章里了解到了“做中学”的概念。并且通过娄老师慷慨地分享的相关经验,我对于它有了进一步的理解以及体会。以下是我收获以及我的感想。
“做中学”的概念是指通过对于一个技能的相关套路的反复练习最终达到对于这一技能熟练掌握的目的。并且除去反复练习或者说实践这一核心内容之外,做中学还有其他例如思考、深入练习、反馈等等要点。具体操作过程中,还要结合所学知识的具体特点。
我对于文章的感想难以用一句话来加以概括。我的第一反应是这才是真正熟练掌握一项技能的正确方法。回想起来这种方法于我们而言又并非全新,至少我经历的一些学习过程就与之有许多共通之处。比如,在一些理科科目中为了增强解题能力主动地去寻找题目去练习的过程,还有在做电工学相关实验为了能够掌握几种特定实验仪器的使用方法反复到实验室去做练习。这些例子虽然不胜枚举,但是我也发现我从未对一个成功的学习过程以及经验像娄老师这样加以概括。所以有了老师在文章中对于做中学经验的总结的指导,我觉得今后的实践学习我更能有熟练掌握某一技能的信心与能力。
学习基础与C语言基础情况反馈
- 这第一个问题简直让我倍感囊中羞涩,思来想去我能够做得比90%的人都好的一项技能就只有剥橘子皮了。而且我还甚是难以将其形象地描述,大概就是我能够流利地将一整只橘子的外皮快速而不间断地用手剥成一个螺旋的条形。
- 这个技能我成功的经验大体上可以归结为两点。首先是我对于整齐或者说整洁的近乎于强迫症的追求。其次是我对于吃橘子的喜爱。当然我想我需要解释一下。小时候我吃橘子经常把橘子皮剥成碎碎的一片一片。看起来杂乱无章的碎橘子皮完全的失去了整齐的美感。后来我想出了把橘子皮剥成整齐而又美丽的螺旋条形的点子(当然这受到了削苹果皮的启发)。并且由于我对于橘子的痴迷,我才能得到反复练习剥橘子皮的机会。最终,我得以如愿以偿地把橘子皮整齐而流利地用手剥成螺旋的条形。
- 至于共通之处,我觉得有两个地方,分别是需求以及练习。我希望剥下来的橘子皮整齐美观,这可以归结为一种需求,虽然并不高大上,但或许还是可以和老师在博客中所写的五笔打字和减重的需求类比。这个需求正是推动我不断练习勇敢面对失败的诱因。其次,不断的练习让我实际操作的技能与我的需求越来越近。我就是在这两点的相互作用之下熟练地掌握了剥橘子皮这个我唯一超过90%的人的技能。
- C语言学习调查
- 我是通过教材和在图书馆借阅参考书学习理论知识理解里面的代码之后,再在作业系统庞大的题库里进行练习来进行C语言的学习的。至于经验,我觉得最重要的一点就是反复的练习。对未知内容的抵触从来没有帮我获得任何C语言方面的能力,只有反复的练习才让我获得了预期的效果。教训我得到了两点,一是对于更困难内容的尝试二是时间的分配。C语言作业系统的题库是分级别的,回想起来我的脚步从来没有到达极难题那里,甚至说到达中等题就止步了。多做几道困难题并且试一试极难题一定会让我达到另一个高度,可惜我并没有去尝试。另外大一下学期课程很多,不乏有一些特别困难的科目。分配时间时我没能够给C语言足够的时间。尽管大一下学期我有的科目得了满分或者是第一,可唯独C语言没能到达那样的水平。
- 上一篇博客中我估算我写过3500行左右的有效的代码。因为这个行数是通过作业管理系统分数估算的,作业管理系统有得分我便认为有效。所以,我也有理由认为这些代码我理解了绝大部分。我个人认为达到质变之后,我之前量变的积累才能够被赋予意义。所以我觉得平衡二者间关系就是一定要达到我期望达到的那个质变。
- 这几个概念我可以分得清楚。数组指针的本质是指针,它是指向数组首地址的指针型变量。指针数组的本质是数组,这个数组的元素是指针型变量。函数指针的本质是函数,它所指向的是某一函数的入口。指针函数的本质是一个函数,它叫这个是因为它的返回值是指针型变量。
- 文件和流的问题我不能够回答的特别清晰。我印象中文件是相对静态的概念,流是一个相对动态的概念。流是由于对文件的读取和写入产生。文本文件每个字节都用来保存ASCII码,表示对应的字符。二进制文件保存的是二进制编码不是ASCII码。这两种文件的操作,因为期末不要求掌握,我做的练习少之又少,现在已经完全忘掉了。
- 面向过程程序设计解决问题时的侧重点是解决问题的方法或者说过程。它解决问题的方法我理解就是先有了解法或者说算法流程图,然后自顶向下、逐步细化的一个过程。
- 我理解的C语言中的模块就是函数或者完成了某个功能的一段语句。我没有写过多个源文件的程序。
- 在上网查阅资料之前我并不理解高内聚低耦合的概念。我刚刚才搜索到这个原则的解释,对于将其应用到高质量程序设计中并没有我个人的见解也并不想搬运网络上的信息。
- 下面的程序中有四个函数分别实现要求的数组复制、查找整数5、升序排序、降序排序。查找使用线性查找,排序方法使用冒泡排序法。
#include <stdio.h>
#include <stdlib.h>
#define N 50
int input(int a[]); /*向数组中输入数据并记录数据个数函数原型*/
void findfive(int a[],int n); /*查找整数组中有没有5函数原型*/
void asc(int a[],int n); /*升序排序函数原型*/
void desc(int a[],int n); /*降序排序函数原型*/
void cpy(int a[],int b[],int n);/*将数组a的内容复制到数组b中函数原型*/
int main()
{
int n,s;
int a[N],b[N];
n=input(a);
printf("将a中内容复制到b? 1\n");
printf("查找a中有没有5? 2\n");
printf("升序排序a? 3\n");
printf("降序排序a? 4\n");
do
scanf("%d",&s);
while(s!=1&&s!=2&&s!=3&&s!=4);
if(s==1)
cpy(a,b,n);
else if(s==2)
findfive(a,n);
else if(s==3)
asc(a,n);
else if(s==4)
desc(a,n);
return 0;
}
int input(int a[])
{
int i=-1;
printf("向数组中输入数据,输入负数停止\n");
do
{
i++;
scanf("%d",&a[i]);
}
while(a[i]>=0);
printf("共输入%d\n",i);
return i;
}
void cpy(int a[],int b[],int n)
{
int i;
for(i=0;i<n;i++)
{
b[i]=a[i];
}
}
void findfive(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
if(a[i]==5)
{
printf("有5\n");
break;
}
}
if(i==n) printf("没5\n");
}
void asc(int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("结果:");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
void desc(int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[j]>a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("结果:");
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
我没能成功编出来一个能够统计代码行数的程序。之前我想通过getchar函数的返回值来计算回车的个数。但是我没能想出来一个好的办法判断程序终止,之前我尝试用EOF表示但是需要手动敲击F6。开学之后我会积极与老师和同学沟通,寻找我自己程序中的问题以及这个问题的正确解决方法。
断点是程序调试过程中暂停的地方,断点之前的所有语句得以执行,到达断点之后执行暂停,以进行其他的调试操作。下图是对刚才不成功的统计代码行数程序进行断点调试的图片
在阅读老师的博客怎样快速阅读一本书,并快速阅读蓝墨云班课中每章的PPT之后。我有如下现存的问题(由于阅读仓促并且我思考的并不深入部分问题质量或许不高):
- 第一章中,我看到关于使用javap指令进行反编译的内容。我对于反编译这个新名词的用途产生了疑惑。在网络上,我查阅的资料将反编译解释为将.class文件转换为.java文件,以阅读代码。根据我学习C语言的经历,一个项目的文件夹总是会有main.c文件,通过这个文件就能够阅读代码。所以仅仅通过这些我依旧存在的困惑是在java编译生成.class之后.java文件是否被删除掉了。
- 第二章中,我的疑惑在于引用型的数组变量的赋值操作。但在查阅资料和思考之后,我认识到这种赋值操作的关键在于被赋值数组中存放的引用的改变。之前的以后可以说是解决了。
- 第三章的PPT我阅读到switch开关语句中break语句是是可选的。但根据以往的经验以及相关资料的解释,我认为不加break语句会出现问题。所以我仍然存在的疑惑依旧是这个可选的的解释。
- 第四章中我有一个没能通过PPT解决的疑惑。我没能弄清楚除了static关键字之外实例成员变量和类变量之间究竟有何深层次的区别。
- 第五章的我想要提的问题在抽象类一部分。我并没有开始这一方面实践操作,我很想知道怎样给一个抽象的行为标准加入一个具体的内容。比如说例题里的对于女朋友的标准有cooking运行之后却能够显示“roast beef”。
- 第六章的PPT内容,经过快速阅读我想了解的内容是为何接口之中不能有变量而abstract中却可以有,除了规定之外是否有更为深层次的原因。
- 对于第七章的断言语句,为什么它能够被保留在源代码中。因为从我以往的印象来思考,代码中的语句一定会被执行除了注释之外。所以我想了解它是如何将其关闭之后保留在源代码之中不被执行的。
- 第八章中我的疑惑是适合使用string类和string buffer类的场合。这个问题其实在开学之后的练习过程我应该能够自己解决。
- 我发现第九章中涉及到许多java swing组件以及各种事件处理器的使用。仅仅通过快速阅读,我没能够想出有质量的问题。
- 第十章的PPT中有关于文件锁的操作,我想知道其作用以及是否必要。
- 第十一章由于我缺少数据库的相关知识,仅仅通过快速浏览PPT我仍旧无法想到有价值的问题。
- 第十二章的PPT我阅读到了目标对象与线程之间的关系之中完全解耦的关系,我的疑惑在于如果能够完全解耦那么目标对象的所谓目标以及目标对象本身的定义究竟是什么。我并没有在网络上得到一个想要的解释。
- 之后三章的PPT在阅读之后,我想不出什么有价值的问题了。我想在开学后,有了课程的基础以及数据库的方面的知识再深入地进行思考。
对于课程的学习目标我觉得我应该至少在期末之前深入理解并实践操作过教材上每个地方的知识。另外,我觉得刻意训练提高程序设计能力的关键在于平时练习难度的加深。这也就意味着不能停留在自己习惯或者说适应的那一部分内容要不断超越原有的水平。
20165207 学习基础与C语言基础调查反馈的更多相关文章
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- 20165237 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...
- 20165234 预备作业2 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习经验及体会 你有什么技能比大多人(超过90%以上)更好? 看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,但是我想到了许多我个人的爱好. 我从小喜欢五 ...
- 20165337学习基础和C语言基础调查
20165337学习基础和C语言基础调查 你有什么技能比大多人(超过90%以上)更好? 讲道理我感觉我自己没有什么能比90%以上的人都做得好的技能,我就瘸子里面拔将军挑一个我自认为还不错的技能吧. 我 ...
- 学习基础和C语言基础调查
学习基础和C语言基础调查 一.一种比大多数人(超过90%以上)更好的技能 说句实话,我还没有那种特别特别自信的.说我能拿得出手的.所谓能超过百分之九十以上的人的技能.毕竟人外有人,天外有天. 姑且算上 ...
- 20165323 学习基础和C语言基础调查
20165323 学习基础和C语言基础调查 一.技能学习心得 1.你有什么技能比大多人更好? 我觉得我羽毛球打的还行,不能说打得比大多数人好,但是对于一些打羽毛球的要领还是掌握的. 2.针对这个技能的 ...
- 20165235 学习基础和C语言基础调查
20165235 学习基础和C语言基础调查 首先第一个问题:你有什么技能比大多人(超过90%以上)更好?感觉很难回答这种问题,其实我对很多东西挺感兴趣的,如果非要拿出一种比较突出的技能的话我感觉就是象 ...
- 20165317 学习基础和C语言基础调查
学习基础和C语言基础调查 关于优势技能 说来惭愧,读书多年,爱好不少,但是真的能拿的出手的.能被叫做特长的不多.至今,能在同龄人中处于较领先位置的也只有从四年级开始练起的乒乓球.记得开始练习乒乓球是从 ...
随机推荐
- list的下标【python】
转自:http://www.cnblogs.com/dyllove98/archive/2013/07/20/3202785.html list的下表从零开始,和C语言挺类似的,但是增加了负下标的使用 ...
- VS添加命令行参数main(int argc, char** argv)
- 编写一个读写倾斜测量数据.s3c文件格式的OSG插件osgdb_s3c
VS新建一个空的DLL工程 ReaderWriterS3C.cpp源文件 #include <osg/Notify> #include <osgDB/FileNameUtils> ...
- 今天是学习C#面向过程的最后的一天
今天学习完啦面向过程,可能写法也就是那些,固定不变的,但是程序的写法就是由自己决定······ 今天学习了调用已经存在的方法,就是在.net Framework 中存在的方法,具体今天提到的有这些, ...
- php学习八:封装
一:在php中,用class关键字来创建一个类,即进行封装:在类里面有成员属性和方法行为组成: 1.成员属性:用关键字var来声明,可以给初始值也可以不给;现在var废弃,用public来声明,pub ...
- 《C++ Primer Plus》第9章 内存模型和名称空间 学习笔记
C++鼓励程序员在开发程序时使用多个文件.一种有效的组织策略是,使用头文件来定义用户类型,为操纵用户类型的函数提供函数原型,并将函数定义放在一个独立的源代码文件中.头文件和源代码文件一起定义和实现了用 ...
- Runtime 运行时之一:消息传递
什么是Runtime? Runtime顾名思义即为运行时.就是系统运行时候的一些机制,它提供了一些使得对象之间能够传递消息的重要函数,其中最主要的就是消息机制了.相较于C语言而言,C语言使用的是“静态 ...
- CSS3 Transform变形(2D转换)
Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开始,结束.Animation:对元素某个属性 ...
- poj_3580 伸展树
自己伸展树做的第一个题 poj 3580 supermemo. 题目大意 对一个数组进行维护,包含如下几个操作: ADD x, y, d 在 A[x]--A[y] 中的每个数都增加d REVERSE ...
- 如何理解精通PHP ?
「精通 PHP」可以理解为以下三个: 精通「PHP 解析器 精通「PHP 语法.函数(这门语言) 精通「PHP 项目开发 1 精通「PHP 解析器」 可以从这里开始学习: PHP核心:骇客指南 :ht ...