[音樂播放] 國寶馬蘭所有權利。 歡迎回來。 這是CS50,這是 本週一,續。 因此,我們已經通過的原因之一 圍繞技術,如 谷歌玻璃是他們與 已知的東西作為一個API, 應用程序編程接口。 而這句話的意思是,隨著 正確的文件和用正確的 文檔,你其實可以寫 甚至這樣的設備的軟件。 還等什麼,我們心裡有朝 學期結束,如果一個項目 涉及,也就是說,谷歌的玻璃可能 上訴時,我們會看到我們能做些什麼 掛鉤了一些 借用的硬件以及 公開訪問的API,這樣就可以 真正開始建立軟件 上運行的谷歌相同的玻璃。 另一個設備,我們已經打了 後期,我們認為可能是 在學期結束的樂趣 這個小東西在這裡。 這就是所謂的大躍進運動,你是什麼 看到在技術上是一個 廣告設備,但它 不說這是什麼特別的 設備的能力。 ,也配備了一個API通過 你可以寫軟件 控制自己的電腦的方式 挺喜歡這個一分鐘的電影在這裡。 [視頻回放] [END視頻播放] 所以現在,該裝置發生 被實現為一個小的USB 連接器,你可以插入到您的 電腦,但我不會感到驚訝, 如果用不了多久,我們有這些類型的 在下一批次的PC技術 和Mac電腦,這樣就可以,事實上, 與它交互 這樣的一個方式。 事實上,我想我會做,太, 我拉起一個小演示 程序,用這個軟件。 所以,我把小的傳感器 在我的筆記本電腦前。 你可以看到,它已經實現 我手中有 控制它。 而這一切的應用程序確實是 順順噹噹的小事情是這樣的。 但是你可以看到,的確, 我有五個手指。 如果我們可以得到它做的所有10個, 你能想像一個整潔的鋼琴 應用程序或等。 所以,如果你想下課 今天和發揮,作為 好了,歡迎你。 所以朝學期結束。 因此,一對夫婦的行政 公告。 一,辦節這個星期五 中午在cs60.net/section。 這個URL是在球場上的 主頁。 雖然,在此期間,supersections 將亮相這個星期天。 Supersections是一次性的事情, 因為它需要我們工作一段時間 是誰在這部分和。 因此,這個星期天,將是一個 對於那些不舒服的部分, 那些一節 更舒適。 那些你在某處 之間,歡迎去 其中一個或兩個或兩者都不是。 這些都將被拍攝下來。 他們將在一個較大的觀眾席比 通常會一節的。 但是,這裡的目標是使你 一些安慰與問題設置, 用C,與CS50設備中,這 週末,甚至在你發現你的 正式部分分配。 所以,你會滿足您的TF和較小 在大約sectionmates組 一個星期的時間。 辦公時間,同時, 已經持續了。 利用他們今晚或 明天晚上,如果你想。 習題集0,是因為上週五。 這一天遲 定期舉行的星期四。 但問題集1,你會看到 它包括一些熱身 演習你自己 可以擴展您的 週四截止至星期五。 習題集1,同時,將首次亮相 課程的網站上,這個未來 週五,如果你想蜷縮著 它,因為我從前一段時間晚 星期五晚上,在你的房間。 所以cs50.net/appliance的地方 你可以得到CS50家電 上週一,我們開始使用。 我們將使用它今天多一點。 不過放心,問題設置1 規範將引導您完成 正是你所需要的步驟 得到啟動和運行。 所以不用擔心這樣做之前, 習題集1,如果你寧願不要。 好的。 因此,我們期待在源代碼上週一, 但在一個新的上下文中 編程語言,即C.和C, 不像划痕,是不是圖形。 這不是拼圖碎片。 它更類似英語的語法。 有一對夫婦涉及的步驟 在實際編寫和運行 在C程序問題,因為除了源 這樣的代碼,你需要的東西 被稱為編譯器。 通俗地說,是什麼 編譯器為我們做什麼? 嗯。 學生:它的代碼轉換 你寫的0和1。 國寶馬蘭:好。 因此,它的代碼轉換 我們寫0和1。 所謂的源代碼轉換 目標代碼,其中後者看起來 有點這樣的事情。 這是你的CPU,大腦內部 你的電腦,因為 誰創造了這些計算機的人, 知道這些序列 0和1的平均值。 也許這意味著打印。 也許這意味著除了。 也許這意味著減法。 也許這意味著顯示的圖形。 有預定義的位模式 世界已經決定意味著 某些事情。 但是,在這個過程中,大部分 我們將繼續努力在一個更高的水平, 我們會想當然地存在 比如編譯器,可以 使我們的源代碼功能 在路上,我們的打算。 所以我們第一次寫程序上週 然後開始端口,從而達到 說話,到C過去的這個 週一,是這樣的。 當綠旗時,打招呼。 這是,當然 從頭開始寫的。 我聲稱,相當於 在C程序看起來有點 這樣的事情。 所以,我一直以為我們起初做的是什麼, 讓我們梳理除了什麼樣子,在第一 誠然,一目了然,相當神秘 語法,但你會開始注意到 圖案相當快。 今天我們還會做的是提供 你的心理模型對一些 規範,一些標準結構 在編程。 然後我們將實際拿到手 臟以及一些例子。 因此,對於那些你更舒適, 認識到這星期,然後下一個 本週很可能是有點。 但是,尤其是當黑客版 問題集1熄滅 當然網站上週五,我認為 你會發現,即使你填寫 在未來的兩個星期的一些空白, 你會開始得到越來越 挑戰和遇到 新的,新的東西。 因此,讓我們逗這個程序除了 在一個時間的幾行。 在最高層,我們有什麼 技術上稱為 預處理指令。 這僅僅是一個說的代碼行 包括一個文件的內容, 稱為標準I / N標準輸入 - 對不起,標準I / O標準 輸入/輸出。小時,內部 我自己的計劃。 因此,換句話說,如果我寫了這 用一個簡單的文本編輯器如計劃 gedit中,簡單的等同於 如Microsoft Word的東西, 指令的#include stdio.h中,僅僅​​是 要告訴編譯器,搶 其他文件,stdio.h中的內容, 並將其粘貼在這裡。 現在,為什麼我照顧? 什麼我們要求的是這個文件裡面 stdio.h中,這是存儲 我的硬盤驅動器上的某個地方,或在這種 的情況下,在CS50家電某處? 別人為我把它放在那裡。 但是,什麼是它嗎? 是啊,所以這是一個宣言 一個函數調用printf的。 因此我們知道printf回憶的功能 顯示單詞和字符, 屏幕上的數字在我的招投標。 但我沒有把它寫。 CS50沒有把它寫。 有人幾年前寫的,他們 基本上給了我們幾招吧 在一個文件名為stdio.h中。 所以,第一行只是給了我訪問 功能,別人 幾年前寫的,其中 這是printf的。 現在,下一行,我要揮揮 手,至少要等到下週。 但是現在,知道詮釋的主要(無效) 本質上相當於這 黃色的一塊拼圖時, 綠旗點擊。 這個世界,幾年前,決定,如果 你正在編寫一個程序 語言稱為C,你開始 您的程序行 看起來這樣。 在短短的一個星期的時間,它會讓 感int是什麼,什麼是無效的。 不過,現在才想起來 作為這個黃色的一塊拼圖。 現在未來,我們有一個大括號其次 另一個接近大括號, 可以這麼說。 我們將看到這些整個 C程序,以及 JavaScript和PHP。 而這些只是封裝 相關的代碼行。 基本上是開放的大括號 說,這裡談到的一些代碼。 而封閉的大括號,這是 成一定的角度放置,在另一個方向上,只需 手段,它 相關的代碼。 所以在此先多汁線 程序是最後的printf 報價引文結束,世界,你好。 我叫之間的事情 引號什麼最後一次? 因此,它是一個字符串。 一個字符串就是技術人員的 一個序列的術語 字,一個詞,一個短語。 即使是一個單一的字母 用雙引號。 但它是一個零序列 或多個字符。 反斜杠-N,雖然,看起來 有點怪。 但它只是意味著什麼 簡單到計算機。 反斜杠-N是什麼? 新線。 所以,這只是特殊序列 世界已經決定的字符 手段在那裡,把換行符 因為編譯器實際上會得到 困惑,通常情況下,如果你很 可以理解,但不正確,只是 按下回車鍵把 新的生產線在你的代碼中。 你需要多一點 明確用反斜杠-N。 我們會看到有等其他幾個 特殊字符的模式。 例如,如果你想要讓你的 介意漂移到一個角落的情況下, 假設,我想打印 在屏幕上的雙引號 不管什麼原因,似乎 是一個小問題,正確的嗎? 因為如果我把一個雙引號 “你好,世界的中間,”無論出於何種 原因,為什麼,似乎 潛在的問題? 它打破了字符串。 編譯器只是一個程序。 像一個編譯器只是走一個程序 讀你的代碼從上到下, 左到右。 如果看到三雙引號,而不是 二,它是不會知道 如果你的意思是左的東西 應該是字符串,或東西 右,或整個事情。 這是含糊的,所以是一個典型的 編譯器會做的只是嚇壞了, 並給你一些錯誤信息, 讓你處理這個問題。 所以反斜杠n表示新 行,你會有什麼本能 開始,如果你想包括 反常的東西像一個雙 引用裡面的其他報價 字符串? 反斜杠雙引號。 因此,我們會看到這個 一種模式。 如果你想要做的東西一點點 奇怪了,你會發現, 解決方案往往遵循一個模式, 反斜線 表示一個轉義序列。 它只是意味著一些特別的東西 我們需要在代表 不同的方式。 至於你怎麼代表 一個反斜杠,好了,我們會 回來。 但得到的答复,也實際上是 有點明顯。 現在讓我們介紹一些其他的 編程結構 你看到划痕。 您可能已經理所當然的 如果你已經已經潛入 問題設置為0。 但是,我們現在介紹的語法在C 這些原本相當直觀 的想法,它們中的至少一些。 所以這個概念的條件或 的一個分支,而以前我們 代表了它與代碼看起來 像這種划痕左邊 - 如果x小於y,然後這樣說 - 而現在在C - 讓我磨練 在最簡單的情況下 - 我們只是說,如果打開 括號,什麼是真實的 - 布爾表達式是要去 我已經說過條件 - 密切括號,然後做什麼 那些大括號內。 所以在這裡,太,大括號 有點像划痕 U形拼圖。 做這些大括號內。 在這種情況下,削減兇多吉少。 並注意到這是向前 斜線,而不是一個反斜杠。 斜杠,斜杠, 對於那些已經編程的人 之前,只是意味著 - 它只是一個評論。 註釋是不是一條線 代碼本身。 這是一個說你,一行英文 人,寫自己 也許是提醒你做某件事, 自己解釋,解釋 別人,你的代碼是做什麼。 這只是一個描述性的註釋。 現在,當然,我們可以有一個雙向的 岔路口,僅僅通過這樣做, 三路岔路做 這一點,如果你繼續這樣 模式,你可以有四種方式, 五,六岔路,如果 的確,你需要處理, 有很多條件。 然後請注意這裡的並行 - if(條件),否則,如果(條件), 和只有一個,這是一個有點 奇怪的是,最後, 只是別人。 但是,這是相同的, 從概念上講,我們已經做了什麼 已經,儘管語法 需要一點點時間來適應。 現在,在這個例子中,有 其他一些奇怪的語法。 我們再次看到printf的,開放的括號, 和緊密括號。 裡面有 帶引號的字符串。 括號,在上下文中 printf的,在左邊 和右是什麼? 什麼我們描述報價 更普遍的字符串? 所以這是一個參數。 任何時候你有一個函數,如 printf的,然後一個開放的括號和 密切括號裡面的東西 它,無論它是一個字符串,或 整數,或其他任何東西,這件事 那些括號之間被稱為 的說法。 和參數只是影響 函數的行為。 在這種情況下,這是很清楚。 x