????????如果你有過接觸軟件開發(fā),計(jì)算機(jī)科學(xué)與技術(shù)相關(guān)專業(yè)的學(xué)習(xí)與從事相關(guān)開發(fā)的活動(dòng),那么你肯定對計(jì)算機(jī)編程語言有所了解,也許你學(xué)過多門語言,但是你會發(fā)現(xiàn)所有的語言都有相通的地方,其實(shí)學(xué)會一門語言就基本能看懂其他語言的程序代碼,語言本身沒有難度高低的差別.
? ? ? ? 在我第一次學(xué)習(xí)和接觸計(jì)算編程語言時(shí),我接觸到的是C語言,當(dāng)時(shí)覺得晦澀難懂,它的作用就是要把人的思維(計(jì)算方面)要告訴到電腦機(jī)器,按自己的要求去計(jì)算人類想要的結(jié)果。所以由人的思維到計(jì)算機(jī)的邏輯,中間就有一個(gè)橋梁,這個(gè)橋梁就是語言。但是對于人來說要把自己的意圖告訴計(jì)算機(jī)并讓它準(zhǔn)確的執(zhí)行出來,這個(gè)過程有困難,這個(gè)過程稱之為調(diào)試。
? ? ? ? 自我感覺調(diào)試是實(shí)行程序正確執(zhí)行人們的意圖最耗時(shí)間的一個(gè)環(huán)節(jié),很好理解,編寫程序其實(shí)就是碼字,跟平時(shí)用的word沒多大區(qū)別,但是調(diào)試就有些麻煩,消耗大腦,尤其是對新手,那些剛?cè)腴T的群體,會遇到各種各樣的問題,尤其是邏輯出問題了,而且錯(cuò)的匪夷所思。其實(shí)根我們的思考習(xí)慣有著密切的關(guān)系,如果把計(jì)算機(jī)當(dāng)作一個(gè)人的話,那么我們?nèi)绾稳ヅc他交流,當(dāng)然我們需要去滿足它本身那一套規(guī)則,包括開發(fā)工具的規(guī)則。因?yàn)樗荒芟袢艘粯訐碛兄悄艿乃季S,你每個(gè)指令都必須清楚告訴它,而且得按照它的“思維邏輯”去編寫源碼。
? ? ? ? 在編寫一些算法的調(diào)試的時(shí)光里,我自己也遇到了一些問題:
1.在調(diào)試程序時(shí),會不正常退出。類似于:exited code -12145xxxxxx,然后編輯器就會出現(xiàn)一個(gè)對話框,提示“接收到操作系統(tǒng)底層信號,程序停止”。像這回情況也許是操作內(nèi)存是不小心造成的,在使用指針操作內(nèi)存時(shí),需要注意:1.定義指針;2.分配空間;3.初始化(為了避免一些奇怪的錯(cuò)誤,因?yàn)橛行┬枰跏蓟?,有些不用,為了保險(xiǎn)起見,最好初始化,不要嫌麻煩);4.用完后要記得釋放內(nèi)存空間,free(),養(yǎng)成回收內(nèi)存的好習(xí)慣(有些語言可自動(dòng)完成,具體語言具體分析);5.free完了后記得將指針置NULL避免指針不知指向哪里,這樣也會造成程序不正常退出。
2.輸入問題導(dǎo)致不正常退出。同樣也是 exited code ********,這個(gè)比較簡單,我們需要注意到輸入的參數(shù)類型是否與要求的參數(shù)類型相同,數(shù)組的下標(biāo)是否超出數(shù)組本身的長度導(dǎo)致異常退出,一般相應(yīng)修改過來就好了,這個(gè)還是比較簡單。
3.在C語言中,沒有返回?cái)?shù)組這種操作,在其他語言(如java)中可以返回,但是在C語言中不允許返回?cái)?shù)組,具體為什么我也沒搞懂,這就是個(gè)規(guī)則吧,如果想返回?cái)?shù)組,則用指針返回?cái)?shù)組首地址,再通過指針地址偏移get到自己想要的數(shù)據(jù),如*(p+1)==A[0+1]是等價(jià)的。
4.關(guān)于新手編寫C語言工具的選擇,欲利其功,必先利其器,選擇一款調(diào)試方便的工具對新手來說是比較重要的,這樣避免喪失學(xué)習(xí)信心。具體的C調(diào)試工具到網(wǎng)上找找,一般用的比較多的是微軟的VC++6.0,我用的是Windows 系統(tǒng)版本的32位的Qt5.4 Creator(一個(gè)集成度比較高的C/C++編輯器),選擇適合自己的一款。另外調(diào)試的過程中可以在覺得有問題的地方利用printf()設(shè)置一些打印結(jié)果輸出,看看參數(shù),處理過程,結(jié)果等是否正確。
善于利用網(wǎng)絡(luò)學(xué)習(xí)資源,互聯(lián)網(wǎng)拉近了各位的距離,雖然在繁雜的網(wǎng)絡(luò)世界有著各種不同的信息,但是強(qiáng)大的互聯(lián)網(wǎng)一定能讓我們自己找到我們想獲取的有效信息。同時(shí)在學(xué)習(xí)的過程中需要我們堅(jiān)持,讓時(shí)間去驗(yàn)證我們的努力,沒有隨隨便便就能成功的,需要我們腳踏實(shí)地去做,興趣也是比較重要的因素,它會讓你有學(xué)習(xí)和實(shí)踐的欲望。