現在的時間是2015年4月21日,晚上21點20分。第一次寫技術博客(也許目前只能當作自我筆記總結而已)。
這學期正式開始學習嵌入式軟件了,從很早之前就規劃好,想去做一個優秀的嵌入式工程師。無奈大一和大二上學期實在是不學無術,現在遊戲賬號丟給女朋友了,心也好好收了收。是時候真正的開始我的程序員之路了!
言歸正傳。今天起,我開始複習C語言的任務,爲日後的嵌入式編程打下一定的基礎。主要的參考書目很簡單,《C Prinmer Plus》《C語言入門經典》(其實現在看來,還是以第一本書爲主,第二本書比較淺顯,大一剛學的時候對我幫助很多,如果在第一本書全程看完之後還有空閒的功夫,就再去過一遍《入門經典》)。如果當前的任務能完成,暑假的時候,就可以去看“C語言三劍客”了(大一手賤買了英文版,閱讀效率堪憂),也許那就是另一個系列了。
今時不同往日,和大一零基礎比起來,現在的自己對於C語言還是有不少了解和心得的。這次重拾C語言,不僅僅是爲了複習曾經學過的知識,更是要讓自己從瞭解C,變成精通(儘量吧)C。
逐字認真看過了《C Prinmer Plus》的第1、2、3章(第3章其實還剩幾頁), 給自己將來的編程之路設定了幾個指導的方針,也提出了幾個問題:
- 以C99爲基準,做到遵循ISO規則的同時儘量向下兼容
例:文件名及後綴不超過8位、變量在開始處聲明、以main(void)代替main()等等。 - 做到 0 error 0 warn。
- 編寫代碼的環境以Linux爲主。
- 儘量使用有意義的變量名,避免如a、x的命名方式。
- 習慣註釋,養成優雅的代碼風格。
這裏我收集了一些自己感覺重要的知識點:
- 在老式的機型上,int型最多支持8位,故2^0+2^1+2^2+2^3+...+2^7=256,故只支持0~255(不考慮負數的情況下)。
而C99標準中,int型和short型皆爲32位,故支持-32768~32767。 - 十進制的縮寫爲dec = deca :十(詞頭) decade:十年
八進制的縮寫爲octal。
十六進制的縮寫爲hex = hexadecimal = hexa+dec hexa:六(詞頭) hexakill(六殺)
今天覆習的過程中,我還產生了幾個疑問,如下:
- P38中,表示八進制的究竟是%0還是%o?
%o,書中是印刷錯誤。 - 爲什麼英語中Dec代表的是12月,Oct代表的是10月?
公曆起源於古羅馬曆法。羅馬的英語原來只有10個月,古羅馬皇帝決定增加兩個月放在年尾,後來凱撒大帝把這兩個月移到年初,成爲1月和2月。原來的1月和2月便成了3月和4月。依次類推,這就是今天世界沿用的公曆。 - %h是什麼含義?
short型,可用於控制字符長度