CS50 2016 Week 0 學習筆記

2021-08-07 19:32:05 字數 764 閱讀 6428

今天開始從第一課開始學習了。

week 0 和大學裡許多的第一節課一樣,只是簡單介紹這門課,沒有太多乾貨。

有幾個知識點,比較重要。

機器語言,即計算機能直接理解的語言,只有0 和 1(二進位制數)。

通過字元編碼,能用不同的數字表示不同的字元,能用二進位制數來表示我們熟悉的字元。

乙個位元組儲存8個二進位制數,如00001111。(換算成十進位制數為0~255)

rgb系統中r=(255, 0, 0),g = (0, 255, 0),b = (0, 0, 255)

通過三種顏色的混合能得到其他的顏色。

如,淡紫色 = (218, 112, 214),青色 = (0, 255, 255)

我們看到的複雜的檔案格式,在計算機中真的是以許多的 0,1 來儲存的。

只是隨口一提。

先按照字面意思理解,能同時處理多條命令?

我們寫好的c語言程式要讓計算機能識別,需要編譯器將程式翻譯成機器語言。

c語言程式執行之前需要編譯。

如,在命令列中執行hello.c程式,需要先使用cl hello.c編譯源程式成能執行的hello.exe,然後執行hello:

關於python,執行前不需要編譯(執行程式前翻譯),執行某行**時,會有直譯器將**翻譯成機器語言。

CS50 2016 Week 2 學習筆記

這一課先講了除錯程式 debug 然後講了 正確性 設計 風格,最後講了陣列的概念。核心思想是程式報錯後,能找到哪兒錯了,怎麼錯的。如果是語法錯誤,根據報錯資訊,大概能找到怎麼錯的。如果是邏輯錯誤,可以自己在腦海中過一遍程式執行的流程,看哪兒有邏輯錯誤,或者自己在可能有問題的地方寫測試 c語言軟體中...

CS50 2016 Week3 學習筆記

上一課講了陣列,這節課順利過渡到了陣列的查詢 排序。即查詢演算法 排序演算法。關於查詢演算法,除了常見的linear search binary search 還有好多好多。下面是常見的七大查詢演算法 順序查詢 二分查詢 插值查詢 斐波那契查詢 樹表查詢 分塊查詢 雜湊查詢 排序演算法,除了氣泡排序...

CS50 2016 Week4 學習筆記

以下內容摘抄自 c語言程式設計 第9章 根據馮諾依曼提出的 儲存原理 的計算機工作原理,程式要裝入記憶體後才能進行處理,資料也要裝入記憶體才能進行處理。記憶體是以位元組為單位的一片連續儲存空間,每個位元組都有唯一的編號,這個編號稱為記憶體的 位址 如同人們通過房間號來管理旅館一樣,系統通過記憶體位址...