公開課學習筆記-[哈佛]電腦科學CS50(二)

來源:互聯網
上載者:User

第3課C語言,原始碼,編譯器(1) -2011.10.11

編程思想,從語句的格式文法中抽離。介紹了loop、邏輯運算式,數組,這些抽象概念以及C語句的範例。介紹原始碼、編譯器,gcc -ohello hello.c, make hello,gcc -o hello hello.c-lcs50(載入libary)。介紹了函數。

CS50建立的一台伺服器,每個人都可以在上面註冊名字,通過ssh登入,這個也稱為雲,雲倒是一個萬能的名詞。

和之前的公開課一樣,非常重視注釋,在程式的開始,注釋說明程式的內容,作者等資訊。

介紹primitive類型,float、int、char、bool之類等等。字元'\r',回到最左邊,所以有時我們看到換行是"\r\n",而Mac只是"\r"。

第4課C語言,原始碼,編譯器(2) -2011.10.19

gcc後面的參數-ggdb是調測用,我還是喜歡用printf來解決,並用-DDEBUGX之類的來定義是否要設定宏定義,將調測的語句都防止在#ifdefDEBUGX後面。貌似還未使用進階調測方式。

sizeof用於檢測資料所佔儲存空間。long在linux中(至少在某些機器中)仍然為4,與int等同,可以使用longlong的類型,長度為8。這些長度和機器以及系統有關。

介紹了整型除法的問題和解決方式。

介紹if(){}else{}的用法,邏輯判斷,switch語句、for語句、while語句,do{}while()語句。Linux中的man用法。其實我喜歡vi,也很喜歡用命令的方式來編譯和運行。

第5課函數,全域變數,參數,傳回值(1) -2011.10.20

Typecasting類型變換,要注意溢出問題。對於float運算,由於儲存位置有限,32bit或者64bit,會存在精度問題,對於浮點大小比較需要注意,例如0.81+0.03== 0.84不一定成立。

介紹了迴圈嵌套。int main(int argc ,char ** argv ){}或者參數的含義。運算溢出的處理。

第6課函數,全域變數,參數,傳回值(2) -2011.10.24

講述了一些入門者需要注意的文法書寫方式。接著介紹函數,講述記憶體的分配方式。記憶體從上至下為Heap,用於分配給全域變數,包括靜態和動態,從下至上為stack,用於分配local變數和函數。通過intmain(int argc, char * argv[])引入命令列操作,數組的概念。

相關連結:我的與編程思想相關的文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.