QG之魔鬼訓練營系列:第二周周二兩日結
來自專欄 QG里的點點滴滴
這是訓練營第四篇日記,日期:2016年4月19日
--------------------------------生活小記--------------------------------
時間怎麼過的這麼快了,轉眼就到第二周了/(ㄒoㄒ)/~~還沒從周一的培訓中晃過神來,周二的身影也要消失在視野中了/(ㄒoㄒ)/~~要是時間的滴答聲可以慢點,慢點,慢點那該多好,我就可以多補補C的基礎了。
------------------------------學習開發比賽概要-----------------------------
周一晚培訓前在圖書館,實操了如何使用github,並註冊了個賬號,創建了一個repository玩了玩。發現點點東西:
1.master branch里再build 一個分支,那麼分支修改的東西不會影響master。
2.branch 可以 pull question 這樣便於大家一起討論和修改branch里的東西。
3.同時github上面諸如一些小的諸如可以寫東東的issues板塊,可以發代碼的Code板塊,還有wiki板塊。跟神奇的是還有一個contribution的東西,就是可以記錄你有多少東西在你的這個賬號裡面,然後這些東西的產生的價值。
周一晚培訓結束後,有了解到git其實是很重要的:
1.git可以解決文件舊版本丟失的問題。而不僅僅是存儲代碼。
2.同時也讓我感悟到了在計算機中對於指令的熟悉是很重要的,就好比git的操作,很多都是通過指令來執行創建一個文件,再通過指令把文件又暫存目錄提交到本地倉庫。
周二一整天除了學習剩下的時間都是在惡補C基礎知識:
1.scanf讀取內容是先按字元來讀取,再轉換成相應的數據類型。
2.scanf時有%lf和%f的區分,而printf沒有,那是因為我們再使用scanf的是格式符會提示存儲的數據類型和需要開闢的存儲空間。至於printf對於浮點型沒有這種區別那是因為它會自動轉化%f為%lf。
3.對於scanf未讀取的數據,可以用一個while語句來執行,但是要注意這個while是通過一個getchar()來讀取那個字元然後和EOF(文件結束標誌),換行符進行比較,而不是說用兩個getchar()來讀取字元,如果這樣就會導致在輸入下一組數據的時候,要想敲兩次換行。
4.對於gets(),在實際操作中發現這個函數正常情況下是以換行符或文件結束符做輸入的結束標誌,然後再用終止符替代換行符。可是當出現溢出的時候,只會讀取可以容納的字元數,多餘的不會讀入。而再用puts()輸出改字元串的時候會出現輸出錯誤,因為原本的字元串沒有終止符,所以此時會一直輸出直到遇到終止符才停止。
5.對於回車字元
,換行字元
,退格字元的實際操作原來,回車是值游標回到這一行行首,所以原本這一行的輸出內容會被清除。
6.關於注釋,原來在預編譯的時候對所有的注釋會用空格符替代,所以常量字元中不加註釋,否則會提前讓字元串提前終止。切忌嵌套注釋。
7.在應用一個字面值是可以用define,這樣可以提高程序的維護性。
--------------------------------感想收穫-------------------------------
對於C的基礎知識基本上會用,但是看了C和指針後發現很多東西知其然不知其所以然,這裡的第二然就是師兄說的底層了。然後在理解這些底層的東西的時候自身覺得有點困惑,有時候只能自己通過debug嘗試輸入錯誤的東西來尋找這個第二個然,所以這個方法好像不太高效。不過今晚到是想到一個辦法,可以通過理解一些庫函數的代碼來理解函數到底如何使用並且避免錯誤。但是幸運的是PTA的題終於突破600分了,還剩下100+,現在開始熟悉好的代碼風格了,真希望自己可以加把勁快點打完它。不過打對一道題,感覺自己的代碼有點不太好,沒有別人的簡潔高效。
--------------------------------存在問題-------------------------------
1.C基礎知識還需要繼續完善,要深挖知識點的底層東西。
2.在實際編程中,不能很好的考慮所有的情況,盡量嘗試考慮全面在動手,這樣也可以提高debug的效率。
3.對於git還沒有開始使用,需要花時間去琢磨琢磨。
推薦閱讀:
※QG之魔鬼訓練營系列:第二周周六兩日結
※提升自己,比什麼都重要!
※QG之魔鬼訓練營系列:第一周周六兩日結
※職場人最重要能力是什麼?能力圈法則幫你打造核心競爭力(三維樹)
※【職場】職場從不相信懦弱,適者才能生存