>> DAVID馬蘭：這是CS50，這 是週一開始。
我們認為我們會做什麼，拉回來 設備的帷幕，許多
你可能已經走過 多年，但也許遇不到
知道它是什麼。
所以此裝置可能會看 現在對你最熟悉。
>> [視頻回放]
>> 一個勝利的數學和 機械技能是這個偉大的新
自動計算器 哈佛大學。
把複雜的數學問題 通過機器以編碼的形式
磁帶在一分鐘內準確地解決 所需要的時間的分數
人為計算。
>> 加快各種形式的設計 數學和科學的研究，
巨型機械的大腦會 美國
海軍直到戰爭結束。
>> [END視頻播放]
>> 國寶馬蘭：所以，這就是你看到的 這是科學中心，
該機器現在被安置。
實際上，你只看到它的一部分。
目前只有一小部分是顯示， 這是一個設備，稱為
馬克我，這是本質 一個真正巨大的計算器。
它的繼任者Mark II的， 它從Mark II的，我們實際上
得到一點點的詞彙。
>> 這是首次記錄 你即將成為所有的東西
在太熟悉 當然學期 -
即，一個bug。
所以它變成了在一個點上的標記 II器件不能正常工作
正常，經仔細檢查， 確實有錯誤 - 飛蛾 -
該蛾 -
在裡面。
並從那時起，我們已經提到 方案錯誤的失誤。
所以來。
>> 說到視頻，好吧，如果你 還未知道CS50
顯然攝製。
講座通常上去後 類排序預發布
未經編輯的格式，然後一天或兩個 以後，我們提出了一個更高的分辨率
和更高質量的版本。
您可能還記得瓦妮莎，誰的 財富與谷歌的玻璃打，
我想起 充電時間。
所以，如果你要來下課 玩，他們應該今天上班。
如果你想看到什麼凡妮莎 看到其他的一天，你會看到什麼
- 讓我提高音量 這裡我的筆記本電腦上。
>> [視頻回放]
>> 因此，讓我這是隊列。
好的。
所以觸摸。
好的。
OK，玻璃。
錄製視頻。
>> 好的。
凡妮莎？
>> [END視頻播放]
>> 國寶馬蘭：好，那麼原因 它沒有工作你最
末級是因為我進行 記錄一個小時的
鏡頭後指著自己 我把眼鏡。
所以今天，我將離開他們，但是謝謝 凡妮莎是這樣一個
很好的運動。
>> 與此同時，一對夫婦的公告 之前，我們銳意進取。
所以，CS50有一個傳統做 我們可以嘗試提出一個非常
大班感覺較小。
為此，每星期五， 我們聚集在一間餐廳
廣場，火和冰，30或40 你的同學，我自己，一些
教學人員，我們只是 有一個非常休閒的午餐。
我們經常邀請朋友從行業， 之類的校友，校友
大專，真的只是為了聊天每個 評頭論足，談人生
大學，在大學生活， 之類的。
所以，如果你想分享 第一個這樣的午餐在本星期五
下午1:15，頭 在一些點的URL。
>> 空間是有限的，所以我們會做 先到先得。
但我們會再這樣做經常性 的基礎上，所以不要擔心，如果你不這樣做
使它成為這第一批。
>> 現在，在資源方面提供 當然由curricularly，
有一個整體轉換，如果你還沒有 拉升課程網站
已經，尤其是講座，下 你會發現，一切都
上週我們沒在那裡，無論是 在視頻和某種
電子表。
但是，超出了影片，你會發現 現在有全文
謄本，例如， 每一堂課。
>> 因此，如果我們真的回到這個屏幕 這裡與瓦妮莎，然後導航
在屏幕的右下角， 你會發現，其實，不為
上週五的演講，但如果我們回去 週三，因為此功能需要
幾天之後，你會發現，你可以 實際上拉起來，更好或
更糟的是，每一個字，我還是 舞台上的一名志願者說。
而且遠遠不止這些。
實際上，你可以搜索它，你可以 點擊任何這些句子，跳
這一點在視頻，朝 和結束時使材料的所有
更多通航。
>> 但是，如果你寧願不遵循它 在這樣的細節，你會發現，
例如，這個小菜單，在這裡為1.5倍 速度，2倍的速度，還是我已經I F
為你說話太快，0.75倍的速度。
因此，實現所有即 為您提供。
>> 但除此之外，講座，實現 我們也使這些資源
可用的。
幻燈片，例如代碼，任何我 做在舞台上或提前上課，
我們有這麼會後，你可以玩 在家裡或在桑德斯。
但是我們也認為我們應該這樣做 年首次也是
為您提供演練 這些實施例。
越來越多，因為我已​​經反映在 CS50的演講的價值，我已經開始
質疑只是它是多麼有用 你們這些傢伙坐在那裡，我站在
在這裡，我說你， 特別是作為材料的
例子中，變得更加複雜。
因為總是後，一定數量的 分鐘，有人會區，
然後你錯過了一些關鍵的一些洞察力 例如，那麼你基本上
去上課的剩餘部分， 這是不是最好的使用
你的時間，或者，真的，我們的 統稱為一類。
>> 還等什麼，我們想我們會想辦法做的， 特別是對於一些比較
複雜的例子，我可能不會做 在課堂上，我們可能不會正義
有時間在課堂上，或者您可能 區期間，我們將產生
這些一系列的演練 例子，如果你去，
例如，上週五的視頻頁面在這裡 下的例子，你會看到，
星期五，現在有這 連結至演練。
和這些格式的 隨著時間的推移會發生變化。
現在，我們用一個簡單的 YouTube的播放列表。
>> 但我做了什麼，我們的生產團隊 後來被穿過每個
和每一個這些實施例再次 希望指出在更大
清晰度正是外賣 可以或應該是從每個。
所以，你會發現，例如，從去年 週，所有的臨時例子
我們經歷了線性 ，時尚。
所以感覺自由地從事或不 搞這種材料。
這個特殊的課程真是一個主題 是，有可能更
的資源的方式中，比你 可能吸收
一學期。
>> 但是，這是經過深思熟慮的。
它的意思是讓你作為 個別學生可以自主選擇
根據自己的學習風格。
所以，如果講課為你工作，太棒了。
如果部分為你工作，太棒了。
如果演練工作 你更好的，太棒了。
它真的會由你來選擇 什麼資源工作最適合你。
>> 最後，感謝校友 當然，我們還提供了一個規範
設置隸票據。
因此，而不是你們的頭 在講座下來塗鴉了
的東西來，在課堂上，我們 工作人員將為您提供我們什麼
感覺是規範票據 釋放你分心，所以
如果你在這裡從事，你是 真正從事的是怎麼回事，
與你的同學做 階段，在屏幕上，
而不是簡單地寫下來逐字 發生了什麼事已經說了。
因此，實現所有這些資源 提供給您。
>> 切片，在回答常見問題， 將本星期三開始。
我們基本上等到後最 其他類完成，使我們可以
減少的數量變化 我們需要做的。
但即將在本週末開始， 週日，將是一次性的實例
就是我們所說的超級部分。
這些將被拍攝下來，對於那些誰也不能 出席，並且從本質上講，
當然的頭將引導我們通過一些 的C部分的過程中，
走向結束的問題集， 將是我們的第一個基於C
問題集。
這些僅僅是可選部分 預計會有什麼
成為導致經常性兩節 通過本課程的50加
教學研究員周刊。
在週日或週一或週二，我們 有90分鐘的部分，在很
傳統意義上，這將是 手的機會和更
親密審查 當然材料。
>> 事不宜遲，讓我給你介紹 課程的頭，誰是
與我在幕後， 使一切發生。
如果那些今天在這裡和我一起，羅布 和勞倫和約瑟夫·盧卡斯，所有
其中已與 當然了一段時間。
RJ是第三次這樣的 我們的團隊成員。
他不可能今天在這裡，但他 問我要展示他的照片。
我不知道他想這 一個，但他在那裡。
>> 我只是讓球隊說 打招呼，自我介紹，使
你知道他們以及您的 自己的教學研究員這個術語。
>> LAUREN卡瓦略：嗨。
我叫勞倫卡瓦略。
我是一個居民導師 在萊弗里特大廈。
我是一個超級興奮 頭電視CS50今年。
>> CS50是一個非常具有挑戰性的類 作為一個非常大的類，因此，如果你
如果你覺得有任何疑慮， 就落伍，可以自由地
伸出我們 heads@cs50.het，或給我，如果你願意
喜歡玩我的金色 獵犬小狗。
這裡是盧卡斯。
>> LUCAS FREITAS：嘿，伙計們。
我的名字是盧卡斯塔斯。
我是一個初中[聽不清]
計算機科學和語言學。
實際上，我來自巴西，我也 實現東亞研究。
所以，如果你有任何疑問， 計算機科學，語言或
什麼，只是讓我知道。
CS50，更是如此。
>> 王陽樂：嗨。
我是約瑟夫。
我是一個高級學習計算機 科學埃利奧特大廈。
所以，讓我們來看看。
你會看到我周圍攜帶 這些巨大的相機之一。
我常駐人員攝影師 50，時常和學生
有時以為我 亞洲遊客。
>> 所以如果你看到我用相機， 不跑。
只是微笑，不要害羞。
我希望你享受50。
我非常喜歡它，當我把它， 這就是為什麼我一直TFing
這三年。
>> ROB BOWDEN：嗨。
我羅布。
這是我第四學期CS50。
我剛畢業在5月。
我在Kirkland。
我很高興這學期， 我希望你也太。
>> 國寶馬蘭：謝謝你今年的 頭，RJ。
>> 所以最後幾個音符資源。
其中，P 0已經是。
這一個只存在於標準 版，其目的是為
類的全部。
從與p設置1，將有 黑客版本的大部分習題集，
再次，將覆蓋材料 帶著幾分更具挑戰性，同時
仍然觸及一些 相同的主題。
難道看一看在課程網站 該規範對p組0。
>> 辦公時間也將在本週開始， 今晚到明天，週三，
和週​​四在各餐飲 在校園的殿堂。
離開辦公室cs50.net/ohs 小時的過程中，認識到這一點
將是非常偶然的機會， 當然，在開始的
學期，來與您 筆記本電腦在大腦休息。
帶一些朋友聊起來 當然TFS和CAS與任何
你可能有問題。
>> 我不能強調不夠，即使是 划痕和問題集0，
真的是沒有愚蠢的問題。
有沒有學生太難受了 發問。
請隨時自由利用 這一資源。
將在那裡recurringly的 整個學期，
將CS50討論。
這是當然的網上討論 論壇上，地址。
>> 我們也將在講座 還可以監視這一點，這要感謝
課程的教學團隊。
所以如果你有一個問題，在 講課，因為我說了些什麼
不佳或根本沒有，通過各種手段，要求 實時如果你有你
筆記本電腦或手機在網站上， 我們將竭盡所能近實時
作出回應。
>> 有關CS 50有什麼問題嗎？
然後我的最後一個音符。
該次發行的SAT不滿足。
當您完成您的學習卡，如果你 尚未實現
SAT UNSAT總體願景， 面向全體學生，是真的
幫助的一門課程，採取邊關閉 這樣，可以這麼說，所以，如果你
後期發現自己在夜間，凌晨2點，凌晨3點， 真的撞你的頭反對
你知道你99％的牆上 那裡的方式來完成，但你
有這麼多其他的事情要做， 我認為更好的利用，往往，
學生的時間確實轉移到 其他的事情，所以，你可以
優化你的時間，周圍的一切。
SAT UNSAT是一種機制，通過它 你可以採取舒適的事實
有99％的方式有 仍然相當不錯。
>> 同樣，如果你​​進入 當然沒有事先背景或
幾乎沒有，你盡可能多的背景 覺得你的同學可能有真正的
還是假的，意識到這是一個 的機會，讓你的手臟
當然，在把你的腳趾 水，可以這麼說，就像我自己
年前的合格/不合格。
正如我上週說，這個過程中， 其他人一樣，沒有提供
通過/失敗的時候，我可能會 曾經涉足
類，即使我做了五週 後來，我改變主意，你
也可能，並切換到 或從信漸變狀態。
>> 好的。
因此，我們看著這樣的事情 週五，我們非常迅速
過渡的東西， 今天看起來更加神秘。
但它仍然在 相同的基本理念。
是什麼的總稱，我們 用來形容一塊拼圖
這個樣子？
>> 所以，一個語句。
你可以調用這個任何 一些東西。
不過，我們就稱它為一份聲明中， 並聲明
只是告訴程序 -
或划痕的情況下， 精靈 -
做一些事情。
在這種情況下，打個招呼。
>> 事情是這樣的，我們 而不是叫什麼？
是啊，這樣一個布爾表達式。
只是布爾表達式是 這是真的還是假的，所以刮開
吸引他們的這種形狀，但也 用一個問號來傳達
想法，這個問題的答案 無論是真或假，是或沒有
酮，1或0。
>> 我們使用這些布爾表達式 裡面像這樣的結構，
我們叫什麼？
所以，條件或分支。
而你在這裡看到的情況 從頭開始有一點點的佔位符
一塊拼圖，形狀，目的 這是這樣，你可以
拖動它，然後把它放到 規定的程序，如果此布爾
表達式為真，做這一套 說明，這組語句，
否則這樣做另一套 的指令。
>> 和回憶，你可以 巢這些東西。
即使有空間不大 視覺拼圖中的一塊，刮刮
將擴大和縮小，以適應任何 拼圖拖放在
有那麼實際上，你可以窩和 有三種方式岔路。
如果，否則，如果別人。
你甚至可以超越 進一步嵌套和進一步需要。
>> 所以最後，我們看到的結構，如 這一點，否則被稱為一個循環。
而這僅僅是東西 一遍又一遍的東西。
在這種情況下，它正好是一個有限 多少次，但我們也
看到了一個例子，其中的數量 倍來自一個變量，所以
可能會改變。
同時我們也看到了另一個塊共 叫一個永遠的塊
讓我們循環無限長。
>> 所以另外一個構造，划痕 2.0 - 那些你
舒適與之前的背景是 早已熟悉這個
構造 -
這些事情，我們叫什麼？
因此，我們稱這些功能，否則 被稱為程序。
有輕微的語義差異， 但我們會打電話給他們就是函數。
>> 一個函數，在划痕的情況下， 是一個自定義的一塊拼圖
你自己也可以創建，讓你有 一個新的，在這一塊拼圖
的情況下，將被稱為咳嗽， 出現在所有其他的
可用的拼圖碎片劃傷。
即使麻省理工學院並沒有發明 這一塊拼圖，你做到了。
>> 因此，一個功能可以讓您創建新 行為，給它一個函數名和
然後調用它，可以這麼說。
真正使用它的程序中再次 一遍又一遍，而無需等待
有人像麻省理工學院跌的道路 從頭開始創造新的功能。
你可以建立這些難題 自己的作品，然後再用他們
在自己的程序。
我們將看到一個經常性的例子 今天起。
>> 所以今天，我們現在過渡 更艱澀難懂的東西。
但在年底的一天，東西 更強大的表現力和更
代表的路徑，我們將 整個學期整個數字
語言 -
代碼或源代碼。
和源代碼，它的出現， 是不是一台電腦
通常實際運行。
源代碼看起來像這樣。
>> 因此，這是再次，也許是最簡單 我們可以寫在一個程序
語言叫做C.我們將開始 逗除了過不了多久，如果
這確實看起來像希臘 對現在的你，相信我。
短短一個星期的時間，這 將一切太熟悉了，實際上
越來越頗有代表性 複雜的例子，你會
也更舒適。
>> 但你不能只是運行此 一種通常的代碼。
你有東西把它變成 計算機本身的理解。
因此，我們需要的東西 我們要調用編譯器。
編譯器是一個程序，需要 源代碼，像你剛才看到的，
的輸入，並可以產生零和 的輸出，否則
被稱為對象代碼。
和它的那些零和那些 可能看起來很喜歡這一點，
最終是可以理解的 由Mac或你的電腦。
>> 如果你聽說過營銷 Intel Inside的表達，這只是
意味著，一家名為 英特爾已經製造了
您的計算機的大腦 -
否則被稱為CPU， 中央處理單元 -
這僅僅是事情， 理解模式
0和1。
通過源代碼轉換成 通過這個過程的目標代碼
一對夫婦的命令，我們將盡 只是一點點，你是
創建模式0和1 在英特爾，員工有
決定代表的若干陳述。
>> 現在，我不太知道哪些 這只是一眼
這些0和1。
大多數人，這些天沒有。
但是，在某處是有規律的 0和1，表示該
語句打印。
某處有可能是不同的 設置的0和1的
代表永遠的概念或 重複10次，甚至喵，如果是
實際上是一個程序，可以 包括一些聲音。
>> 因此，在短期，人類剛剛決定， 就像我們做對ASCII -
字母字母上週 - 人類已經決定，即使
更複雜的模式0和1 代表更複雜的行為
如印刷或說或喵喵叫。
所以今天，在很大程度上起 在學期中，我們將採取
有人想當然地認為已經想通 如何做到這一點映射。
但是，我們這方面的想法相一致 分層的頂部的工作人
已經來到我們面前的，將採取 授予的事實，這是怎麼回事
引擎蓋下。
不過，我們更感興趣的是 建築的東西比較多
有趣的這一切之上。
>> 也確實，我們的第一個程序 寫在Scratch這個超級簡單
一，世界您好。
你可以認為這是 主程序統治划痕
截至上週五的行為。
>> 今天，我們要開始翻譯 拼圖碎片劃傷
這種語言稱為源代碼 C連接，以便看起來像這樣
週五，從今天起， 現在看起來像這樣。
誠然更加神秘。
這實在是太讓人分心和排序的心態 麻木看到所有的報價
和分號 括號等等。
>> 但是，如果你開始忽略什麼，你 不明白了，真是看
在白色文字的精髓 屏幕，想必你看，像我這樣做，
“你好，世界”。這線與 紫色聲明向上頂，原來
關鍵字指出，主要是要 排隊概念與綠色
點擊標誌。
>> 因此，換句話說，而在划痕 我們實現這個Hello World程序
與這兩個拼圖，在C， 我們要實現這些
4個略帶神秘的線條。
但是，正如我們深入到這一點，你會 看到，每一個這些
實際上在屏幕上的白色字符 有一些重大的意義，
我們的節目，最要 看結構不盡相同。
所以一份聲明中，要明確，什麼 看起來像“打招呼世界”
週五開始尋找 喜歡這個在週一。
的printf（“你好，世界”）。
有一些奇怪的反斜杠 N，有括號，有
分號。
>> 但是在一天結束的時候，關鍵 外賣今天是我們正在做的
從圖片翻譯的東西 形成以文字的形式。
所以看起來像這樣一個循環， 上週到現在看
這樣的事情。
>> 讓我聲明，就像在 劃傷，有不同的方式來
實現同樣的目標。
相同的C.我沒有顯示你的唯一 的方式做事情，但方法之一
翻譯這永遠 阻止一個循環，C.
>> 這裡這一次，重複10次。
這個人真的那種彎曲 介意你第一次看到它。
但要落實，從今以後， 我們要使用
for循環，可以這麼說。
並明確有一些語法 稍微複雜一點，有我和
等於0，但一旦我們潛入 今天起，你只是去
一看就知道這一切都只是做了一些 基本的算術，讓我們從0
在最多9或10，在這種情況下。
>> 最後，變量，你會記得 一個變量的存儲空間是一塊。
那麼，我們不得不在左邊有 本週會顯得有點
像這個星期。
但同樣，更多的來。
>> 我們有布爾表達式， 上週，這個樣子。
這週起，他們將 開始看起來有點像那個。
>> 而這一次實際上是 有點讓人放心。
它實際上是幾乎一樣簡單 作為綠色塊。
但在這裡我們再次，一些新的語法 使用＆，但你可以
也許猜測而在划痕， 說A-N-D，顯然，我們在C
要說的＆符號與符號。
但所有這一切將成為 過不了多久自然。
>> 條件。
上週，它看起來像 這在左側。
這一周，在右邊，這是 要像她那樣。
但同樣，這裡的關鍵外賣 當你看到這樣的事情
合適的，特別是如果減 舒適，它的排序對你
頭，你得到有點不知所措， 我真的不知道我怎麼能
可能拿出 從無到有 -
沒有雙關語意 -
只是意識到這是真的一樣 的想法，可能覺得這麼多
自然較前一周。
而且，即使你還沒有潛入 問題設定為0，我敢說，你會發現
拼圖相當 直觀的，或者至少是
隨著時間的推移變得如此。
>> 因此，讓我們長驅直入
讓我們在這裡我們的手臟與 這首簡單的程序。
和簡單的，當然​​是相對的。
要做到這一點，我要改變屏幕 我打電話到該設備的
CS50設備。
CS50設備是一塊 軟件內運行
我的Mac上的窗口，也可以運行 在你的電腦裡面，一個窗口
讓我有完全相同的 計算機環境，為每一個TF，
每個CA，為每一個學生 在類中。
因為CS50家電字面上的 另一個操作系統
稱為Linux -
特別是Fedora Linux系統 -
我們的工作人員，已配置 的安裝過程
在這樣一種方式，一個操作系統， 有一個小CS50標誌
中間大，兩頭，有一個自定義菜單 的底部，三，教學，
我們已經簡化了用戶界面 盡可能所以，當你
第一次啟動這個東西在自己的 Mac或PC上，你有相同的
其他人一樣的環境，你 所有的工具，你需要
的過程，而無需圖 如何安裝和
每一個單獨的工具。
>> 因此，這看起來比較 像Windows或Mac OS。
在左下角， 基本上有一個“開始”菜單
排序或Apple菜單。
那麼你有什麼，我們懷疑會 是你的三個最常見的圖標。
一個是鉻。
裡面有一個瀏覽器 器具。
>> 二是一個程序，稱為gedit中， 我們看到上週短暫，這是
只是一個圖形編輯器。
三是終端程序， 是一個黑色和白色的窗口
昔日，允許我們輸入更多 晦澀難懂，但功能更強大的命令
我們的鍵盤。
所以我要繼續前進，然後按一下 gedit的，放心吧，問題
設置1，上週五公佈， 引導您完成所有這些相同的步驟。
>> 請注意，我有一個非常簡單的 由三部分組成的用戶界面。
在左邊，我有一個大的空 窗口被稱為源代碼。
這就是我要去的地方，看到一個摘要 我寫的任何代碼。
在右手邊，我有一個大 選項卡，目前沒有得救，這是
在我的代碼要去。
而在底部，我有一個嵌入式 終端窗口，黑色和白色
提示我可以輸入命令 編譯並運行我的程序 -
是，製造和運行我的程序。
>> 因此，讓我們從簡單的開始。
讓我上去的文件，保存。
我要繼續前進， 進入jharvard。
因此，器具，不論什麼 你的名字，屬於一個叫
約翰·哈佛，誰擁有一個jharvard的家 目錄裡面，您所有的
文件將去。
這是您自己的副本，他的賬戶， 所以我們不是所有共享
相同的硬盤驅動器。
你剛才的錯覺 約翰·哈佛的自己。
>> 在前進，其實我 安裝了Dropbox的。
該設備自帶預先準備 Dropbox的，如果有什麼不順心的
在學期期間，如果你 您的設備配置一個自由
Dropbox帳號，所有的文件將 自動備份，使您
可以很容易地恢復它們。
我要進入我的Dropbox 目錄，並已經
是一對夫婦有其他的事情。
>> 但我要繼續前進 並轉到文件，保存。
我要去成jharvard，Dropbox的， 這裡，我要
給我的程序一個超級簡單的 名稱hello.c中，然後將其保存。
所以我現在擁有相同的接口。
唯一的改變 的標籤往上頂。
所以，我非常迅速地重新 該程序從
滑動片刻年前。
>> 因此，進入的主要（無效），然後printf的， “你好，世界”，一個有點神秘
密切報價，N，反斜杠關閉 括號，分號和
然後Ctrl-S保存。
順便說一句，這是和通知 在左上角出現在這裡。
這是不是有用的今天，但 隨著時間的推移將是有益的。
你剛才看到的，再次，總結 你寫的代碼。
因為我寫的東西叫 主，這就是為什麼彈出Word主
那邊。
但是，在大多數情況下，我們 不需要今天。
>> 所有的權利，所以我要求，這是我 第一個程序寫在一個編程
語言叫我們知道從上週五 這個東西是要幹什麼
很uninterestingly當我 運行它只是顯示 -
換句話說，打印，作為一個計算機 科學家會說 -
你好世界在屏幕上。
因此，要做到這一點，你會發現，我有 來這兒我的終端
窗口，現在我有 一個閃爍提示。
但是，這是現在一個鍵盤的版本 我的約翰·哈佛的home目錄。
這是一個鍵盤的方式通過 瀏覽我的硬盤驅動器。
>> 所以我不能實際鍵入像我一樣 上週打招呼，因為它是
會說沒有規則，使目標 -
什麼是錯的。
我不太知道該消息 手段，但是這是因為默認情況下，
當黑色和白色的窗口 打開，我在約翰·哈佛的
主目錄。
但是我在哪裡保存程序？
在我的Dropbox文件夾。
>> 現在，我們都已經長大了 電腦，你只需雙擊
在文件夾的圖標，它 打開來，瞧。
這就是文件名為 將HELLO.C。
所以，事實上，讓我們做到這一點。
>> 讓我繼續前進，並盡量減少gedit的 就像你會在
Windows或Mac OS。
讓我進入主 在左上角的文件夾。
我會在這裡看到一堆文件夾。
這裡是我的Dropbox文件夾。
复選標記表示它已經同步。
有幾件事情，在這裡， 但是請注意HELLO.C
確實有。
>> 所以，通常在Windows或Mac OS， 我雙擊，它開闢了在
任何程序，我好去。
但現在，至少從今天開始，我們 需要採取一種倒退只是
給你一些基本的工具，為您的 工具包做多
強大的東西用不了多久。
>> 因此，在此提示下，我必須做的 相當於雙擊
Dropbox文件夾。
要做到這一點，我要輸入光盤 改變目錄，Dropbox的，輸入。
現在我注意到括號 所謂的提示現在說，我在
波浪線，小波浪 在左上方的符號
大多數鍵盤/ Dropbox的。
這僅僅是速記符號 說人，你現在在裡面
Dropbox文件夾，就好像 你雙擊就可以了。
>> 所以，現在如果我繼續前進，鍵入make 你好，進入，我看到一個非常神秘的
命令，但不是一個錯誤消息， 似乎，然後
另一個閃爍提示。
如果你還記得，曾經如此迅速 上週五，我們這樣做。 /個招呼。
>> 你即將看到的結果是什麼 我運行這個程序，或在Ma​​c
操作系統和PC來說，如果我通常一倍 點擊程序 - 應用程序
程序或exe文件，它會打開 一個窗口，並運行。
鍵入。/你好，就像雙 單擊要運行的程序，但
用我的鍵盤。
>> 輸入的hello world。
就是這樣。
因此，讓我們逗所以除了 不覺得太像希臘。
>> 因此，/意味著什麼呢？
任何人誰是有史以來導航鍵盤 像這樣的環境，什麼點
指什麼？
當前目錄。
>> 因此，在當前目錄只是 一個文件夾的代名詞。
所以說點斜線，我說， 尋找一個程序名為hello
當前目錄 -
在當前文件夾。
換句話說，我的Dropbox文件夾。
這就是為什麼擊打其後輸入 實際上運行該程序。
>> 如果我現在型LS，注意，我看到 一切都在我的Dropbox文件夾。
獲得Started.pdf，Dropbox的 給你的自由，我的照片
目錄，公開目錄，未保存 我做了一個錯誤的文件1
剛才，foo.c的，這是我早些時候 今天，然後兩行 -
HELLO.C和打招呼。
>> HELLO.C是我寫的程序 gedit的，什麼你好，是綠色的嗎？
你好綠色是可執行文件。
換句話說，當我跑這命令 剛才 - 讓我滾
時光倒流 -
當我跑使打招呼， 這裡的中間步驟。
它把hello.c的輸入 -
AKA源代碼 - 它產生了 作為輸出文件名為hello，
包含所有這些零和一。
這就是為什麼，在最後，我可以 實際運行類似的命令。/個招呼。
由於英特爾在裡面，我的作業 Linux的系統，開闢了那些零
和那些，餵他們進入 我的電腦的大腦 -
CPU -
CPU知道，哦，這裡是一個模式 零和一說
打印以下的東​​西 在屏幕上。
>> 下列的東西是什麼？
報價引文結束的“hello world”。
>> 所有權利，所以總結了一些快速 這些命令，這樣我們就可以開始
他們是理所當然的。
讓我跳到 我們離開的地方。
你還記得，我們​​有CD 在我們的後面，剛才結束。
這些，我敢說， 今天的目的 -
也許這一周 - 唯一的命令 可能需要在命令中鍵入
除了提示做。
>> 所以CD站在為了什麼呢？
更改目錄。
這只是相當於雙 點擊文件夾中。
順便說一句，如果你得到 永遠失去了你的內部
電器，使得升降梭箱 -
我想回到我 jharvard目錄 -
有疑問時，CD輸入，沒有其他 也就是說，它只是呼嘯而過你回來
你開始的地方， 是一個不錯的小快捷。
>> 所有權利，所以現在其他命令。
LS。
我打那一刻前。
LS代表，你怎麼看？
>> 所以，列表，對不對？
早在一天，當人類未來 與這些命令，他們
試圖效率，而 鍵入回車L-I-S-T，
決定LS。
這很好。
這聽起來夠像列表。
讓我們只是類型LS進去了，那 在我列​​出的文件或文件夾
當前文件夾。
>> MKDIR，你可能已經猜到了。
製作目錄。
所以，你不要去一些文件菜單 在這樣的環境中選擇“新建文件夾”。
相反，你鍵入命令的mkdir空間 然後該文件夾的名稱
要創建， 並將於完成。
>> RM，你可能已經猜到了。
刪除“或”刪除“。
所以，如果你要刪除一個文件，你會 看到你如何在問題集中
能做到這一點。
和rmdir刪除目錄。
>> 所以，再次，我會通過一些鳥飛 這些細節，因為
他們不是花那麼多的樂趣 時間，但有兩個，我們會為您提供
詳細得多中的任何一種 過程中的問題，特別設置
標準版本的任一步驟 您可能需要鍵入
你會得到越來越多的 舒適的這些事情。
>> 但現在讓我捉弄除了 另一件事情。
當我們輸入make你好剛才， 我們看到了一個神秘的命令序列。
再次，我們看到，你好。
好吧，讓我們做到這一點。
我犯了一個錯誤，但 [聽不清]現在承認我正要
做是故意的。
>> 我做了什麼錯剛才？
是啊，所以我不是在Dropbox的 目錄，因為剛才我
鍵入CD，只需點擊進入。
縮小我回到我開始的地方， 這是不是我的文件
是的，所以我真的需要做CD的Dropbox 進入，現在我能做的RM打招呼
進入定期刪除文件打招呼。
我不知道為什麼它是如此神秘。
這只是意味著你確定 你想刪除打招呼嗎？
您可以鍵入y（是），回車， 現在它不見了。
>> 現在如果我再次鍵入make打招呼，這是 要重新創建我的對象代碼，
重新創建這些零和一。
但是，什麼是處理 這個很長的命令？
好吧，我們除了逗 過不了多久，但 -
我告訴一點點善意的謊言之前 -
不是一個編譯器。
make是一個程序，可以自動 數字如何運行
為你的編譯器。
>> 所以命令，你真的應該 運行為了轉換HELLO.C，
你好實際上看起來的 多一點這樣。
上帝保佑我們有實際 記得曾經鍵入該全
序列的命令出來。
在生活中做的目的是為了 請記住，複雜程度
我們和自動化，否則什麼 是非常繁瑣的步驟。
>> 不過，我可近似認為。
所以每這裡這個小小抄，我 可以近似該命令是什麼
只需輸入鐺，這是做 我們將編譯器的名稱
使用這個學期。
如果你們曾經做過的iOS 開發iPhone或iPad，
鐺是你使用的程序 在Xcode，以使您的應用程序。
鐺，雖然是只是一個程序 我們可以在命令中鍵入其名稱
提示，並通過引入現在， 我可以介紹的東西，這是一個
小代表 的命令來。
因此，讓我這樣做手工。
>> 所以RM打招呼，現在通知的情況下 我只是作為一個理智檢查 -
/你好，你想我 應該看到，如果我這樣做嗎？
某種錯誤。
沒有這樣的文件目錄。
所以實際上是相當直接的。
>> 所以，現在讓我清楚的畫面。
控制S只是清除屏幕 刪除一些分心。
現在我將手動 類型鐺鄰打招呼HELLO.C。
那麼，這是什麼做的？
做完全一樣的東西，使 我們，但我沒有扔掉一些
多餘的話。
>> 鏘的計劃，那將 。c文件作為輸入，並產生
作為輸出的零和一。
但是鄰從此將調用 一個開關或一個標誌。
這僅僅是技術人員的行話，說 這是提示你輸入一個字
某種程度上影響行為 你運行的程序。
因此，沒有人不想去猜測 什麼鄰傳達？
>> 輸出。
這只是有人決定鄰指 輸出文件名為hello，並採取
輸入任何硬道理 提示，HELLO.C，所以，如果我打
現在進入，似乎什麼都沒有發生。
奇怪的是，在這個世界上 編程，如果什麼也沒發生，
這可能是一個好東西 因為沒有錯誤
在屏幕上的消息。
您好，回車。
現在我的程序已經運行。
>> 不過，我可以做的愚蠢的小東西，如 這一點。鐺鄰，hihihi，HELLO.C，
進入，現在我有一個相同的 程序名為hihihi。
它的行為相同，但 這個名字是不同的。
>> 因此，這僅僅是說，如果你想 影響的行為
程序，我們將越來越多地 見東西叫做
命令行參數。
這是一條線。
你鍵入的命令。
人體工程學，命令行。
和命令行參數都只是 語法，字或小件
以某種方式影響的行為 我們正在運行的程序。
>> 所有的權利，這也許是最 無聊的節目中，我們可以寫和看。
現在，讓我們做一些事情 更有趣。
讓我繼續前進，創建一個新的文件。
我要先走，並把它保存在 約翰·哈佛的主目錄，
讓我們把它custom.c， 一點點的自定義程序。
我要放大我的頂部 這裡的標籤，並重新開始。
>> 包括標準stdio.h中。
在某一時刻。
詮釋的主要（無效），更 在某一時刻。
printf（“請你好，大衛”）。
更有趣的，對不對？
>> 所以，現在如果 - 不是因為我的名字， 只是因為它是不同的 -
使自定義的輸入。
“自定義”，你好，大衛。
但即使這樣，也同樣是一個善意的謊言。
這個程序可能會被稱為 david.c，因為它不是定制
在所有的行為。
真的，我想一個程序，要求 用戶輸入他們的名字。
>> 那麼，如何才能做到這一點？
好吧，讓我在這裡滾動。
以前我用的陳述 從頭開始，我使用printf之前，
否則稱為功能，讓我 先問用戶一些輸入。
>> 因此，要做到這一點，我需要 做了幾件事情。
一，我需要一個地方來存儲用戶的 之後，我問他命名
她。
可能我需要使用什麼構造？ 存儲這樣的一個價值？
一個變量。
>> 因此，與從頭開始，你只是獲得一個 漂亮的一塊拼圖，在這裡，我們必須
，很明顯，使用的話 表達自己。
從今以後，任何時候你想要一個 的詞或短語，在編程
我們要調用一個字符串。
因此，一個字符串是一個單詞或短語。
這是一個零個或多個序列 字符，更正式。
>> 如果你想這樣一個變量 存在，你不得不說：給我一個。
你是 說字符串s分號，其中s
你想要的任何東西。
事實上，S是有點給人留下深刻印象。
讓我繼續前進，更 清楚地叫它的名字。
給我一個字符串名為name。
>> 但是現在，什麼是人的 名稱默認？
好吧，如果人類不輸入任何內容 ，顯然，是怎麼回事
是沒有價值的名稱。
而事實證明，在C中，如果你不給 一個變量值，它會
有一個垃圾值。
它可能有一些隨機零 的，所以你只是去看看
垃圾，真正做到在屏幕上， 如果您嘗試來顯示它。
>> 不過，我可以解決這個問題時說，實際上， 存儲名稱的內部
值。
存儲變量中的值是 如果你有一個變量名
離開後，你必須以某種方式把你 要存儲在它的右側，並
語法來是怎麼回事 要如下。
>> 我們還沒有看到這一點，而是採取 信仰了一會兒，有
在世界上存在另一份聲明中 我要再次調用函數，
功能，該功能是 所謂得到的字符串。
它字面上。
它在某種程度上得到的字符序列 從人類，然後
用它做一些事情。
>> 但這樣子 語法晦澀。
通常情況下，如果你使用的等號 - 你是說，在世界上，
代數，其實你 說x等於1。
在這裡，我們並不是說， 名稱等於得到字符串。
我們說存儲的名稱是什麼 在右手側
等號。
等號代表 賦值運算符。
這是說，把什麼語法 右手邊裡面有什麼
在左邊。
因此，獲取字符串是一塊新的 的功能，不僅
東西 -
要求用戶一個字符串 -
它也返回了，可以這麼說。
>> 因此，讓我們來看看這是怎麼回事 發生在這裡。
我要繼續前進和縮小， 我要一對夫婦
在我的提示錯誤。
我要輸入習慣，輸入。
哇。
一大堆錯誤。
>> 所有的權利，所以這是一種 鋪天蓋地，肯定在第一，但
事實證明，所有這些非常 誠然神秘的錯誤信息
指一些模式， 我們將開始看到隨著時間的推移。
所以這一塊，我就為這事， 因為它是第一。
使用未聲明的標識符字符串。
>> 這只是意味著gedit中，或鏘， 在這種情況下，不知道
我的意思的字符串。
那是因為在C，編程 語言，但實際上
沒有字符串類型的變量。
C不知道字符串不存在。
>> 但我們CS50員工，做的。
因此，在提前類，我們 創建一個名為CS50.h.的
這裡面的文件 - 更多的語法來 -
裡面的這個文件是一個定義 就是我剛才定義
口頭作為一個字符串。
所以，簡單地總結這一行 在我的程序的代碼，我現在
gedit的教學，使鏘 在把一個字符串是什麼。
>> 我不知道該怎麼還。
在幾個星期後，我們將剝離 那層。
但現在，知道這教 編譯器有什麼
串實際上是。
>> 所以，現在讓我清楚我 終端在這裡。
讓我重新運行定制，我 解決所有這些問題。
也是如此，因此，這將 是一個反复出現的主題。
我只寫了9行程序， 但我有18行的錯誤。
這是一種恐嚇。
但要意識到他們往往串聯 一個小小的錯誤觸發
混亂的編譯器， 它看起來比它差得多。
>> 所以，現在是一個精明的觀察者會知道 我得到一個從字符串
用戶，但我其實沒 做什麼呢？
我實際上沒有做 任何事。
所以，如果我再次運行自定義， 這是怎麼回事，只是坐在那裡。
這是怎麼回事呢？
我的計劃似乎被卡住 什麼樣的線，你會說嗎？
>> 因此，它實際上是停留在第7行。
我們沒見過這之前，但 第7行，再次，這
語句，得到的字符串。
它做什麼它說。
現在等待人類 取字符串。
這是我完全直觀， 人類，因為我沒有被告知
該怎麼做。
>> 但是，讓我繼續前進的信心和 讓我假裝羅布。
回車鍵。
這不是我想要的程序。
因此，我們有我們的第一個博客。
>> 但是，讓我們嘗試通過推理 為什麼是這樣的情況。
首先，讓我首先來解決這個問題。
讓我再補充一條線在這裡說 printf的，你叫什麼名字？
讓我們只是做密切的報價， 關閉括號。
>> 現在讓我重新運行該程序。
問題。
我沒有看到。
>> 右。
我沒有重新編譯它。
因此，在一個像C語言，因為你 更改源代碼並不意味著
你已經改變了你的目標碼 生成新的對象代碼，
新的零和一。
你必須重新編譯。
如果我現在重新運行自定義，輸入， 啊，更加清楚一點。
我的名字是羅布。
儘管如此馬車。
>> 我要說的有 現在一對夫婦的錯誤。
這只是看起來可怕的，坦率地說。
，微創，我應該有 空間，或將
光標移動到新的一行。
>> 而實際上，新的線路。
這是一個關鍵的短語，在這裡， 我們已經看到了，但沒有定義。
你會得到一個文本的方式， 移動到下一行，
你不這樣做。
這是混亂到計算機。
這看起來像兩條線 的代碼，兩者的
是完全正確的。
你反而有更加明確 說，給我一個新行，這是我們
反斜杠n代表在c。
>> 所以這是一個很少有這樣的字符。
反斜杠n將修復的審美。
讓我重新編譯我的程序。
讓我重新運行我的程序。
>> 這看起來更好。
它仍然是相當原始， 但它也仍然馬車。
所以這是一個 -
即使你從來沒有編程之前， 你大概可以猜測
為什麼這個程序仍然是有缺陷的。
要做到這一點我需要做什麼 我沒有做過嗎？
>> 所以，我要真正做到 名稱的東西。
就像在從頭開始，你實際上可能 指定一個變量，如n或
對付像去年我們做了 週 - 值。
但是，如果你沒有做任何事情 它，什麼也沒有發生。
>> 好吧，讓我們解決。
讓我輸入我的變量， 並讓我去這裡。
讓我重新編譯，讓我重新運行，羅布。
現在我只是一個白痴，對不對？
>> 因此，這是沒有真正得到 我任何進一步。
但是，這是一個完全自然的 本能，我要說的，對不對？
如果該變量叫名字，我和 想要它去那裡，為什麼不讓我
鍵入？
>> 嗯，當然，我們有 現在區分
之間有什麼是一個字符串？
請注意，報價引文結束 在這裡，你好叫什麼名字？
實際上，這本身就是一個字符串。
它的硬編碼。
這不是人類。
這是從我原來的程序員， 但它仍然是一個字符串。
>> 所以，如果你裡面字面上寫N-A-M-E 一個字符串，發生了什麼事情
印刷？
好吧，N-A-M-E。而不是我們需要的 告訴printf，不打印
在字面上命名。
打印出name的值。
>> 要做到這一點，我們做到以下幾點。
而這僅僅是一個人的慣例。
我們不是說％S， 代表字符串。
然後在結束時，我最親密的報價， 我要去把一個逗號和
第二個參數傳遞 進入本聲明。
我要去那裡鍵入名稱。
>> 所以，現在我們注意到有一個 稍新的語法。
我們仍然有兩個括號， 從此讓我說的東西
括號之間的代表 成一個函數的參數 -
莫名其妙的輸入 以影響其行為。
因此，邏輯，多少個參數 printf的似乎是
在這一刻嗎？
>> 因此，它似乎將採取兩個， 這的確暗示
這裡的逗號。
因此，這是一個參數 在引號之間。
儘管它有一個逗號， 一切報價，這意味著
這是一個長字符串。
逗號，變量名。
>> 所以，現在讓我縮小。
讓我重新運行它。
羅布。
該死的，我做了什麼錯？
>> 所有權利，所以你必須重新編譯。
如此反复，容易犯的錯誤 早早就一遍又一遍。
所以，現在重新運行自定義，羅布， 輸入，瞧。
我們現在有一個自定義的程序。
>> 所以，我現在有一個程序， 使用幾個特點
是值得注意的。
一，我使用CS50.h，否則 稱為CS50庫。
裡面的CS50庫的 功能，其他人寫的 -
即工作人員 -
供您使用，並獲得 字符串是其中之一。
>> 2號線的內部是stdio.h中， 這是為什麼？
採取一種猜測。
裡面存在什麼 標準IO父？
printf的。
printf的，你沒有看到它的任何地方 屏幕上的其他。
它必須配備 電腦不知何故。
它來自何處？
這裡面 - 它宣布， 可以這麼說，裡面
一個名為stdio.h中。
>> 現在，這個東西，我們會回來 最終，因為它是一個位
現在分心。
這是指我們的返回類型。
這是指一個說法。
但是今天，我們的重點 只是在這裡對這些行。
>> 所以字符串名稱，只是為了重溫一下， 什麼為我做什麼？
因此，它聲明了一個變量 字符串類型。
因此，它的意思是詞， 而不是數字。
正如順便說一句，如果我沒有想 它是一個數字，我會說
如int東西。
如果我想成為一個浮點 值，帶小數點的東西，
我想說的浮動。
但今天，我剛才說的字符串。
>> 我已經給這個變量 出了名的名字，但我可以
把它叫做什麼。
事實上，最初，我把它叫做S。
>> 這裡只是另一份聲明中。
這是多少個參數 錄取口供？
所以它只是一個，並且 是一個簡單的美學細節
顯示上的東西 我的屏幕。
這是什麼8號線做 通俗地說？
>> 它從一個值 用戶 - 即，一串串 -
什麼做呢？
它本質上是將其移交到了 男生在左手側的
等號因此，在這種情況下， name變量實際上可以存儲它。
>> 然後printf是另一個 一個函數實例。
我們說，調用一個函數。
要使用功能 調用一個函數。
這件事顯然 接受兩個參數。
這其中，逗號，這一個。
>> 這本身只是一個字符串 它包含一個佔位符。
％s的手段把這裡另一個字符串。
所以把名字後， 插入逗號，
那件事對我來說。
>> 所以我仍然可以做其他事情。
讓我現在繼續做一個有點 愚蠢的方案，但讓我刪除，
讓我創建一個循環。
雖然真實的。
顯然是象徵真 總是會是真實的。
那麼什麼樣的循環我誘導 寫這樣的一條線？
>> 因此，一個無限循環，對不對？
只是而真實。
有沒有辦法，我可以改字 真正的是什麼東西，所以這是
只是要永遠運行。
因此，如果你曾經有一個節目 在您的Mac或PC，似乎
已鎖定​​，或者在做什麼 東西的東西，你只要
不能得到的東西，除非你退出 重新啟動計算機，或拉起
任務管理器或類似， 這裡就是這樣一個例子。
>> 我可以說，“我是一個錯誤的程序。” 關閉引號，關閉
括號，分號。
如此反复，發現模式。
即使我們的一些語法是新的， 關鍵字，而關鍵字的真實，
請注意，我有同樣的 樣的捲髮括號。
我有一個分號和括號。
>> 所以，現在讓我們繼續前進 和編譯。
定做，定做。
因此，在這一點上，你不需要 重新啟動您的設備，所有的權利嗎？
所以這裡容易教訓是 兩個手指，控制Ç
我們將退出該程序。
但是，你可以清楚地看到，為什麼這件事情 重演一遍又一遍。
>> 我可以做的東西一點點 更為複雜，因為捉弄。
我要繼續前進， 下面說的。
對於整數，它是一個整數，i是 我們給予最通用名稱
當你在編程變量 只是計算，等於0。
讓我繼續說，而我， 比方說，小於100，我+ +。
我們會支持這個語法， 但是，這只是意味著
我一而再，再遞增。
>> 我想在這裡做什麼？
printf的，“我可以指望我。” 這是一個錯誤的程序。
其實我什麼打算？
>> 百分比不是，但你不會猜測 這一點。 ％d是一個十進制整數。
逗號。
讓我滾回來。
>> 現在讓我使重新編譯。
現在讓我重新與定制。
我真的該死的快時，可以指望 我寫這樣的程序。
>> 現在，讓我們做的東西 小非故意。
如何讓我們這樣做，而我 是大於或等於0。
這是什麼會誘發？
因此從邏輯上講，這是不聰明， 因為如果我現在重新運行，各顯神通，
我現在可以指望，真的很高。
不幸的是，大約高，我可以 計數為4億美元，所以這是怎麼回事
需要一段時間。
>> 那麼，為什麼我們不離開這個作為我們的 扣人心弦的，有前途的，在
週三，我們會看到，如果 這個程序就完成了。
二，我們將介紹你自己 編寫自己的功能，所以很
很快，週三，我們會，我們 過渡到C從頭開始
寫日益複雜 做太多的計劃，
遠不止此。
然後我們會看到你。
>> [掌聲]
>> 揚聲器1：在接下來的CS50， 益智日是成功的。