理論脫離實踐是最大的不幸。——達芬奇html
達芬奇,是我眼裏最有嫌疑的穿越者。java
繪畫、天文、雕塑、音樂、發明、建築,數學、生理、物理、天文、地質……我很難想象有一我的能在這麼多的領域都取得堪稱你們的成就。從他的這句話中,彷佛能讓咱們一窺他成功的祕訣。編程
在閱讀了婁老師的博客後,我對於以後的學習也有了一些的感觸,就在這裏記錄一下吧。小程序
在婁老師的博客作中學中,老師與咱們分享了學習的經驗方法,並向咱們推薦了一些學習的資料和途徑,並和咱們分享了練五筆,減肥,打乒乓球,背單詞的經驗。在這些過程當中,注重方法,作好規劃,注重堅持。數組
我主要的感悟是,一是要有足夠科學的方法,婁老師所強調的作中學,強調了,學習須要的是理論,思考,實踐,總結的結合。二是要作一個自制的人,這裏的自制不限於自個人剋制,更多地是在於自個人管理,剋制惡習的同時,要能主動地去完成本身的目標,因此,在這中間,我認爲制定本身的目標,並對本身進行自我和外界的監督極爲重要。網絡
這個問題,其實我是有一些慚愧的,父母一直奉行着放養原則,並不強迫我去參加一些興趣班,補習班之類的,而我對於本身感興趣的事物大可能是自學,要達到比90%的人要好,我確定是沒有這個自信的。仔細想了以後,本身能寫的大概就是自學能力和耐心能寫吧。多線程
就自學能力來講,我以爲本身應該能夠算是比大多數人要好一點,小時候對奧數比較感興趣,奧數班也是我爲數很少的報的興趣班,在那裏的一些思惟方式對於以後一些知識的理解助力。以後在高中也報了很多的競賽,高二時未選生物,生物也算是基本自學,也有一些成績。還有本身感興趣的事物,也基本是自學。還有耐心,最明顯的表現大概就是,我對於一些細小的工做會更加的感興趣。編程語言
總結一下,我以爲經驗主要是有如下幾點吧:函數
共同之處的話,我以爲主要在於。規劃,自制和合適的監督這三點。學習
我以爲這三點,規劃在於在學習之初的指導做用,還有對本身的一個指望,是學習開始一個必要的階段。自制,則是可以堅持的關鍵,也是整個學習過程的關鍵,否則,三天打魚,兩天曬網,只在初期努力就只能在得到很淺的知識,並不能對本身有什麼提高。合適的監督則是一個輔助的機制,減小本身的惰性心理,預防放棄也是不可小視的。
你是怎麼學習C語言的?(做業,實驗,教材,其餘),與你的高超技能相比,C語言的學習有什麼經驗和教訓?
在C語言的學習過程當中,在大一上學期就已經有所接觸,並且我認爲我主要的知識也是在大一上完成了基本的瞭解,下學期主要着重於積累和練習。我以爲主要的學習過程爲:自學,聽講,練習,複習,鞏固。
相比於以前提到的技能,我以爲主要的區別就在於,C語言,我是出於一種必要技能的須要來學習的,並非出於我的最初的興趣。而且,由於在下學期又進行了二次的學習,算是學習了兩次吧。
我以爲在C語言的學習過程當中,主要的經驗教訓在於,在學習以後,不能只能依靠練習來進行復習,畢竟,咱們所接觸的那些練習和題目,都是在咱們能力範圍內的,而C語言,有不少實際上是咱們上課程上接觸不到的,對於編程語言的學習,若是隻限於課程範圍內,那麼就永遠只能掌握很小的一部分,咱們要在掌握的基礎上,不斷擴展,才能真正的掌握知識。
目前爲止估算本身寫過多少行C代碼?理解的狀況如何?量變引發質變,如何平衡質和量?
我以爲本身寫的代碼,大概有3000到4000行。就本身所掌握的來講,這3000~4000行代碼,有很大一部分是一些內容的變形,重複。就這些小部分的知識,我以爲掌握是沒有問題的。可是很無奈的是,C語言的內容並非只有這些,有不少知識,我至今仍是隻知其一;不知其二,甚至根本不瞭解。
我以爲在學習中質變和量變有兩種,一是對一個知識點,或對某一個知識塊的瞭解和練習的量變達到一個對這一個知識的質變的點,也就是徹底的掌握和延伸。二是這樣的知識點或知識塊的積累的量變,而且,達到了這樣的知識塊的鏈接,則達到了整個學科的理解的質變。簡單來講,就是量變引發部分的質變,再到總體的質變。咱們不能停留於一個個部分的質變,而要不斷去追求總體的質變。
學過了C語言,你分的清數組指針,指針數組;函數指針,指針函數這些概念嗎?
對於這個問題,我還有有點懵的,去找了一些博客做爲參考的資料的。
學過了C語言,你明白文件和流的區別和聯繫嗎?如何區分文本文件和二進制文件?如何編程操做這兩種文件?
並不清楚,如下是我查閱資料所得:
文件的打開操做 | fopen | 打開文件 |
---|---|---|
文件的關閉操做 | fclose | 關閉文件 |
文件的讀寫操做 | fgetc | 從文件中讀取一個字符 |
fputc | 寫一個字符到文件中去 | |
fgets | 從文件中讀取一個字符串 | |
fputs | 寫一個字符串到文件中去 | |
fprintf | 往文件中寫格式化數據 | |
fscanf | 格式化讀取文件中數據 | |
fread | 以二進制形式讀取文件中的數據 | |
fwrite | 以二進制形式寫數據到文件中去 | |
getw | 以二進制形式讀取一個整數 | |
putw | 以二進制形式存貯一個整數 |
學過了C語言,你知道什麼叫面向過程程序設計嗎?它解決問題的方法是什麼?
C語言是一種面向過程的程序設計,這是一種以過程爲中心的編程思想。
解決問題的方法爲:分析出解決問題所須要的步驟,而後用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就能夠了。
在C語言裏面,什麼是模塊?你寫過多個源文件的程序嗎?
查閱瞭如下資料,emmmm...仍是有一種只知其一;不知其二的感受啊,感受到本身對C語言的瞭解仍是停留在很表層的階段,多個源文件的程序也沒有寫過。
以獨立性、低耦合性,逐層分解」的基本思想描述(分解)系統,首先以數據流圖爲基礎導出系統模塊(功能)結構圖,直到每一模塊都是功能單一的模塊系統模塊(功能)結構圖 結構化設計方法、「自頂向下、公共模塊做爲模塊劃分的原則,再將各大模塊繼續劃分爲較小的模塊、高內聚性。
學過了C語言,你知道什麼是「高內聚,低耦合」嗎?這個原則如何應用到高質量程序設計中?
在學習過程當中,常常聽到這個原則,可是沒有詳細的瞭解過,又只能找度娘了......
內聚是從功能角度來度量模塊內的聯繫,一個好的內聚模塊應當剛好作一件事。它描述的是模塊內的功能聯繫;
耦合是軟件結構中各模塊之間相互鏈接的一種度量,耦合強弱取決於模塊間接口的複雜程度、進入或訪問一個模塊的點以及經過接口的數據。
就我我的的理解就是,在系統之中,單個模塊要使他儘量的聯繫緊密,可是模塊之間,儘量的使其獨立存在,減小相互之間的影響。
學過了C語言,你如何把數組A的內容複製到數組B中?如何查找整數數組A中有沒有數字5?如何對整數數組A進行排序(從小到大,從大到小)?寫出相應的程序。
我將全部的功能都放在了下面這個程序裏了。
#include <stdio.h> #include <stdlib.h> #define N 100 int main() { int a[N],b[N],n,i,j,temp; printf("請輸入數組中數的個數:"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); b[i]=a[i]; //數組複製 } for(i=0;i<n;i++) { if(a[i]==5) { printf("數組中有5"); exit(0); } } printf("數組中沒有5"); //查找數組中的5 for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[i]<a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } //從大到小排序 for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } //從大到小排序 return 0; }
寫一個程序,統計本身C語言共寫了多少行代碼。
這個程序,真的是沒什麼頭緒,個人文件操做,真是的,一團糟,當時也只是作了一點點的瞭解(有種後悔莫及的感受......)
目前思路大概是,導入文件,統計換行符,判斷註釋及空行。可是,文件操做真的是一團亂麻,因此如今先寫了一個統計行數的程序。
#include <stdio.h> #include <stdlib.h> int main() { char a; int l=0; do { a=getchar(); if (a=='@') break; if (a=='\n') l++; }while(1); printf("共有%d行。\n",l); }
還有文件的操做部分和對於註釋空格的判斷,打算不斷地學習完善,爭取能儘快寫出來!
下面是一些找到的博客資料,做爲完善的參考:
你知道什麼是斷點嗎?給出本身調試程序的例子。
斷點是一種調試方法,即在調試中設置斷點,下一次讓程序自動運行到斷點位置,即可在上次設置斷點的位置斷下來,能夠提升調試的效率。
個人目標主要就是可以真正的學到知識,能獨立的編寫完成本身的小程序。在簡單看了一遍PPT以後,我幾乎有一種頭昏腦漲的感受,各類概念,名詞,在腦子裏亂飛。
在即將到來的Java學習中,我對本身的最低要求是要可以真正的理解掌握新的知識。在作完C語言基礎的調查以後,我深深地感受到,以前的C語言學習和成績是有很大水分的,有一些概念真的是一律不知。在此基礎上,還須要作知識的延伸,理解掌握這門課。