看到这个问题,我仔细想了想,好像的确没有什么特别出众的技能,可是我想到了许多我我的的爱好。html
我从小喜欢五子棋,而且对其有着本身的看法,可是一直未接受过棋类的培训,因此也只能算是一个爱好。多是这方面的学习与理解能力较强吧,象棋、斗地主都是我经过观看别人对战而学会的,水平也还行。同时我还很爱玩游戏,尤爱那种须要耐心的探索型游戏,以及须要思考的益智型游戏。java
体育运动方面,我从初一时开始接触排球,虽然只是在业余水平里很通常,可是每一年我都会不断参加训练,在初中、高中参加班级排球赛,乃至在大学参加院排球赛。高考完以后我才去学了游泳,在学会以后我依旧常常去游泳馆练习,上大学后我还保持着至少每周一次去游泳馆的频率。固然个人这些爱好并非比大多数人好,或者说只是很普通的爱好,可是对我而言是不错的锻炼身体的运动。算法
就对这些技能的获取过程而言,论成功的经验,我以为能够归结为如下三点。编程
我从小就对体育运动较为感兴趣,因此我愿意去接触、学习它们。从棋类游戏到益智类游戏,我都以为很是有意思,因此我愿意去进行思考并进行尝试。数组
在学游泳时,我只用了五个课时,便掌握了蛙泳的全部要领,但接下来的五个课时都是练习。正所谓熟能生巧,通过后期不断地大量练习,才能真正掌握这一项技能。函数
我不管是在学习排球仍是学习游泳时,都获得过老师和教练的指导。在习得一项技能的过程当中,老师和教练的指导是必不可少的。他们会根据个人及时反馈来告诉我正确的作法,能帮助我少走弯路。学习
正如我在上一个问题里所回答的,我并无太出众的技能,可是我所拥有的这些技能/爱好,在获取的过程当中都有共通之处。编码
娄老师在博客《优秀的教学方法---作教练与作中学》中分享了一些在学习,工做,健身中的实践:spa
作中学(Learning by Doing)之背单词-扇贝网推荐:两年词汇量超过22000.设计
作中学之五笔输入法实践教程:经过一个月的训练学会五笔输入法
天天一万步,一周减十斤:经过五个月的训练减肥30斤
「作中学(Learning By Doing)」之乒乓球刻意训练一年总结: 经过一年的训练提高乒乓球技能。
娄老师经过本身的背单词经历、五笔练习经历、减肥经历、乒乓球练习经历,详细地阐明了「作中学(Learning By Doing)」的重要性,而且总结了其中的要点:
学习是要思考的,仅仅实践是不够的;
技能是分层次的;
实践要具有必定的量才能引发质变;
技能的提高要「刻意训练」;
学习提高要有反馈。
个人学习经验也与这些要点有共通之处。“学而不思则罔,思而不学则殆”是咱们从小就听过的道理,也是我一直以来具有的学习准则,学习中的思考与实践缺一不可。而且,量变决定质变所以,要想掌握一项技能,大量的练习必不可少。而且,在学习过程当中时常作有针对性的练习,而且经过不断反馈来自我完善、自我提高。在下学期的学习中,我会争取巧妙地运用作中学(Learning By Doing)的方法,咱们即可以在实践中发现问题,解决问题,不断提高自我。
我在大一第一学期时曾经过网课的形式自学过一部分C语言,对C语言有了初步的了解。在第二学期的课堂上,老师是按照PPT来教学。由于对前面的部分比较熟悉,起初我有些松懈,但随着难度的加大,我必须在课堂上紧跟老师的思路,明白老师如何去分析一道题。同时,在课下对照课本多敲代码,多加练习。课本中有不少算法的基础实例,经过对教材进行细致研究,够获取新的知识,丰富本身的思路。
说实话,我C语言学得很通常。平时我对练习并非特别重视,直到临近期末才开始大量地练习,我估计本身写过的代码大概有2000-3000行。我对C语言的理解程度也较为通常,前面的内容还相对熟悉,后面的不少知识点诸如指针和数组、结构体和共用体、文件操做,就比较陌生。我认为对于C语言,惟有大量的练习加深入的理解才可以掌握,因此量大才能引发质变。
概念 | 解释 | 表示 |
---|---|---|
数组指针 | 指向数组的指针 | (*p)[数组大小] |
指针数组 | 数组内的元素都是指针,存储指针的数组 | *p[数组大小] |
函数指针 | 指向函数的指针包含函数的地址,调用函数 | (*p)(参数) |
指针函数 | 函数声明其返回值为某个指针时,给函数返回一个地址,用于须要指针的表达式 | *p(参数) |
我不明白,上网查询得知:
概念 | 解释 |
---|---|
文件 | 是计算机管理数据的基本单位,是应用程序保存和读取数据的一个重要场所。 |
流 | 是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通讯管道等。 |
文本文件与二进制文件的区别是逻辑上的,这二者只是在编码层次上有差别。文本文件是基于字符编码的文件,而二进制文件是基于值编码的文件。所以,文本文件与二进制文件的区别仅仅是编码上的不一样,两者无本质区别。
面向过程程序设计,就是分析出解决问题所须要的步骤,而后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就能够了。简单来讲,就是在设计任务时要先明白本身要作什么,而后分红每一个小任务完成,再整合到主线中完成。
在C语言里可用函数实现各个功能,做为不一样的模块,而后在主函数中调用各个功能模块(函数),这样在维护或升级程序时就能够只关注某个模块,能够简化编程问题。我还没写过多个源文件的程序。
我不知道。经过上网查阅资料得知:
概念 | 解释 |
---|---|
内聚性 | 又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 |
耦合性 | 也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 |
高内聚 | 一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。 |
低耦合 | 一个完整的系统,模块与模块之间,尽量的使其独立存在。也就是说,让每一个模块,尽量的独立完成某个特定的子功能。模块与模块之间的接口,尽可能的少而简单。若是某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。 |
——引用自百科《高内聚低耦合》
#include <stdio.h> #include <stdlib.h> void main() { int n,i,j,a[N],b[N]; printf("Input n:"); scanf("%d",&n ); printf("A:\n"); for(i=0; i<n; i++) { scanf("%d",&a[i]); } printf("B:\n"); for(j=0; j<n; j++) { b[j]=a[j]; printf("%d",b[j]); } }
#include <stdio.h> #include <stdlib.h> void main() { int a[20],i,b=0; for(i=0; i<20; i++) { scanf("%d",&a[i]); } for(i=0; i<20; i++) { if(a[i] == 5) { b=1; printf("第%d个数字是5",i); } } if(b == 0) printf("没有数字5\n"); }
#include <stdio.h> #include <stdlib.h> //从小到大 void main() { int a[10]; int i,j,p; printf("Input 10 numbers:\n"); for(j=0; j<10; j++) scanf("%d",&a[j]); printf("\n"); for(i=0; i<9; i++) for(j=0; j<9-i; j++) if(a[j]>a[j+1]) { p=a[j]; a[j]=a[j+1]; a[j+1]=p; } for(j=0; j<10; j++) printf("%d\n",a[j]); printf("\n"); } #include <stdio.h> #include <stdlib.h> //从大到小 void main() { int a[10]; int i,j,p; printf("Input 10 numbers:\n"); for(j=0; j<10; j++) scanf("%d",&a[j]); printf("\n"); for(i=0; i<9; i++) for(j=0; j<9-i; j++) if(a[j]<a[j+1]) { p=a[j]; a[j]=a[j+1]; a[j+1]=p; } for(j=0; j<10; j++) printf("%d\n",a[j]); printf("\n"); }
个人想法是用某个函数,能够统计整个文件目录下的全部程序代码的行数,并将全部程序代码行数汇总。限于水平,目前不会写。
断点就是程序中断的地方。在某行代码处设置断点后,调试程序时,程序运行到该行代码时会自动中止,而后就能够在这进行逐步调试。
关于这部分我有些遗忘,在网上搜索资料时发现一篇不错的博客可参考:设置断点调试程序
图:设置断点
第一章:保存源文件时需注意什么(怎样保存)?
第二章:C语言的数据类型和数组,与Java中的是否相通?数组的引用这部分不太懂。
第三章:如何利用复合语句进行运算?
第四章:类方法和实例方法的区别,类和对象在使用上的区别?
......(不懂的地方太多了)
我自己的C语言基础通常,越日后面看越费劲,我也对PPT里的不少内容只知其一;不知其二,就不笼统地提出问题来糊弄了。
在从此的学习中,我会经过上手操做与实践,在实践中加深理解,解决全部遇到的这些问题。
在接下来的学习当中,我应该端正学习态度。个人具体目标就是,养成天天练习编程的习惯,将学习Java做为天天学习生活中的一部分。能够根据天天的状况不一样来分配任务量,不管或多或少,天天都要写代码。而且,每次做业争取独立按时完成,多和班里的大佬交流讨论但不抄袭,有问题能与同窗们和老师讨论。每一节课都认真听,每一次做业也都认真完成,及时查漏补缺。在具有基础知识的条件下,作更多的拓展以增长本身的见识。
我但愿在学习Java时,思考与实践并行,努力理解课本上的大部分知识。而且在平时的学习中就一步到位,对学习中薄弱的地方进行刻意训练,不把遇到的问题堆到最后。而且,常常看看娄老师的博客,汲取经验,运用“作中学”的方法鞭策自我。