套路(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的技術,能夠本身獨立解決一些問題。
針對訓練,每週的博客要認真對待,學會總結,對課本上的代碼要多記而且儘可能作到靈活運動,一週學習時間內不能偷懶,本身要勤動腦,也不要死讀課本。
實現目標就如老師「作中學」所說:思考中學習,分層次靈活實踐,刻意訓練,同時學會提問。在按照老師要求的前提下,每週給本身制定必定計劃,勤學勤練勤問。