套路(Kata)指针对某一种特定技术或技能进行重复性的练习,从而将其熟练掌握。这个概念借鉴于武术,指的是能够独自或多人共同练习的一系列动做、招式。html
作中学(Learning By Doing)从老师角度讲就是「项目驱动教学法」。学生在实践中发现问题,解决问题,在迭代中提高。java
--引用自《优秀的教学方法--作教练与作中学》编程
你是怎么学习C语言的?(做业,实验,教材,其余),与你的高超技能相比,C语言的学习有什么经验和教训?数组
个人C语言学习是经过课堂和课本掌握基本知识,而后经过题库和实验课的练习来学习的。C语言的学习必须一开始先对课本进行深入理解在通过反复的实践练习,不能到最后才盲羊补牢,并且遇到类似又不一样的问题要学会变通,不能死学知识。函数
目前为止估算本身写过多少行C代码?理解的状况如何?量变引发质变,如何平衡质和量?学习
目前为止本身写过的C代码大概4500行左右,对一些复杂代码的理解不是很深入。足够的量变才引发质变,而良好的质变来源于良好的量变积累,不能只追求量也要注重质。设计
学过了C语言,你分的清数组指针,指针数组;函数指针,指针函数这些概念吗?指针
数组指针:是指向数组首元素的地址的指针,其本质为指针。调试
指针数组:是数组元素为指针的数组,其本质为数组。code
函数指针:指向函数的指针变量,本质是指针变量,指向函数。
指针函数:指返回值是指针的函数,即本质是一个函数。
学过了C语言,你明白文件和流的区别和联系吗?如何区分文本文件和二进制文件?如何编程操做这两种文件?
不明白这里。
学过了C语言,你知道什么叫面向过程程序设计吗?它解决问题的方法是什么?
面向过程程序设计就是以过程为中心的编程思想。不明白方法。
在C语言里面,什么是模块?你写过多个源文件的程序吗?
模块即将一个程序分为若干个不一样功能的模块,在整合一个完整的程序。没写过多个源文件的程序。
学过了C语言,你知道什么是“高内聚,低耦合”吗?这个原则如何应用到高质量程序设计中?
高内聚就是一个模块内各个元素彼此结合的紧密程度高;低耦合就是模块与模块之间,尽量的使其独立存在。
学过了C语言,你如何把数组A的内容复制到数组B中?如何查找整数数组A中有没有数字5?如何对整数数组A进行排序(从小到大,从大到小)?写出相应的程序。
数组A的内容复制到数组B
#include <stdio.h> #include <stdlib.h> #define N 100 int main() { int a[N],b[N]; int i; printf("输入数组a:\n"); gets(a); for(i=0;a[i]!='\0';i++) { b[i]=a[i]; } puts(b); return 0; }
查找整数数组A中有没有5
#include <stdio.h> #include <stdlib.h> #define N 5 int main() { int a[N]={1,5,8,9,6},k=0; int i; for(i=0;i<=N-1;i++) { if(a[i]==5) k=1; } if(k==1) printf("YES\n"); else printf("NO\n"); return 0; }
对整数数组A进行排序(从大到小,从小到大)
#include <stdio.h> #include <stdlib.h> #define N 5 void cxdd(int a[]); void cddx(int a[]); int main() { int a[N]={1,9,3,7,5}; int i; cxdd(a); for(i=0;i<N;i++) { printf("%d",a[i]);/*从小到大*/ } cddx(a); for(i=0;i<N;i++) { printf("%d",a[i]);/*从大到小*/ } return 0; } void cxdd(int a[]) { int i,j; int temp=0; 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; } } } } void cddx(int a[]) { int i,j,temp=0; 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; } } } }
写一个程序,统计本身C语言共写了多少行代码。
不知该怎么写。
你知道什么是断点吗?给出本身调试程序的例子。
断点就是在调试程序时让程序中断在须要检测的位置。
以上面程序为例:
第一章:Java用编译器编译后又为何会有反编译?
第二章:有两个不一样类型的数组进行引用吗?有的话被引用的数组也要按类型转运算规则?
第三章:在进行位运算时运算符号的位置必定吗?运算过程必需要加数据类型吗?
第四章:什么是对象的实体?传值过程当中会有实体的传递吗?
第五章:Java能够多继承吗?
第六章:一个类的多个接口之间是什么关系?接口与类的方法的关系?
第七章:Java中的断言调试是将断言语句插入在代码后面直接就能够调试?怎么算启动断言?
第八章:Java中的对象调用都是有本身特定的语句吗?
第九章:怎样开始设置窗口?窗口与接口有啥区别?
第十章:Java中的各类类均可以是流吗?
第十一章-十五章:这些章节的内容理解很吃力,也尚未正式尝试Java编程,只是从字面还没深刻到具体,暂时想不出更有价值的问题,但愿在以后的学习中能够有愈来愈多值得思考的问题,能够对Java的知识掌握的更深刻。
对Java的学习,我但愿能够在巩固本身忘掉的C语言知识的同时也掌握Java的技术,能够本身独立解决一些问题。
针对训练,每周的博客要认真对待,学会总结,对课本上的代码要多记而且尽可能作到灵活运动,一周学习时间内不能偷懒,本身要勤动脑,也不要死读课本。
实现目标就如老师“作中学”所说:思考中学习,分层次灵活实践,刻意训练,同时学会提问。在按照老师要求的前提下,每周给本身制定必定计划,勤学勤练勤问。