1 00:00:00,000 --> 00:00:01,500 >> [音樂播放] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> 馬蘭大衛:好吧,這是CS50 這是一周的結束。 4 00:00:16,110 --> 00:00:20,760 所以,我想介紹一下我的前 建議者,安洛達夫,誰不僅使 5 00:00:20,760 --> 00:00:25,460 iPhone 5的手段,以及這 講台上,他也使汽車。 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 ANSEL DUFF:怎麼樣了,人呢? 8 00:00:29,510 --> 00:00:31,980 我只是想告訴你一個小 關於SAE方程式,這一點我 9 00:00:31,980 --> 00:00:32,604 我的船長。 10 00:00:32,604 --> 00:00:33,437 這是麻省理工學院的團隊。 11 00:00:33,437 --> 00:00:35,520 我只是想告訴你 人約一點點 12 00:00:35,520 --> 00:00:37,520 並希望產生一些興趣。 13 00:00:37,520 --> 00:00:41,590 >> 所以,我只想通過運行 我們的團隊對夫婦的事情。 14 00:00:41,590 --> 00:00:43,640 所以我們完全 學生而言,其中的所有 15 00:00:43,640 --> 00:00:47,300 成員設計,模擬, 測試和製造商的一個子系統 16 00:00:47,300 --> 00:00:48,090 的汽車。 17 00:00:48,090 --> 00:00:51,240 我們有自己的加工車間 和車庫,以及N52--或不好意思, 18 00:00:51,240 --> 00:00:54,140 N51--這是同一棟大樓 作為麻省理工學院的科學博物館。 19 00:00:54,140 --> 00:00:55,990 我們是人民 那開車的人。 20 00:00:55,990 --> 00:00:58,340 有一個國家的競爭 在夏季的開始, 21 00:00:58,340 --> 00:01:01,215 然後有小槍戰 比賽貫穿全年。 22 00:01:01,215 --> 00:01:04,400 然後我們做駕駛培訓 天獲得新成員熟悉。 23 00:01:04,400 --> 00:01:08,280 >> 我們構建的日子上 週六上午11時至下午8時。 24 00:01:08,280 --> 00:01:11,060 午餐和晚餐都照顧 的,從貝圖西的與豆城 25 00:01:11,060 --> 00:01:12,130 分別。 26 00:01:12,130 --> 00:01:15,260 我們有一個星期的會議和 研討會上,這是課程學分。 27 00:01:15,260 --> 00:01:18,560 這是新的,因為這學期,和 這也將是下個學期, 28 00:01:18,560 --> 00:01:19,940 這樣你就可以跨章為。 29 00:01:19,940 --> 00:01:22,960 然後我們有設計,店鋪, 而在本週的CAD天, 30 00:01:22,960 --> 00:01:26,870 而成員們將各自 CAD零件,訂單庫存等等。 31 00:01:26,870 --> 00:01:29,200 >> 所以對於電 在工程隊 32 00:01:29,200 --> 00:01:31,110 我們有我們的牽引力, 高電壓系統, 33 00:01:31,110 --> 00:01:33,390 它運行在標稱 300伏,它包括 34 00:01:33,390 --> 00:01:35,360 馬達,馬達控制器, 和電池組。 35 00:01:35,360 --> 00:01:37,235 然後我們有一個低 電壓系統,它運行 36 00:01:37,235 --> 00:01:40,180 在12伏電壓,它包括 控制,CAN節點,腦 37 00:01:40,180 --> 00:01:41,570 框,儀表板。 38 00:01:41,570 --> 00:01:43,890 至於CS變,我們做 有網站維護 39 00:01:43,890 --> 00:01:47,940 我們需要做的事件,成員 的變化,新的圖片和宣傳材料。 40 00:01:47,940 --> 00:01:51,540 然後我們有一個控制碼 汽車為我們的牽引力控制系統,發射 41 00:01:51,540 --> 00:01:55,750 控制,儀表板控制,轉矩矢量, 和再生制動系統,其 42 00:01:55,750 --> 00:01:59,170 在MATLAB中運行一般, Simulink和LabVIEW中。 43 00:01:59,170 --> 00:02:00,910 >> 告訴你關於這款車一點點。 44 00:02:00,910 --> 00:02:02,470 因此,它是約500磅。 45 00:02:02,470 --> 00:02:04,285 這是僅限於85千瓦規則。 46 00:02:04,285 --> 00:02:08,310 它有2 EMRAX 207汽車在 後面,每一個後輪。 47 00:02:08,310 --> 00:02:11,880 它具有定制電池組 從棱A123囊細胞, 48 00:02:11,880 --> 00:02:14,780 共計300伏, 5.6千瓦小時。 49 00:02:14,780 --> 00:02:17,950 而且它是直接驅動器 2.64比1的傳動比。 50 00:02:17,950 --> 00:02:20,970 這裡有一些圖片,我們 注意到它的競爭力。 51 00:02:20,970 --> 00:02:25,820 這裡的背,鼻錐, 這裡是電機, 52 00:02:25,820 --> 00:02:29,682 那些大黑盤 下方等男裝Manus的。 53 00:02:29,682 --> 00:02:32,140 這裡有一個幻燈片,我拉 我們的比賽計劃。 54 00:02:32,140 --> 00:02:35,389 這是我們的車剛比作 幾個商購的汽車, 55 00:02:35,389 --> 00:02:38,380 像KTM XBOW,林依晨 原子,Caterha M 7-280。 56 00:02:38,380 --> 00:02:42,110 如果你熟悉價格,功耗 拉的重量,美元,每匹馬力, 57 00:02:42,110 --> 00:02:44,930 元元的扭矩,而我們的車 打擊他們都露出水面。 58 00:02:44,930 --> 00:02:47,520 如果您有任何問題, 記下這個電子郵件地址。 59 00:02:47,520 --> 00:02:50,800 拍我們fsae@mit.edu的電子郵件。 60 00:02:50,800 --> 00:02:53,350 >> 我們很高興談論 任何你願意的話​​。 61 00:02:53,350 --> 00:02:55,600 哈佛的學生有樣 對團隊的少數。 62 00:02:55,600 --> 00:02:58,350 如果您有任何問題, 那請不要拍我們的電子郵件, 63 00:02:58,350 --> 00:03:00,810 快樂的交談,我要 頭回了大衛。 64 00:03:00,810 --> 00:03:01,550 謝謝。 65 00:03:01,550 --> 00:03:02,466 我很感激​​,伙計們​​。 66 00:03:02,466 --> 00:03:03,615 [掌聲] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> 大衛馬蘭:安塞爾整個夏天 我們在這裡CS50工作在校園 69 00:03:10,980 --> 00:03:11,480 今年夏天。 70 00:03:11,480 --> 00:03:13,505 和除了工作 之類的二進制燈泡, 71 00:03:13,505 --> 00:03:16,090 他居然真的打開了我們 eyes--和礦particular-- 72 00:03:16,090 --> 00:03:20,535 以真正的交叉點 沒有硬件和軟件都可以。 73 00:03:20,535 --> 00:03:23,410 其實有很多的事情,他只是 參觀您完成最終是 74 00:03:23,410 --> 00:03:26,030 首先在軟件中創建, 然後最終製造 75 00:03:26,030 --> 00:03:27,299 在硬件的真實世界。 76 00:03:27,299 --> 00:03:29,590 所以,如果你有興趣 探索那個路口, 77 00:03:29,590 --> 00:03:31,430 或許佔用該組。 78 00:03:31,430 --> 00:03:34,140 >> 現在,同時,那些你 誰是技術愛好者, 79 00:03:34,140 --> 00:03:36,140 和蘋果產品 尤其知道有 80 00:03:36,140 --> 00:03:37,860 一對夫婦的 昨日公佈的。 81 00:03:37,860 --> 00:03:39,776 但是,我們認為我們會展示 你一說出來 82 00:03:39,776 --> 00:03:43,590 前幾天的 你可能沒見過。 83 00:03:43,590 --> 00:03:46,150 >> 約根EGHAMMER:你知道嗎, 曾經在一段時間的東西 84 00:03:46,150 --> 00:03:49,540 走來了 改變了我們的生活方式。 85 00:03:49,540 --> 00:03:53,479 一個設備那麼簡單,直觀 使用感覺差不多熟悉了。 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 在介紹2015年宜家目錄。 88 00:04:04,138 --> 00:04:10,420 這不是一個數字圖書或 一本電子書,這是一本電子書。 89 00:04:10,420 --> 00:04:14,440 >> 要注意的第一件事情是沒有 電纜,甚至沒有電源線。 90 00:04:14,440 --> 00:04:18,519 2015年宜家目錄 來完全充電, 91 00:04:18,519 --> 00:04:20,550 而電池的壽命是永恆的。 92 00:04:20,550 --> 00:04:27,300 該接口是7.5×8英寸, 但可以8英寸擴大到15。 93 00:04:27,300 --> 00:04:32,410 導航是基於觸覺觸摸 技術,你可以真正感受到。 94 00:04:32,410 --> 00:04:37,120 >> 內容預裝 通過328高清頁面 95 00:04:37,120 --> 00:04:40,180 鼓舞人心的家居理念。 96 00:04:40,180 --> 00:04:43,740 開始瀏覽, 只需觸摸和拖動。 97 00:04:43,740 --> 00:04:50,870 從右向左前進, 從左向右向後移動。 98 00:04:50,870 --> 00:04:52,770 >> 請注意別的東西嗎? 99 00:04:52,770 --> 00:04:53,780 這是正確的。 100 00:04:53,780 --> 00:04:55,190 沒有滯後。 101 00:04:55,190 --> 00:04:58,400 每個晶瑩剔透頁 負載瞬間, 102 00:04:58,400 --> 00:05:00,586 無論你如何快速滾動。 103 00:05:00,586 --> 00:05:03,710 如果你想獲得快速瀏覽, 只是握在手心, 104 00:05:03,710 --> 00:05:06,816 而只用你的拇指, 速瀏覽的內容。 105 00:05:06,816 --> 00:05:10,930 >> 如果你發現一些你想要保存 在以後,你可以簡單地將它設為書籤。 106 00:05:10,930 --> 00:05:17,620 即使你關閉應用程序, 您可以輕鬆地再次找到書籤。 107 00:05:17,620 --> 00:05:18,490 太神奇了。 108 00:05:18,490 --> 00:05:20,434 >> [笑] 109 00:05:20,434 --> 00:05:21,406 [掌聲] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 所以這給我們帶來了 一周的結束。 112 00:05:29,870 --> 00:05:31,760 幾項通知了。 113 00:05:31,760 --> 00:05:33,440 所以切片是現在進行時。 114 00:05:33,440 --> 00:05:36,860 去這個網址的某個時候在這裡 從現在到週五中午 115 00:05:36,860 --> 00:05:39,960 實際指定是否 在那些不那麼舒服,更 116 00:05:39,960 --> 00:05:41,690 舒適,或介於兩者之間。 117 00:05:41,690 --> 00:05:44,511 >> 這通常是其中的一個 東西種,你才知道。 118 00:05:44,511 --> 00:05:47,510 而事實上,那些你們誰少 舒適可能知道的不多, 119 00:05:47,510 --> 00:05:49,634 那些你們誰更 舒適的了解一樣多, 120 00:05:49,634 --> 00:05:54,960 並再次,如果你不是很確定這 這些桶你落入你 121 00:05:54,960 --> 00:05:56,210 可能介於兩者之間。 122 00:05:56,210 --> 00:05:59,810 但請放心,你可以交換 之後的幾個星期,如果需要的話。 123 00:05:59,810 --> 00:06:02,620 >> 同時,針對未來一周 我們不開始本身的部分, 124 00:06:02,620 --> 00:06:04,760 但超級部分,這 是開放給所有的學生。 125 00:06:04,760 --> 00:06:08,220 在本星期日在一個位置 可以在課程網站上公佈 126 00:06:08,220 --> 00:06:10,190 我們將有一個用於 那些不太舒服, 127 00:06:10,190 --> 00:06:12,470 以及一個用於 那些更舒適。 128 00:06:12,470 --> 00:06:15,460 而那些介於兩者之間 可以選擇這兩個的, 129 00:06:15,460 --> 00:06:17,360 或兩者,如果你願意,坐式的。 130 00:06:17,360 --> 00:06:19,630 而這些重點 將最終的C, 131 00:06:19,630 --> 00:06:22,440 我們將繼續我們的 今天的談話。 132 00:06:22,440 --> 00:06:25,070 >> 習題集0同時是 希望在你的手中。 133 00:06:25,070 --> 00:06:27,500 正式由於明天 週四中午。 134 00:06:27,500 --> 00:06:29,490 除非你在現金1 你遲到5天, 135 00:06:29,490 --> 00:06:31,780 這將使其 直到週五中午。 136 00:06:31,780 --> 00:06:34,420 習題集1同時將 張貼在課程網站。 137 00:06:34,420 --> 00:06:37,381 這將是我們第一次 作為進軍一類為C。 138 00:06:37,381 --> 00:06:40,630 而且問題設置規範將引導您 通過大量的哪些力學 139 00:06:40,630 --> 00:06:43,960 我們開始在週一談到, 我們將繼續在談論今天。 140 00:06:43,960 --> 00:06:46,770 C,Linux上,CS50 設備,所有這些 141 00:06:46,770 --> 00:06:48,990 將等待你的規範。 142 00:06:48,990 --> 00:06:52,840 >> 辦公時間同時都在進步, 在大學生食堂。 143 00:06:52,840 --> 00:06:56,240 前往這個網址在這裡看到的 安排今晚和明天 144 00:06:56,240 --> 00:06:57,930 如果您想以分享。 145 00:06:57,930 --> 00:07:01,920 問題同時,讓你 有機會提問 146 00:07:01,920 --> 00:07:05,860 異步,7天24小時,實現你 不限於節和辦公室 147 00:07:05,860 --> 00:07:09,530 小時,而此工具 在這裡,CS50討論那個網址 148 00:07:09,530 --> 00:07:12,150 將過程的在線 公告板軟件,通過它 149 00:07:12,150 --> 00:07:15,030 你可以問的問題 同學們也工作人員。 150 00:07:15,030 --> 00:07:18,492 所以請記住,資源也是如此。 151 00:07:18,492 --> 00:07:20,200 同時傳統 啟動這個星期五​​。 152 00:07:20,200 --> 00:07:23,200 正如你可能已經從瞥見 上週三的預告片視頻, 153 00:07:23,200 --> 00:07:25,510 我們有一個傳統,最 期間逢星期五 154 00:07:25,510 --> 00:07:28,750 服用一些50名學生和 工作人員到當地餐廳叫 155 00:07:28,750 --> 00:07:31,510 火與冰,在此我們 通常加入了一些校友 156 00:07:31,510 --> 00:07:33,850 還是從行業的朋友 普遍嚮往 157 00:07:33,850 --> 00:07:35,780 使一大類覺得小。 158 00:07:35,780 --> 00:07:37,560 所以這是一個完全偶然的午餐。 159 00:07:37,560 --> 00:07:40,160 一堆我們的工作人員 特別是,將發揮音樂椅 160 00:07:40,160 --> 00:07:43,360 並與學生討論聊天 50,50以外的生活, 161 00:07:43,360 --> 00:07:46,510 生活在未來,現實世界中, 我說的是就業機會 162 00:07:46,510 --> 00:07:47,680 與朋友在工業。 163 00:07:47,680 --> 00:07:51,110 >> 所以,如果你想加入我們的行列 這個星期五​​,前往該網址在這裡。 164 00:07:51,110 --> 00:07:54,180 空間是有限的,但我們會做到這一點 recurringly整個學期。 165 00:07:54,180 --> 00:07:57,380 前往那裡cs50.harvard.edu/rsvp。 166 00:07:57,380 --> 00:07:59,380 如果你沒有得到的 這個時候,不用擔心。 167 00:07:59,380 --> 00:08:02,390 我們將再次這樣做 未來幾週內為好。 168 00:08:02,390 --> 00:08:05,434 >> 因此,這是圖像 我們上週畫, 169 00:08:05,434 --> 00:08:07,350 你可能已經被 涉足迄今。 170 00:08:07,350 --> 00:08:10,360 但是,讓我們嘗試到現在連本 什麼我們今天做的 171 00:08:10,360 --> 00:08:11,440 從不間斷。 172 00:08:11,440 --> 00:08:14,760 我有一個志願者? 173 00:08:14,760 --> 00:08:16,000 好吧,或者幾個。 174 00:08:16,000 --> 00:08:18,460 如何這裡的 最後,在藍色襯衫。 175 00:08:18,460 --> 00:08:20,329 拜託了,你叫什麼名字? 176 00:08:20,329 --> 00:08:20,870 ALANA:阿拉納。 177 00:08:20,870 --> 00:08:21,661 大衛馬蘭:阿拉納。 178 00:08:21,661 --> 00:08:25,100 所以阿拉納,對於只是一個 moment--很高興認識你 - 179 00:08:25,100 --> 00:08:28,260 將要扮演的角色 這個功能在這裡。 180 00:08:28,260 --> 00:08:31,290 我們已經紫塊 被稱為迄今為止功能。 181 00:08:31,290 --> 00:08:34,830 所以我要去 未來這裡提供阿拉納 182 00:08:34,830 --> 00:08:38,380 是一個小名牌,使 清楚你玩什麼樣的作用。 183 00:08:38,380 --> 00:08:39,753 >> 所以,你應該發言權塊。 184 00:08:39,753 --> 00:08:41,419 如果你想繼續前進,把那上。 185 00:08:41,419 --> 00:08:43,169 而我們要 保持這個超級簡單。 186 00:08:43,169 --> 00:08:46,180 如果目標在眼前簡直是 現在實行與阿拉納, 187 00:08:46,180 --> 00:08:49,710 這個所謂的說嵌段, 這裡是它如何去上班。 188 00:08:49,710 --> 00:08:52,574 íhave--姑且稱之為 參數或參數, 189 00:08:52,574 --> 00:08:54,240 它是真正的紙只是一張白紙。 190 00:08:54,240 --> 00:08:57,239 而且它的白色種是讓人聯想到 白框到您 191 00:08:57,239 --> 00:08:58,080 可以寫文字。 192 00:08:58,080 --> 00:09:00,660 >> 同時我會去這裡。 193 00:09:00,660 --> 00:09:06,560 我要繼續前進, 寫H-E-L-L-O逗號世界。 194 00:09:06,560 --> 00:09:09,972 而現在我作為說程序員,不要 根本不知道怎麼說的東西。 195 00:09:09,972 --> 00:09:12,180 我能想出的話, 但我不一定 196 00:09:12,180 --> 00:09:15,220 知道如何表達自己 口頭或在屏幕上。 197 00:09:15,220 --> 00:09:17,280 所以,我什麼都 要做的就是把這塊 198 00:09:17,280 --> 00:09:21,157 的功能,其input-- 或說法,因為我們會打電話給它, 199 00:09:21,157 --> 00:09:23,990 我寫這片paper--的 我要去外包了。 200 00:09:23,990 --> 00:09:26,831 >> 的確是這樣的角色 在編程語言的功能 201 00:09:26,831 --> 00:09:27,330 可以玩。 202 00:09:27,330 --> 00:09:29,246 類似的發言權 塊可以外包 203 00:09:29,246 --> 00:09:32,074 的人誰真正知道 她或他在說什麼。 204 00:09:32,074 --> 00:09:33,990 所以,如果你跳過 這裡只是一瞬間, 205 00:09:33,990 --> 00:09:40,092 我將這個輸入傳遞到 阿拉納,並要求你說的這個輸入。 206 00:09:40,092 --> 00:09:41,202 >> ALANA:你好,世界。 207 00:09:41,202 --> 00:09:42,160 大衛馬蘭:就是這樣。 208 00:09:42,160 --> 00:09:43,326 所以,有一個功能。 209 00:09:43,326 --> 00:09:46,556 現在,我們可以把它多一點, 我們可以向前邁進了一步這裡。 210 00:09:46,556 --> 00:09:48,180 因為這顯然是給人留下深刻印象。 211 00:09:48,180 --> 00:09:51,670 現在讓我們將它轉換為 一些更複雜。 212 00:09:51,670 --> 00:09:53,630 >> 因此,這當然是我們的C版本。 213 00:09:53,630 --> 00:09:56,760 所以,現在如果你想利用這 一關,這個名字標籤脫落, 214 00:09:56,760 --> 00:09:58,530 並讓我們有你換上一個新的名字。 215 00:09:58,530 --> 00:10:00,850 但是從根本上你 扮演相同的角色, 216 00:10:00,850 --> 00:10:03,400 它只是恰巧 可現在叫的printf。 217 00:10:03,400 --> 00:10:06,930 >> 這個故事,當然, 要be--可能 218 00:10:06,930 --> 00:10:09,317 正如underwhelming--是 將是下面的內容。 219 00:10:09,317 --> 00:10:10,650 您現在所在的函數printf。 220 00:10:10,650 --> 00:10:13,300 我的來電,或 程序員,誰願意 221 00:10:13,300 --> 00:10:15,745 站上的台肩 以往人們喜歡你, 222 00:10:15,745 --> 00:10:18,670 誰已經想出如何 實際上寫的東西了。 223 00:10:18,670 --> 00:10:20,650 所以此時, 而不是說出來,讓我們 224 00:10:20,650 --> 00:10:22,255 實際使用我們的屏幕在這裡。 225 00:10:22,255 --> 00:10:24,130 所以,如果你想一步 在這裡,我要 226 00:10:24,130 --> 00:10:27,196 再此為通 輸入我的printf的朋友。 227 00:10:27,196 --> 00:10:29,320 如果你能繼續前進, 打印在屏幕上, 228 00:10:29,320 --> 00:10:31,611 只需用你的畫 手指在黑色的屏幕上。 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 優秀的。 231 00:10:44,180 --> 00:10:47,350 好吧,所以很多懸念的 怎麼說是要發揮出來。 232 00:10:47,350 --> 00:10:51,390 >> 所以,現在讓我們東西1 最後的缺口,如果我們可以,如下所示。 233 00:10:51,390 --> 00:10:53,980 因此,這是一個C程序 正如我們上次講的。 234 00:10:53,980 --> 00:10:57,460 而這只是做你做了什麼,它 打印出的畫面,你好,世界。 235 00:10:57,460 --> 00:11:00,290 儘管有明顯很多 喧賓奪主的東西在那裡。 236 00:11:00,290 --> 00:11:03,630 但是,讓我們拿東西了一個缺口, 推出這個版本,這回憶 237 00:11:03,630 --> 00:11:06,160 是第三個版本 我們結束了最後一次。 238 00:11:06,160 --> 00:11:09,120 >> 現在有明確 兩種用途的printf。 239 00:11:09,120 --> 00:11:12,280 有2呼叫阿拉納 在這種情況下為printf的, 240 00:11:12,280 --> 00:11:14,740 但也有一個電話 另一個功能。 241 00:11:14,740 --> 00:11:17,150 那是什麼功能的清楚一點嗎? 242 00:11:17,150 --> 00:11:17,650 GetString的。 243 00:11:17,650 --> 00:11:18,980 >> 我們可以得到一個更多的志願者? 244 00:11:18,980 --> 00:11:20,980 好了,上來吧。 245 00:11:20,980 --> 00:11:21,805 你叫什麼名字? 246 00:11:21,805 --> 00:11:22,990 >> 哈維爾:哈維爾。 247 00:11:22,990 --> 00:11:24,750 >> 大衛馬蘭:哈維爾,上來吧。 248 00:11:24,750 --> 00:11:27,270 所以哈維爾的作用是在 這張紙。 249 00:11:27,270 --> 00:11:28,860 其中我要籠統稱S。 250 00:11:28,860 --> 00:11:32,250 現在,這是一個變量,它的 字符串類型,如暗示 251 00:11:32,250 --> 00:11:34,290 在中間有在第二行。 252 00:11:34,290 --> 00:11:36,540 我想請你去給我拿一個字符串。 253 00:11:36,540 --> 00:11:40,120 具體低著頭樂團 節,讓我一個人的名字, 254 00:11:40,120 --> 00:11:43,142 回來用一個變量 包含該值。 255 00:11:43,142 --> 00:11:44,225 它可以是你想要的人。 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> 開始了。 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 好吧,哈維爾是 寫下名字。 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 好吧。 262 00:12:03,280 --> 00:12:05,740 大家可以猜到是如何 這是要發揮出來。 263 00:12:05,740 --> 00:12:07,489 我們也許操勞 點什麼 264 00:12:07,489 --> 00:12:10,320 功能是幹什麼的,但 不過非常感謝你。 265 00:12:10,320 --> 00:12:13,890 >> 所以,哈維爾已經返回此字符串 在這裡,這,不能完全看到, 266 00:12:13,890 --> 00:12:15,800 喬納森是字符串 我們已經得到了。 267 00:12:15,800 --> 00:12:18,330 所以,現在就是我究竟要 提供給阿拉納雖然 268 00:12:18,330 --> 00:12:20,150 是的東西有點不同。 269 00:12:20,150 --> 00:12:23,800 因為在這個版本的 節目中,首先有你的名字。 270 00:12:23,800 --> 00:12:26,160 所以第一個參數 我需要提供阿拉納 271 00:12:26,160 --> 00:12:33,030 與將是 從字面上說出你的名字。 272 00:12:33,030 --> 00:12:35,280 好吧,讓這麼簡單 我會交給這個給你。 273 00:12:35,280 --> 00:12:36,730 當我寫上去的 下一個參數,如果你 274 00:12:36,730 --> 00:12:39,230 要繼續寫這 在黑板上,讓我們繼續 275 00:12:39,230 --> 00:12:42,659 而做最後的例子來說明,使 明確什麼是最終得到的情況發生。 276 00:12:42,659 --> 00:12:44,450 所以說出你的名字, 寫出它朝著頂端 277 00:12:44,450 --> 00:12:47,220 如果你不介意的話,只是讓 我們有房間一第二線路。 278 00:12:47,220 --> 00:12:52,890 因為過去的事情我要去 現在為您提供的不是一個, 279 00:12:52,890 --> 00:12:57,220 但是兩張紙。 280 00:12:57,220 --> 00:12:58,074 >> 好吧。 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O逗號,然後空一行。 282 00:13:01,920 --> 00:13:04,780 所以我很擔心現在出手阿拉納 是的東西有點不同。 283 00:13:04,780 --> 00:13:08,600 不僅是她得到這個, 其中填空表示 284 00:13:08,600 --> 00:13:12,050 這percent--究竟是什麼 佔位符,我們一直在使用? 285 00:13:12,050 --> 00:13:13,890 是啊,所以%的第 286 00:13:13,890 --> 00:13:16,530 同時,我要通過 她在第二個參數,其中 287 00:13:16,530 --> 00:13:19,290 正是哈維爾 從喬納森檢索。 288 00:13:19,290 --> 00:13:20,534 >> 所以讓我給你這兩個。 289 00:13:20,534 --> 00:13:22,575 如果你想,去吧 和打印的效果。 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 什麼是最終發生 現在的問題是,阿拉納再次 292 00:13:28,130 --> 00:13:29,410 正在播放的printf的作用。 293 00:13:29,410 --> 00:13:32,160 哈維爾被打 GetString的作用。 294 00:13:32,160 --> 00:13:34,700 所以這將是你的紀念品。 295 00:13:34,700 --> 00:13:39,910 並最終發生了什麼,儘管 這hello--是的繼續和逗號。 296 00:13:39,910 --> 00:13:41,410 ALANA:我收到這事還是沒有呢? 297 00:13:41,410 --> 00:13:43,451 馬蘭大衛:是的,你 在一次接待了他們兩個。 298 00:13:43,451 --> 00:13:45,740 這樣的想法是,你 現在可以翻轉頁面 299 00:13:45,740 --> 00:13:50,000 處理所述第二 的這兩個輸入。 300 00:13:50,000 --> 00:13:53,280 因此,這是唯一的錘家 指出的是,儘管阿拉納執行 301 00:13:53,280 --> 00:13:55,830 這個綠線位置,然後 哈維爾做這一塊我們 302 00:13:55,830 --> 00:13:57,820 並返回我的東西 我們會打電話給S,但它是真的 303 00:13:57,820 --> 00:13:59,520 只是那件他自己的論文。 304 00:13:59,520 --> 00:14:02,320 現在阿拉納已經這樣做了第三行。 305 00:14:02,320 --> 00:14:06,010 >> 而且即使這一切看起來 如此令人難以置信的神秘也許 306 00:14:06,010 --> 00:14:08,870 乍一看,還真 就是這麼簡單。 307 00:14:08,870 --> 00:14:11,390 周圍路過的投入, 得到的輸出,無論是 308 00:14:11,390 --> 00:14:14,560 以物理交回的東西, 或看到這樣的副作用。 309 00:14:14,560 --> 00:14:17,170 視覺上的東西 寫在屏幕上。 310 00:14:17,170 --> 00:14:19,990 因此,讓我們繼續前進, 感謝阿拉納和哈維爾, 311 00:14:19,990 --> 00:14:25,012 是誰到這裡,為 加入我們在這裡。 312 00:14:25,012 --> 00:14:25,934 >> [掌聲] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> 所以,現在讓我們習以為常的是如何 簡單的所有的可能是。 315 00:14:33,480 --> 00:14:36,775 讓我們繼續來實際 做一些實際的代碼。 316 00:14:36,775 --> 00:14:40,620 所以,在這裡,屏幕上是截圖 的所謂CS50器具。 317 00:14:40,620 --> 00:14:43,980 如果你不得不在作為 下午2時00分在週三下午, 318 00:14:43,980 --> 00:14:46,602 解釋一些朋友 什麼CS50器具, 319 00:14:46,602 --> 00:14:48,185 你怎麼會在一個句子裡定義它? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 任何一個句子? 322 00:14:53,240 --> 00:14:54,876 是嗎? 323 00:14:54,876 --> 00:14:57,334 學生:這就像一個程序 這使得每個人的電腦 324 00:14:57,334 --> 00:14:58,460 用相同的系統上運行。 325 00:14:58,460 --> 00:14:59,210 大衛馬蘭:好! 326 00:14:59,210 --> 00:15:02,810 這是一個程序,使每個人的 計算機具有相同的系統上運行。 327 00:15:02,810 --> 00:15:04,920 這有點自己的 操作副本 328 00:15:04,920 --> 00:15:07,540 系統,恰好 被稱為Ubuntu Linux操作系統。 329 00:15:07,540 --> 00:15:11,070 它有效的內部運行 在自己的Mac或PC的一個窗口, 330 00:15:11,070 --> 00:15:15,080 使這樣右邊出了大門 在1個星期,這裡的每個人在課堂上 331 00:15:15,080 --> 00:15:17,590 可以訪問相同的工具, 相同的結構, 332 00:15:17,590 --> 00:15:21,250 而且也沒有學習曲線的具體 到Mac或特定的電腦。 333 00:15:21,250 --> 00:15:25,620 >> 現在我們打開了,在CS50內 家電在週一,這個程序在這裡。 334 00:15:25,620 --> 00:15:27,040 它發生在被稱為gedit的。 335 00:15:27,040 --> 00:15:29,050 但是,這真的只是 圖形編輯器。 336 00:15:29,050 --> 00:15:33,170 這有點像記事本或文本 分別編輯在Windows或Mac OS。 337 00:15:33,170 --> 00:15:36,720 我建議有真 三個重要環節進行屏幕。 338 00:15:36,720 --> 00:15:39,560 頂面是你 會寫你的代碼。 339 00:15:39,560 --> 00:15:44,080 而這也正是我們花了很多的我們 三個例子在週一的演講。 340 00:15:44,080 --> 00:15:47,650 在底部,我們叫什麼, 這個黑色的窗口,是嗎? 341 00:15:47,650 --> 00:15:48,640 >> 學生:編譯器? 342 00:15:48,640 --> 00:15:51,500 >> 大衛馬蘭:編譯我們 通過該窗口的方式進行訪問。 343 00:15:51,500 --> 00:15:53,040 但更普遍。 344 00:15:53,040 --> 00:15:54,540 是的,這只是一個終端窗口。 345 00:15:54,540 --> 00:15:57,780 這是一個古老的術語,只是 本質上描述了一個閃爍 346 00:15:57,780 --> 00:16:01,910 提示,多年前曾經是上 其中的一個大的CRT型的。 347 00:16:01,910 --> 00:16:04,300 但現在它的排序 的虛擬軟件。 348 00:16:04,300 --> 00:16:06,710 與終端窗口 讓我們輸入命令。 349 00:16:06,710 --> 00:16:11,750 它排序的簡化版本 用戶界面或UI的。 350 00:16:11,750 --> 00:16:14,060 這不是一個圖形 用戶界面或圖形用戶界面, 351 00:16:14,060 --> 00:16:17,250 它是一個基於文本的界面 或命令行界面。 352 00:16:17,250 --> 00:16:20,770 >> 而事實上這就是最終 我能寫一些代碼。 353 00:16:20,770 --> 00:16:24,200 有一次,我寫了,雖然一些代碼, 記得,我用這個命令。 354 00:16:24,200 --> 00:16:26,210 並且,因為它的名字 種暗示,這 355 00:16:26,210 --> 00:16:29,860 讓我做一個 程序名為Hello。 356 00:16:29,860 --> 00:16:33,400 但什麼是它真正在做什麼? 357 00:16:33,400 --> 00:16:36,180 以及化妝是把我的 輸入,我的源代碼, 358 00:16:36,180 --> 00:16:39,380 並且將其轉換到什麼,最後? 359 00:16:39,380 --> 00:16:40,060 >> 目標代碼。 360 00:16:40,060 --> 00:16:42,790 代碼和目標代碼只是一個花哨 說的零和一的方式。 361 00:16:42,790 --> 00:16:46,420 再一次,我希望 來運行的目標代碼, 362 00:16:46,420 --> 00:16:50,940 有一次我想通過輸入這些 零和一進我的電腦 363 00:16:50,940 --> 00:16:54,430 腦,所謂CPU的 或中央處理單元, 364 00:16:54,430 --> 00:16:55,730 我不得不運行程序。 365 00:16:55,730 --> 00:16:59,042 但它不是在星期一相當簡單 像剛才雙擊的一些圖標。 366 00:16:59,042 --> 00:17:01,375 而不是什麼都我來 做的,以運行一個程序? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> 什麼是第二個命令? 369 00:17:07,890 --> 00:17:09,619 我聽到一個小斜線? 370 00:17:09,619 --> 00:17:10,544 是的,是嗎? 371 00:17:10,544 --> 00:17:12,474 >> 學生:點和斜線 該程序的名稱。 372 00:17:12,474 --> 00:17:13,349 馬蘭大衛:沒錯。 373 00:17:13,349 --> 00:17:15,030 點斜線和程序的名稱。 374 00:17:15,030 --> 00:17:16,210 現在沒有什麼意思? 375 00:17:16,210 --> 00:17:19,470 好點僅僅是一個神秘的方式 的話說當前目錄。 376 00:17:19,470 --> 00:17:23,440 不管文件夾,你是在為 作為參考,表示為圓點。 377 00:17:23,440 --> 00:17:26,680 斜線正是你所看到的 在Mac OS和Windows多年, 378 00:17:26,680 --> 00:17:30,329 這是一個目錄之間的分隔符 或文件夾的一些名稱的其餘部分。 379 00:17:30,329 --> 00:17:32,620 在Windows中碰巧去 向後,在Linux和Mac 380 00:17:32,620 --> 00:17:34,210 操作系統它發生向前去。 381 00:17:34,210 --> 00:17:37,560 但是,這僅僅是分隔符,所以它的 只是一個無趣的語法細節。 382 00:17:37,560 --> 00:17:40,440 >> 當然,多汁的部分是 節目的名稱,您好。 383 00:17:40,440 --> 00:17:42,650 而這對於我們把創造的東西。 384 00:17:42,650 --> 00:17:44,910 它輸出的文件,對我們來說。 385 00:17:44,910 --> 00:17:46,700 但是,我們怎麼會到這一點? 386 00:17:46,700 --> 00:17:48,870 現在讓我們來問問 的問題,什麼是真正的 387 00:17:48,870 --> 00:17:52,470 會在這裡,至少在 考慮到一些這方面的語法呢? 388 00:17:52,470 --> 00:17:57,000 >> 因此,在一個句子或左右, 我們是如何解釋的距離 389 00:17:57,000 --> 00:17:59,020 這第一行的 以綠色突出顯示? 390 00:17:59,020 --> 00:18:02,998 那是什麼行頭做, 相對於我的程序? 391 00:18:02,998 --> 00:18:03,974 是嗎? 392 00:18:03,974 --> 00:18:05,067 >> 學生:[聽不清]。 393 00:18:05,067 --> 00:18:06,150 大衛馬蘭:再說一遍嗎? 394 00:18:06,150 --> 00:18:08,734 學生:包括和下載 過去的功能[聽不清]。 395 00:18:08,734 --> 00:18:09,483 大衛馬蘭:好。 396 00:18:09,483 --> 00:18:11,900 其中,我就不說了 下載,但讓我們說 397 00:18:11,900 --> 00:18:15,500 包括功能,人們 都寫在了過去。 398 00:18:15,500 --> 00:18:18,260 而這些功能的實現 某處在我的電腦。 399 00:18:18,260 --> 00:18:20,470 有人寫了一個文件 多年前,並且該文件 400 00:18:20,470 --> 00:18:23,490 是CS50內某處 家電,或在我的硬盤驅動器 401 00:18:23,490 --> 00:18:24,480 更普遍。 402 00:18:24,480 --> 00:18:27,810 因此該線基本上說 去找到那個文件,標準I / O點 403 00:18:27,810 --> 00:18:31,740 小時,複製和粘貼的內容 在這裡我文件頂部 404 00:18:31,740 --> 00:18:33,860 這樣我就不必 做手工自己。 405 00:18:33,860 --> 00:18:40,970 >> 而且裡面最豐厚的部分中 我們稱這個文件是什麼功能? 406 00:18:40,970 --> 00:18:45,740 什麼功能並說被宣布 或在標準I / O點ħ提到 407 00:18:45,740 --> 00:18:47,120 最有可能的? 408 00:18:47,120 --> 00:18:47,900 printf的,對不對? 409 00:18:47,900 --> 00:18:50,797 我們沒有寫上的printf 週一,它只是存在。 410 00:18:50,797 --> 00:18:52,880 就像阿拉納剛 站在舞台上,她只是 411 00:18:52,880 --> 00:18:55,540 存在並且知道如何繪製 屏幕上的對象, 412 00:18:55,540 --> 00:18:58,660 所以不會printf的多年存在。 413 00:18:58,660 --> 00:19:00,240 所以這是我們如何訪問它。 414 00:19:00,240 --> 00:19:03,280 現在,如果我們在這裡提出, 主要是類似的,我們 415 00:19:03,280 --> 00:19:06,620 在拼圖說 所謂當綠旗點擊 416 00:19:06,620 --> 00:19:07,620 在刮的世界。 417 00:19:07,620 --> 00:19:10,130 它的只是排序 在人類的默認名稱 418 00:19:10,130 --> 00:19:13,340 決定將代表 默認入口點的程序。 419 00:19:13,340 --> 00:19:16,540 的程序代碼的組塊 那被先執行。 420 00:19:16,540 --> 00:19:19,700 >> 同時這些花括號 種等的彎曲形狀 421 00:19:19,700 --> 00:19:21,410 對很多這些黃色划痕件。 422 00:19:21,410 --> 00:19:24,860 他們種封裝的整體 一串指令在一起。 423 00:19:24,860 --> 00:19:28,350 因此,它只是一種結合在一起 一些相關的功能。 424 00:19:28,350 --> 00:19:33,750 當然printf的是一個函數, 打印屏幕,因為我們只是做了。 425 00:19:33,750 --> 00:19:35,190 >> 那麼這些括號? 426 00:19:35,190 --> 00:19:38,770 即使你,你會怎麼define-- 從未編程之前,但只是基於 427 00:19:38,770 --> 00:19:41,320 現在越來越 希望直覺,什麼 428 00:19:41,320 --> 00:19:43,290 正在括號做我們在這裡? 429 00:19:43,290 --> 00:19:45,450 或者什麼是他們周圍? 430 00:19:45,450 --> 00:19:46,360 是嗎? 431 00:19:46,360 --> 00:19:49,360 >> 學生:他們在說什麼 你要打印帶的printf。 432 00:19:49,360 --> 00:19:52,401 >> 馬蘭大衛:是啊,他們是怎麼說的 你要打印帶的printf。 433 00:19:52,401 --> 00:19:56,260 或者更一般地,它們是 周圍的輸入的功能。 434 00:19:56,260 --> 00:19:58,530 所以你幾乎可以認為 這些括號 435 00:19:58,530 --> 00:20:01,620 作為是像金屬 夾在這剪貼板。 436 00:20:01,620 --> 00:20:05,940 這是什麼樣的控股,這是什麼 將要被用於提供參數 437 00:20:05,940 --> 00:20:08,500 入功能,其中在 這種情況被稱為printf的。 438 00:20:08,500 --> 00:20:12,390 >> 所以一般幾乎任何 一次,我們調用一個函數, 439 00:20:12,390 --> 00:20:14,280 我們將看到一對括號。 440 00:20:14,280 --> 00:20:17,000 也許有東西在裡面, 像現在,也許什麼也沒有。 441 00:20:17,000 --> 00:20:19,770 但是,這是在那裡你可以把 輸入或所謂的參數 442 00:20:19,770 --> 00:20:20,680 一個函數。 443 00:20:20,680 --> 00:20:22,470 >> 這裡有一個這樣的說法。 444 00:20:22,470 --> 00:20:24,467 我已經強調了一切 引號之間, 445 00:20:24,467 --> 00:20:26,300 因為事實證明, 在這種語言稱為 446 00:20:26,300 --> 00:20:29,950 C,當你想表示一個 string--這是一個單詞或短語 447 00:20:29,950 --> 00:20:33,470 甚至paragraph--你必須 用雙引號括起來。 448 00:20:33,470 --> 00:20:35,420 不是單引號,雙引號。 449 00:20:35,420 --> 00:20:37,460 而這正是我在這裡所做的。 450 00:20:37,460 --> 00:20:39,900 >> 同時有一個時髦的 象徵向著結束。 451 00:20:39,900 --> 00:20:41,600 反斜杠ñ。 452 00:20:41,600 --> 00:20:43,460 沒有說什麼代表? 453 00:20:43,460 --> 00:20:44,093 是嗎? 454 00:20:44,093 --> 00:20:44,980 >> 學生:一個新行。 455 00:20:44,980 --> 00:20:45,896 >> 大衛馬蘭:新行。 456 00:20:45,896 --> 00:20:47,910 對了,你不 一般敲回車時 457 00:20:47,910 --> 00:20:50,430 你想要的程序 吐出一個新行。 458 00:20:50,430 --> 00:20:54,210 而你明確告訴它 這個公認的晦澀作品 459 00:20:54,210 --> 00:20:58,770 語法,反斜線N,即 你想要一個新的生產線去那裡。 460 00:20:58,770 --> 00:20:59,810 最後的分號。 461 00:20:59,810 --> 00:21:01,560 我們真的不說話 太多關於這一點, 462 00:21:01,560 --> 00:21:04,893 而到目前為止,這將是一些禍根 你的存在對於第一個問題的 463 00:21:04,893 --> 00:21:07,990 設置,當你只是沒有意識到 你忘了什麼是愚蠢的 464 00:21:07,990 --> 00:21:08,614 作為一個分號。 465 00:21:08,614 --> 00:21:11,600 一般把它 會解決這個問題。 466 00:21:11,600 --> 00:21:13,511 但是,什麼是它做的 對我們來說,你會說什麼? 467 00:21:13,511 --> 00:21:15,670 >> 學生:[聽不清]。 468 00:21:15,670 --> 00:21:17,484 >> 大衛馬蘭:對不起? 469 00:21:17,484 --> 00:21:18,532 >> 學生:[聽不清]。 470 00:21:18,532 --> 00:21:19,990 大衛馬蘭:整理一份聲明。 471 00:21:19,990 --> 00:21:22,770 這有點像在期限 英語句子的末尾, 472 00:21:22,770 --> 00:21:25,790 而在這門語言 C中,它的結尾的語句。 473 00:21:25,790 --> 00:21:29,250 編程的指令 你剛才想說的代碼, 474 00:21:29,250 --> 00:21:30,500 我做這個。 475 00:21:30,500 --> 00:21:32,240 現在發現這是這裡唯一的一個。 476 00:21:32,240 --> 00:21:34,614 所以,你不想得到 把分號的習慣 477 00:21:34,614 --> 00:21:36,190 以後每隔封閉括號。 478 00:21:36,190 --> 00:21:38,610 比如有沒有 接下來作廢,我們將 479 00:21:38,610 --> 00:21:40,430 回來以後 什麼無效的手段。 480 00:21:40,430 --> 00:21:44,080 但在這種情況下,你的printf是 功能,或正在使用的聲明, 481 00:21:44,080 --> 00:21:47,420 所以我們希望有 總站在它的盡頭。 482 00:21:47,420 --> 00:21:50,980 >> 而且我特意挑選的。和 坦率地說了很多,如C,C + +語言, 483 00:21:50,980 --> 00:21:55,000 的Java,JavaScript和任何數量的 其他的語言有很多這樣的 484 00:21:55,000 --> 00:21:56,730 之類的語法細節。 485 00:21:56,730 --> 00:22:00,120 這當然如果你是新來 節目能真正你絆倒。 486 00:22:00,120 --> 00:22:02,307 而且你會記住我 也就是說,有些人會 487 00:22:02,307 --> 00:22:04,140 有這方面的經驗 在辦公時間或延遲 488 00:22:04,140 --> 00:22:07,554 在晚上工作的一些對集,其中 你那該死的程序就是不編譯, 489 00:22:07,554 --> 00:22:09,470 它不跑,你有 不知道什麼是錯的, 490 00:22:09,470 --> 00:22:11,513 它似乎完全 邏輯上正確的給你。 491 00:22:11,513 --> 00:22:13,596 而且那是因為你忘了 像打 492 00:22:13,596 --> 00:22:15,250 分號一些行的末尾。 493 00:22:15,250 --> 00:22:17,590 >> 但這些都是各種各樣的事情你 要立即學會看。 494 00:22:17,590 --> 00:22:20,048 而事實上這些都是事 該CA的和TF的有 495 00:22:20,048 --> 00:22:23,210 那種被訓練來看看 速度遠遠超過你。 496 00:22:23,210 --> 00:22:26,610 因此,這只是說,因為你 潛入問題集1特別是, 497 00:22:26,610 --> 00:22:28,217 不要沮喪了這個東西。 498 00:22:28,217 --> 00:22:30,050 一旦那種你適應 走向世界,你 499 00:22:30,050 --> 00:22:35,130 開始看到的東西,你可能不 看第一眼第一週。 500 00:22:35,130 --> 00:22:37,440 >> 因此,源代碼是類似的東西。 501 00:22:37,440 --> 00:22:40,370 我們想通過成 所謂的編譯器。 502 00:22:40,370 --> 00:22:42,850 和編譯器 我們所說的輸出提供 503 00:22:42,850 --> 00:22:45,660 稱為目標代碼,該 所謂的零和一。 504 00:22:45,660 --> 00:22:47,747 但是從那裡,是什麼給我們? 505 00:22:47,747 --> 00:22:49,080 那麼它給了我們這些模式。 506 00:22:49,080 --> 00:22:52,020 並再次在您的計算機, 英特爾內部, 507 00:22:52,020 --> 00:22:54,350 理解這些模式 的零和一。 508 00:22:54,350 --> 00:22:57,300 有時格局 表示實際的十進制數 509 00:22:57,300 --> 00:22:59,770 正如我們上週所看到的,有時 它代表的一封信 510 00:22:59,770 --> 00:23:02,730 就像我們上週看到的,有時 它代表一個指令, 511 00:23:02,730 --> 00:23:05,460 像打印的東西到屏幕上。 512 00:23:05,460 --> 00:23:08,782 >> 所以printf進行instance-- 而是讓我退。 513 00:23:08,782 --> 00:23:11,240 我們已經採取理所當然 那些零和一的 514 00:23:11,240 --> 00:23:14,200 通過這個命令彩妝生產。 515 00:23:14,200 --> 00:23:16,050 但要是不是一個編譯器。 516 00:23:16,050 --> 00:23:19,370 使是沒有的事,中間 該公司生產的零和一。 517 00:23:19,370 --> 00:23:23,780 寧可僅僅是一個很方便的 命名的程序,其目的在生活中 518 00:23:23,780 --> 00:23:27,267 本質上是要弄清楚 如何編譯你的程序。 519 00:23:27,267 --> 00:23:29,350 我們用它在這些 第一個星期,因為它只是 520 00:23:29,350 --> 00:23:30,910 為我們節省了很多麻煩。 521 00:23:30,910 --> 00:23:34,080 >> 但是什麼使真 當你編譯你好做, 522 00:23:34,080 --> 00:23:36,690 是,正如我們上次講的,它是 期待您的硬盤驅動器上 523 00:23:36,690 --> 00:23:40,620 或當前文件夾中, 所謂的文件是什麼,顯然? 524 00:23:40,620 --> 00:23:41,815 HELLO.C,對不對? 525 00:23:41,815 --> 00:23:43,190 這只是一種一項公約。 526 00:23:43,190 --> 00:23:45,620 這是任意的,但 這就是事物的本質。 527 00:23:45,620 --> 00:23:48,620 做,如果你只是指定名稱 一個並不存在的項目, 528 00:23:48,620 --> 00:23:52,200 它會查找源代碼 在文件中,默認情況下是指的hello.c。 529 00:23:52,200 --> 00:23:53,530 如果找到了,太棒了。 530 00:23:53,530 --> 00:23:56,650 這將轉換的源 代碼轉換成你的目標代碼。 531 00:23:56,650 --> 00:23:59,670 >> 但每次我按Enter 運行make招呼後, 532 00:23:59,670 --> 00:24:03,560 你還記得看到最後一次 相當長的和神秘的序列 533 00:24:03,560 --> 00:24:06,430 其他白色字母和 字符在屏幕上? 534 00:24:06,430 --> 00:24:11,220 嗯,這是實際的指令, 實際的編譯器,這是在運行。 535 00:24:11,220 --> 00:24:15,500 因此,實際的編譯器,我們將使用最 本學期是一種叫做鐺。 536 00:24:15,500 --> 00:24:19,280 你們有些人可能已經使用 Visual Studio中之前,還是海灣合作委員會, 537 00:24:19,280 --> 00:24:21,340 或任何其他的編譯器。 538 00:24:21,340 --> 00:24:22,620 我們將用鏗鏘。 539 00:24:22,620 --> 00:24:26,950 >> 和鐺使我們能夠真正轉換 該源代碼,目標代碼​​。 540 00:24:26,950 --> 00:24:29,430 這是什麼其實 在實踐中意味著? 541 00:24:29,430 --> 00:24:33,390 那麼,讓我進入一個 我的文件夾從最後一次。 542 00:24:33,390 --> 00:24:35,760 裡面的CS50器具。 543 00:24:35,760 --> 00:24:42,080 讓我繼續前進,創造這個 相同的文件,包括標準的I / O點小時。 544 00:24:42,080 --> 00:24:42,875 INT主要作廢。 545 00:24:42,875 --> 00:24:46,000 我們會回來的將來 什麼詮釋方式,什麼無效的方法。 546 00:24:46,000 --> 00:24:49,130 但現在讓我們做 你好世界反斜線N, 547 00:24:49,130 --> 00:24:50,500 就像我們做在黑板上。 548 00:24:50,500 --> 00:24:53,930 >> 讓我保存這個文件名為hello.c的。 549 00:24:53,930 --> 00:24:58,280 而現在,如果我想要編譯該 ícould--讓我放大in--運行 550 00:24:58,280 --> 00:25:00,450 讓你好進入。 551 00:25:00,450 --> 00:25:02,645 而這又是 這很神秘的線。 552 00:25:02,645 --> 00:25:05,120 但現在至少有一個字 可能跳出你。 553 00:25:05,120 --> 00:25:07,087 鐺就是我們之前看到的那條線。 554 00:25:07,087 --> 00:25:10,420 現在有很多其他的東西坦白 我們會揮舞手上的今天。 555 00:25:10,420 --> 00:25:14,020 但是有幾個子集, 在這幾個字符 556 00:25:14,020 --> 00:25:14,907 這是感興趣的。 557 00:25:14,907 --> 00:25:16,490 不過,我要繼續前進,做到這一點。 558 00:25:16,490 --> 00:25:18,281 我將第一次運行 你好,只是為了證明 559 00:25:18,281 --> 00:25:20,320 這是工作,因為它是星期一。 560 00:25:20,320 --> 00:25:22,330 但現在我要刪除的程序。 561 00:25:22,330 --> 00:25:25,870 而就像我們有這些 短名稱最後一次, 562 00:25:25,870 --> 00:25:29,787 除去命令 什麼是RM,刪除,回車。 563 00:25:29,787 --> 00:25:31,870 你會得到一些 很古怪的問題。 564 00:25:31,870 --> 00:25:35,210 很難相信,你可以 即使這個問題不難理解。 565 00:25:35,210 --> 00:25:38,100 但是,刪除普通文件只是打招呼 要刪除打招呼方式去做。 566 00:25:38,100 --> 00:25:42,650 >> 我可以繼續鍵入y,以 是的,輸入的,現在它不見了。 567 00:25:42,650 --> 00:25:45,130 這是什麼意思,現在, 如果清除我的屏幕上, 568 00:25:45,130 --> 00:25:47,301 是代替 這樣做使hello--你 569 00:25:47,301 --> 00:25:48,800 知道嗎,我越來越擅長這個。 570 00:25:48,800 --> 00:25:50,690 我要運行編譯器自己。 571 00:25:50,690 --> 00:25:53,330 我並不需要一些程序 弄清楚我的文件就會被調用。 572 00:25:53,330 --> 00:25:55,370 我寫的hello.c,我 知道它叫什麼, 573 00:25:55,370 --> 00:25:57,640 我很清楚地能打字了的。 574 00:25:57,640 --> 00:26:02,620 所以我要繼續前進 做鐺的hello.c輸入。 575 00:26:02,620 --> 00:26:03,264 >> 似乎工作。 576 00:26:03,264 --> 00:26:05,930 而且也沒有額外的輸出, 因為鐺是編譯器。 577 00:26:05,930 --> 00:26:08,590 這是什麼樣的轉換 源代碼的零和一。 578 00:26:08,590 --> 00:26:12,870 所以,如果我現在做點 斜線你好輸入,HM。 579 00:26:12,870 --> 00:26:14,630 今天新的錯誤消息。 580 00:26:14,630 --> 00:26:17,610 所以bash是正義的名義 眨眼,我們正在使用的提示。 581 00:26:17,610 --> 00:26:20,360 這是一個過於簡單化, 但現在這一切就是, 582 00:26:20,360 --> 00:26:21,401 它的閃爍提示。 583 00:26:21,401 --> 00:26:22,880 這就是為什麼它朝著我們大喊大叫。 584 00:26:22,880 --> 00:26:25,690 >> 沒有這樣的文件或目錄 多一點簡單。 585 00:26:25,690 --> 00:26:28,190 但可以肯定我做的目標代碼。 586 00:26:28,190 --> 00:26:30,930 但美中不足的是,這 如果我輸入的命令 587 00:26:30,930 --> 00:26:34,650 列出了這樣的內容 目錄中,這是什麼? 588 00:26:34,650 --> 00:26:36,210 LS的列表。 589 00:26:36,210 --> 00:26:39,332 有一堆東西在這裡, 其中一些附帶的設備, 590 00:26:39,332 --> 00:26:42,040 像我的桌面文件夾,下載 文件夾,Dropbox文件夾,並且所有 591 00:26:42,040 --> 00:26:42,850 這些東西。 592 00:26:42,850 --> 00:26:45,410 但有趣的是, 是的hello.c,這 593 00:26:45,410 --> 00:26:47,286 我創建了一個剛才用gedit。 594 00:26:47,286 --> 00:26:49,160 什麼是最怪異的 看名字在這裡, 595 00:26:49,160 --> 00:26:53,110 或許,我們沒有 看到最後一次呢? 596 00:26:53,110 --> 00:26:54,710 >> a.out的,對不對? 597 00:26:54,710 --> 00:26:56,920 因此,早在一天,它 剛剛決定,當 598 00:26:56,920 --> 00:26:58,760 編譯程序 對於第一次, 599 00:26:58,760 --> 00:27:02,360 你沒有指定名稱 一個文件,讓我們把它叫做。 600 00:27:02,360 --> 00:27:05,800 和a.out的意思只是,這是 編譯器的輸出。 601 00:27:05,800 --> 00:27:07,790 因此,它是一個程序一個可怕的名字。 602 00:27:07,790 --> 00:27:12,820 但是,這種邏輯,點大幅削減 當前目錄下,削減的a.out, 603 00:27:12,820 --> 00:27:16,102 應該是說有其實 我的Hello World程序。 604 00:27:16,102 --> 00:27:17,560 現在,一個小熱身運動了。 605 00:27:17,560 --> 00:27:20,420 如果我要重新命名此 文件,原來你 606 00:27:20,420 --> 00:27:23,000 從一個名移動一個文件到另一個。 607 00:27:23,000 --> 00:27:28,750 所以MV的a.out,然後我 可以稱之為你好Enter鍵。 608 00:27:28,750 --> 00:27:30,940 所以這是一個Linux命令。 609 00:27:30,940 --> 00:27:34,370 DOS有這個年前, Windows有一個終端窗口 610 00:27:34,370 --> 00:27:36,460 一些看起來的 這樣,Linux和Mac 611 00:27:36,460 --> 00:27:38,140 電腦有這樣的閃爍提示。 612 00:27:38,140 --> 00:27:41,490 雖然我們大多數人可能 很少,如果有的話,使用它。 613 00:27:41,490 --> 00:27:44,590 >> 但我做了什麼是運行 程序,其名稱是MV, 614 00:27:44,590 --> 00:27:47,900 我已經向它提供 兩個參數,可以這麼說。 615 00:27:47,900 --> 00:27:48,630 兩個輸入。 616 00:27:48,630 --> 00:27:50,260 a.out的是原來的名稱。 617 00:27:50,260 --> 00:27:51,630 你好是新名稱。 618 00:27:51,630 --> 00:27:55,670 所以,如果我現在做點斜線 你好,回車,即存在。 619 00:27:55,670 --> 00:28:00,770 如果我做點斜線的a.out, 你能指望我應該看什麼? 620 00:28:00,770 --> 00:28:02,250 >> 擊,沒有這樣的文件或目錄。 621 00:28:02,250 --> 00:28:03,350 因為我只是給它改名。 622 00:28:03,350 --> 00:28:04,975 因此,這需要一點時間來適應。 623 00:28:04,975 --> 00:28:06,977 但問題集1 規範將真正 624 00:28:06,977 --> 00:28:08,810 通過牽你的手 一些本minutae的。 625 00:28:08,810 --> 00:28:11,050 因為這是一個完整的 知識產權分心 626 00:28:11,050 --> 00:28:12,966 從更有趣 創意就在眼前,這 627 00:28:12,966 --> 00:28:15,310 實際上是創造 出來的東西代碼。 628 00:28:15,310 --> 00:28:18,830 但是,讓我們做一處修改 現在這個計劃。 629 00:28:18,830 --> 00:28:23,150 >> 回想一下,上次我做了一件 這樣,printf的說出你的名字。 630 00:28:23,150 --> 00:28:25,790 而事實上,我們只是做了該 在大屏幕上在那邊。 631 00:28:25,790 --> 00:28:30,640 然後我做字符串s變 GetString的開括號,括號接近。 632 00:28:30,640 --> 00:28:33,430 和括號只是速記 符號的括號。 633 00:28:33,430 --> 00:28:36,460 因此,沒有GetString的任何參數? 634 00:28:36,460 --> 00:28:38,440 沒有不投入,但它 需要括號, 635 00:28:38,440 --> 00:28:41,830 因為這是劃定 一個函數的調用。 636 00:28:41,830 --> 00:28:46,440 >> 所以我要繼續前進,並嘗試 現在運行的編譯器上這個節目。 637 00:28:46,440 --> 00:28:50,774 鏗鏘的hello.c,因為我 沒有現在改名。 638 00:28:50,774 --> 00:28:51,940 我有一大堆的錯誤。 639 00:28:51,940 --> 00:28:53,570 讓我們縮小在這裡。 640 00:28:53,570 --> 00:28:55,420 如果我滾動了一遍, 就像我說最後一次, 641 00:28:55,420 --> 00:28:58,420 到第一,相同的錯誤 我得到了最後一次。 642 00:28:58,420 --> 00:29:04,210 在hello.c中的第6行我有一個 未聲明的標識符字符串, 643 00:29:04,210 --> 00:29:05,590 沒有我的意思是在標準? 644 00:29:05,590 --> 00:29:06,750 我沒有。 645 00:29:06,750 --> 00:29:10,050 因為什麼樣的錯誤,我是用這個做 程序,如果從上一次召回? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 是的,我們需要的 所謂訓練輪 648 00:29:15,010 --> 00:29:16,510 我們就用了幾個星期。 649 00:29:16,510 --> 00:29:19,480 但我需要指定另外, 某處的器具的內部, 650 00:29:19,480 --> 00:29:22,720 是,我們寫了一個文件 就在幾年前。 651 00:29:22,720 --> 00:29:26,500 其內部是功能 就像顯然GetString的。 652 00:29:26,500 --> 00:29:35,160 所以,現在如果我去背下來在這裡, 放大,並重新運行鐺的hello.c。 653 00:29:35,160 --> 00:29:36,500 媽的,另一個錯誤。 654 00:29:36,500 --> 00:29:38,590 但我們還沒有看到過這一項。 655 00:29:38,590 --> 00:29:41,900 >> 這其中的多一點 深奧弄清楚。 656 00:29:41,900 --> 00:29:46,910 但是,這是故意的屏幕上, 因為我們想講這個故事。 657 00:29:46,910 --> 00:29:51,280 當你編譯的hello.c,就像 圖片來自前提出, 658 00:29:51,280 --> 00:29:54,650 你只是轉換了 源代碼的零和一。 659 00:29:54,650 --> 00:30:00,340 現在CS50的工作人員,幾年前寫的 CS50.h,並有相應的文件, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 而我們,幾年前, 編譯這些文件 662 00:30:04,490 --> 00:30:07,290 到出現這種情況的文件 被稱為CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> 或者也可以重命名的 一些不同的東西。 664 00:30:09,180 --> 00:30:11,054 但是,這是一個簡單的方法 的考慮。 665 00:30:11,054 --> 00:30:14,960 所以我們做了CS50的 圖書館成零和一。 666 00:30:14,960 --> 00:30:20,340 但無處我已指定 我想結合我的零 667 00:30:20,340 --> 00:30:24,030 和那些對我的hello world 計劃與零和一 668 00:30:24,030 --> 00:30:29,760 該CS50人員創建了幾年 前成一個完整的程序。 669 00:30:29,760 --> 00:30:34,100 所有我所指定的寫作 鐺的hello.c是編譯的hello.c。 670 00:30:34,100 --> 00:30:38,380 >> 我還沒有告訴鐺來 在零和一的鏈接 671 00:30:38,380 --> 00:30:41,650 創建CS50人員 你前一段時間。 672 00:30:41,650 --> 00:30:48,280 所以這是一個簡單的辦法, 衝升的鏈接,CS50。 673 00:30:48,280 --> 00:30:52,600 我們會再次看到這個 沒過多久連連。 674 00:30:52,600 --> 00:30:54,420 但是現在發現,沒有投訴。 675 00:30:54,420 --> 00:30:59,770 所以,現在如果我跑點斜線 您好,現在它的工作。 676 00:30:59,770 --> 00:31:03,840 雖然這是一個有點誤導 因為我剛剛重新哪些文件? 677 00:31:03,840 --> 00:31:05,880 a.out的。 678 00:31:05,880 --> 00:31:07,930 >> 因此,讓我退了一會兒就好了。 679 00:31:07,930 --> 00:31:10,900 我們剛剛編譯的程序 有三行代碼。 680 00:31:10,900 --> 00:31:14,710 當我跑世界你好,你好一會兒 以前,我沒看到你的名字。 681 00:31:14,710 --> 00:31:17,080 那是因為我跑了 老版本的程序。 682 00:31:17,080 --> 00:31:22,700 但是,如果我確實跑點斜線的a.out 輸入,說出你的名字,羅布,你好, 683 00:31:22,700 --> 00:31:23,370 世界。 684 00:31:23,370 --> 00:31:23,870 嗯。 685 00:31:23,870 --> 00:31:26,110 這是怎樣的一個錯誤。 686 00:31:26,110 --> 00:31:28,560 大概的意思是說搶了吧? 687 00:31:28,560 --> 00:31:30,997 那麼什麼是固定在這裡的代碼。 688 00:31:30,997 --> 00:31:31,872 學生:[聽不清]。 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 馬蘭大衛:沒錯。 691 00:31:39,290 --> 00:31:43,160 所以我只需要做出最後的好辦法 讓我傳遞一個佔位符, 692 00:31:43,160 --> 00:31:45,690 如在空白填充, 就像我們剛才做了。 693 00:31:45,690 --> 00:31:47,870 但百分之s是現在 這填補了空白。 694 00:31:47,870 --> 00:31:52,100 所以,最後我們發現最後一個 這樣的細節,有沒有魔法。 695 00:31:52,100 --> 00:31:54,090 我要繼續前進 並擺脫hellow的。 696 00:31:54,090 --> 00:31:56,070 我要繼續前進 和擺脫的a.out的。 697 00:31:56,070 --> 00:31:58,410 所以現在我沒有計劃, 只是我的源代碼。 698 00:31:58,410 --> 00:32:01,100 我要去跑 稍長的命令,鐺 699 00:32:01,100 --> 00:32:05,650 衝Ø你好hello.c的衝刺LCS50。 700 00:32:05,650 --> 00:32:08,700 >> 現在,這是開始排序去 在左耳進右耳出的其他可能。 701 00:32:08,700 --> 00:32:10,366 但就取笑除了這是什麼做的。 702 00:32:10,366 --> 00:32:14,910 鐺是編譯器,儀表板LCS50 故意在最後 703 00:32:14,910 --> 00:32:18,330 在一個句子裡做什麼? 704 00:32:18,330 --> 00:32:19,607 鏈接到CS50庫。 705 00:32:19,607 --> 00:32:21,440 抓住零和 那些員工做 706 00:32:21,440 --> 00:32:23,310 和crams成我自己的計劃。 707 00:32:23,310 --> 00:32:27,040 所以手頭上的最後一個問題是, 什麼是破折號Ø你好可能 708 00:32:27,040 --> 00:32:30,530 這樣做,即使你從來沒有 以前見過這種語法? 709 00:32:30,530 --> 00:32:34,920 >> 輸出一個程序,是 未命名缺省的a.out。 710 00:32:34,920 --> 00:32:37,330 相反,它的命名打招呼。 711 00:32:37,330 --> 00:32:39,460 所以現在還沒有a.out的。 712 00:32:39,460 --> 00:32:42,660 沒有這樣的文件或目錄, 因為我明確地說, 713 00:32:42,660 --> 00:32:46,720 這個程序叫做打招呼,讓 我現在可以輸入這樣的名字 714 00:32:46,720 --> 00:32:47,790 並將其行為。 715 00:32:47,790 --> 00:32:50,180 >> 現在坦率地說,男孩是 無趣的有 716 00:32:50,180 --> 00:32:52,170 要記住這一切 小細節,對不對? 717 00:32:52,170 --> 00:32:54,180 因此,讓我們繼續前進, 再次擺脫打招呼的。 718 00:32:54,180 --> 00:32:57,880 讓我們回到一個世界 它足以讓說你好。 719 00:32:57,880 --> 00:33:00,410 但是,這就是魔法 讓為你做的, 720 00:33:00,410 --> 00:33:02,320 這就是乏味的 它為你做。 721 00:33:02,320 --> 00:33:04,630 而作為我們的計劃和 問題變得更複雜, 722 00:33:04,630 --> 00:33:06,142 使將真正成為你的朋友。 723 00:33:06,142 --> 00:33:07,850 因為不會太長 從現在開始我們要 724 00:33:07,850 --> 00:33:11,150 到具有所編寫的程序 不是一個文件,而是幾個文件, 725 00:33:11,150 --> 00:33:16,310 並會自動的過程 編譯所有這一切讓我們在一起。 726 00:33:16,310 --> 00:33:20,620 >> 所以,現在打印。 727 00:33:20,620 --> 00:33:24,960 printf的是這個文件裡面,標準 I / O點的小時,我們已經看到過, 728 00:33:24,960 --> 00:33:26,980 但有更多的printf比。 729 00:33:26,980 --> 00:33:30,482 有反斜線N,但也有 一堆其他的轉義序列。 730 00:33:30,482 --> 00:33:32,940 和轉義序列僅僅是一個 的說著什麼奇特的方式 731 00:33:32,940 --> 00:33:35,990 以反斜杠開始, 不是一個正斜杠,反斜杠, 732 00:33:35,990 --> 00:33:37,920 並做了一些特別的東西。 733 00:33:37,920 --> 00:33:43,770 我們不會糾纏於其中的大多數, 但為什麼會出現反斜杠雙引號, 734 00:33:43,770 --> 00:33:44,830 你覺得呢? 735 00:33:44,830 --> 00:33:48,010 為什麼會出現這種奇怪的序列 字符,反斜線雙引號, 736 00:33:48,010 --> 00:33:50,505 為什麼會是這樣有用嗎? 737 00:33:50,505 --> 00:33:51,380 學生:[聽不清]。 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 馬蘭大衛:沒錯,對不對? 740 00:33:57,760 --> 00:34:01,830 回想一下我們的Hello World程序 我們已經見過不少次了, 741 00:34:01,830 --> 00:34:05,880 每一次,我們已經看到的Hello World 方案我們內部有雙引號 742 00:34:05,880 --> 00:34:08,210 這是打招呼逗號 世界反斜杠ñ。 743 00:34:08,210 --> 00:34:10,070 但想到自己, 如果你究竟是什麼 744 00:34:10,070 --> 00:34:12,520 想打印出一個引號? 745 00:34:12,520 --> 00:34:16,100 你的第一反應可能是,我不 知道我為什麼會想在這裡do--, 746 00:34:16,100 --> 00:34:18,780 我們可以稍微被動 積極的,你好的朋友。 747 00:34:18,780 --> 00:34:21,350 我們可能需要做這樣的事情。 748 00:34:21,350 --> 00:34:25,230 >> 但是,為什麼是現在這個問題? 749 00:34:25,230 --> 00:34:28,730 無視彎引號放在一邊 基調為我們自動完成。 750 00:34:28,730 --> 00:34:29,730 這是為什麼有問題? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> 沒錯。 753 00:34:37,270 --> 00:34:39,022 因為我們有像4引號。 754 00:34:39,022 --> 00:34:41,230 以及第一個可能 去與第二個, 755 00:34:41,230 --> 00:34:43,271 也許第四個 去與第三個, 756 00:34:43,271 --> 00:34:46,170 或者,我是說我什至不知道, 也不是計算機將是。 757 00:34:46,170 --> 00:34:48,352 再次計算機,編譯器 再次,是相當愚蠢的。 758 00:34:48,352 --> 00:34:50,060 他們只會做什麼 你告訴他們做什麼。 759 00:34:50,060 --> 00:34:54,270 如果你不明確自己 很可能會引發錯誤。 760 00:34:54,270 --> 00:34:57,700 >> 如果你不明確就如何 做花生醬和果凍三明治 761 00:34:57,700 --> 00:34:59,510 奇怪的事情可能會到達。 762 00:34:59,510 --> 00:35:00,580 這是同樣的想法。 763 00:35:00,580 --> 00:35:03,100 現在,我只想說有 其他一些轉義序列, 764 00:35:03,100 --> 00:35:04,820 不過我們會找到那些用不了多久。 765 00:35:04,820 --> 00:35:07,410 本質上這些逃生 序列代表什麼 766 00:35:07,410 --> 00:35:10,480 你可能無法 太容易在鍵盤上, 767 00:35:10,480 --> 00:35:12,010 沒有混淆的計算機。 768 00:35:12,010 --> 00:35:15,733 >> 現在,與此同時,我們 佔位符的printf。 769 00:35:15,733 --> 00:35:19,630 %的D,它也可以寫成 在幾乎所有情況下的百分之一, 770 00:35:19,630 --> 00:35:21,610 是一個佔位符的數據是什麼類型的? 771 00:35:21,610 --> 00:35:23,920 什麼樣的價值? 772 00:35:23,920 --> 00:35:24,920 十進制數。 773 00:35:24,920 --> 00:35:27,234 所以實際上,我們將開始 使用%的I,因為它是 774 00:35:27,234 --> 00:35:28,650 比較簡單,就像一個整數。 775 00:35:28,650 --> 00:35:29,550 %的I。 776 00:35:29,550 --> 00:35:31,320 一個整數,它恰好是小數。 777 00:35:31,320 --> 00:35:35,690 >> 百分比Š我們已經說了 佔位符的字符串。 778 00:35:35,690 --> 00:35:38,630 這僅僅是一個詞,一個短語, 一個段落,一篇論文,等等。 779 00:35:38,630 --> 00:35:40,830 這是一個序列 一些長度的字符。 780 00:35:40,830 --> 00:35:42,820 我們將不久看到 一些其他的。 781 00:35:42,820 --> 00:35:45,950 但百分之c是單個字符。 782 00:35:45,950 --> 00:35:48,500 百分比f是一個 浮點數 783 00:35:48,500 --> 00:35:50,860 這樣有一個實數 在這一個小數點,這 784 00:35:50,860 --> 00:35:52,550 當然不是一個整數。 785 00:35:52,550 --> 00:35:54,670 並有一個整體 一群人也是如此。 786 00:35:54,670 --> 00:35:56,990 >> 同時,在C和 在許多語言中, 787 00:35:56,990 --> 00:35:58,650 我們有不同的數據類型。 788 00:35:58,650 --> 00:36:00,650 不同類型的 玻璃碗,如果你會的。 789 00:36:00,650 --> 00:36:03,830 碗我用最後一次 是為乒乓球, 790 00:36:03,830 --> 00:36:06,990 但是,我們還可以存儲不同 如字符和字符串值 791 00:36:06,990 --> 00:36:10,820 並在容器中的整數, 就像一個變量,而C有這些。 792 00:36:10,820 --> 00:36:14,020 char是數據的類型, 變量的類型, 793 00:36:14,020 --> 00:36:15,700 您可以在其中存儲的字符。 794 00:36:15,700 --> 00:36:19,560 浮球是一個類型的變量 它可以存儲一個實數。 795 00:36:19,560 --> 00:36:21,220 >> INT當然是一個int。 796 00:36:21,220 --> 00:36:23,760 和相當可笑 命名很長很長 797 00:36:23,760 --> 00:36:26,830 在這裡,你基本上可以存儲 一個很長的數字,連 798 00:36:26,830 --> 00:36:29,930 更多的數字則 典型的詮釋可能存儲。 799 00:36:29,930 --> 00:36:32,420 但我們會回來用不了多久。 800 00:36:32,420 --> 00:36:35,520 >> 在CS50點ħ同時 在其他的頭文件 801 00:36:35,520 --> 00:36:37,630 我們已經看到一對夫婦 在使用時間,有 802 00:36:37,630 --> 00:36:41,350 另外兩種數據類型 不要在C中存在的典型。 803 00:36:41,350 --> 00:36:45,000 一個是字符串,我們會看到在 幾個星期什麼真正的字符串 804 00:36:45,000 --> 00:36:46,610 在引擎蓋下方。 805 00:36:46,610 --> 00:36:47,950 一個是布爾值。 806 00:36:47,950 --> 00:36:51,650 和一個bool是一個變量, 可以只對特定的值。 807 00:36:51,650 --> 00:36:54,370 而只是根據上週的 划痕的解釋, 808 00:36:54,370 --> 00:36:56,680 以及最近C, 你會猜想 809 00:36:56,680 --> 00:37:01,770 有兩個可能的值 有些容器是bool類型? 810 00:37:01,770 --> 00:37:02,860 >> 是的,沒有。 811 00:37:02,860 --> 00:37:03,870 1和0。 812 00:37:03,870 --> 00:37:04,502 真的還是假的。 813 00:37:04,502 --> 00:37:07,460 事實上就這麼容易的最後 是傳統的編程 814 00:37:07,460 --> 00:37:10,030 語言,說什麼 像真或假。 815 00:37:10,030 --> 00:37:13,160 >> 同時,CS50庫來 一堆的功能 816 00:37:13,160 --> 00:37:16,640 該工作人員為你寫的, 除了剛開始的字符串。 817 00:37:16,640 --> 00:37:20,910 我們提前職能寫道, 可以從用戶獲得的整數, 818 00:37:20,910 --> 00:37:22,990 得到一個字符, 得到一個浮點數,即 819 00:37:22,990 --> 00:37:25,160 僅僅是一個數字的小數點。 820 00:37:25,160 --> 00:37:28,290 得到一個很長很長,真的 從用戶的大值。 821 00:37:28,290 --> 00:37:30,930 因此,我們只看到這 動作中的Ge​​tString的形式。 822 00:37:30,930 --> 00:37:33,230 但是,通過這些功能 很快就可以寫 823 00:37:33,230 --> 00:37:36,070 即獲得來自用戶的輸入的程序。 824 00:37:36,070 --> 00:37:39,230 >> 同時考慮這 計劃,並考慮 825 00:37:39,230 --> 00:37:42,600 我們怎麼可能現在就開始增加 將其與新的構建體。 826 00:37:42,600 --> 00:37:44,530 快速旋風之旅 然後我們將看看 827 00:37:44,530 --> 00:37:47,340 一些寫一些 手動程序自己。 828 00:37:47,340 --> 00:37:49,700 今後如果我們想 實施條件, 829 00:37:49,700 --> 00:37:52,790 它不會看起來像一個 可愛的小漂亮的拼圖。 830 00:37:52,790 --> 00:37:54,460 這將看起來多了幾分神秘的。 831 00:37:54,460 --> 00:37:57,620 但是,這是典型的 在C的條件下結構 832 00:37:57,620 --> 00:38:00,380 >> 這個詞,如果兩 括號,裡面其中 833 00:38:00,380 --> 00:38:02,590 將是某種形式的 布爾表達式。 834 00:38:02,590 --> 00:38:04,999 現在斜線斜線 在中間,這是 835 00:38:04,999 --> 00:38:07,290 此刻有點像 偽代碼的佔位符。 836 00:38:07,290 --> 00:38:11,576 但更正確,任何一行代碼 在C中,與斜線斜線開始 837 00:38:11,576 --> 00:38:12,850 是一條評論。 838 00:38:12,850 --> 00:38:15,920 >> 這就像一個便條,你可能 換上的文章,印在紙上。 839 00:38:15,920 --> 00:38:17,290 這是一張紙條給自己。 840 00:38:17,290 --> 00:38:20,100 它沒有的功能 對方案的影響。 841 00:38:20,100 --> 00:38:23,580 這有點提醒的,這是你自己 文件以什麼回事。 842 00:38:23,580 --> 00:38:25,720 因此,在目前這樣做 是那種佔位符 843 00:38:25,720 --> 00:38:27,560 不管是什麼裡面 這些大括號 844 00:38:27,560 --> 00:38:29,810 最終是要做些什麼。 845 00:38:29,810 --> 00:38:35,160 >> 同時你有兩個叉 路上,一個if else結構是這樣的。 846 00:38:35,160 --> 00:38:37,024 你可以的,如果,ELSEIF,否則。 847 00:38:37,024 --> 00:38:39,690 現在,這是值得注意的,尤其是 如果你已經圍繞谷歌搜索 848 00:38:39,690 --> 00:38:42,480 網上資源出 好奇心,或者如果你拿起 849 00:38:42,480 --> 00:38:44,575 過程中的一個 在C推薦的書籍, 850 00:38:44,575 --> 00:38:48,430 你會看到,人類有很多 不同的偏好是如何 851 00:38:48,430 --> 00:38:50,510 來表達自己的代碼。 852 00:38:50,510 --> 00:38:53,800 有些人喜歡把 大括號,因為我在這裡所做的。 853 00:38:53,800 --> 00:38:57,760 有些人喜歡把捲髮 在這裡括號為實例。 854 00:38:57,760 --> 00:39:01,700 >> 有些人喜歡把偷別人 在這裡,然後這個在這裡。 855 00:39:01,700 --> 00:39:05,120 有任何數目的方式來 寫代碼,他們都不 856 00:39:05,120 --> 00:39:06,566 是對本身。 857 00:39:06,566 --> 00:39:08,440 雖然有幾個 這是相當錯誤的。 858 00:39:08,440 --> 00:39:11,315 但也有no--如果這是 最後一個很嚴謹的辯論。 859 00:39:11,315 --> 00:39:13,940 事實上,最討厭的1 關於計算機科學的東西 860 00:39:13,940 --> 00:39:16,310 是如何自以為是 計算機科學家都可以。 861 00:39:16,310 --> 00:39:19,880 你會發現隨著時間的推移 即使你開發的個人喜好 862 00:39:19,880 --> 00:39:22,130 為你的代碼應該是什麼樣子。 863 00:39:22,130 --> 00:39:27,162 >> 不只是循規蹈矩,不只是建立輸出, 但怎麼也應該美觀。 864 00:39:27,162 --> 00:39:30,120 所以,我們需要做的是沿著引導你 一路走向,至少目前, 865 00:39:30,120 --> 00:39:34,825 一個標準的CS50風格,至少 使事情變得均勻,易於閱讀。 866 00:39:34,825 --> 00:39:37,330 但在那些更 不久區別。 867 00:39:37,330 --> 00:39:41,830 >> 布爾表達式在C中,如果你 想說的話,如果這個條件為真 868 00:39:41,830 --> 00:39:44,650 這等條件 真的,你不寫的字 869 00:39:44,650 --> 00:39:46,610 並且,你會用英語。 870 00:39:46,610 --> 00:39:50,580 你不是用符號與符號, 對於原因,我們會回來的。 871 00:39:50,580 --> 00:39:54,520 如果你想說的,或者你用兩個 豎線,這是美國鍵盤上 872 00:39:54,520 --> 00:39:57,650 通常上述的輸入 鍵旁邊的反斜杠。 873 00:39:57,650 --> 00:40:03,080 這也就意味著,如果這一條件 或該其他條件為真時執行此操作。 874 00:40:03,080 --> 00:40:05,210 >> 同時有這 瘋狂的事情,這 875 00:40:05,210 --> 00:40:07,760 你將有機會 在一段時間使用一次。 876 00:40:07,760 --> 00:40:10,390 但它只是一種替代 的方式來表達自己。 877 00:40:10,390 --> 00:40:12,400 這一點,現在,讓我們來 規定,它只是 878 00:40:12,400 --> 00:40:16,880 表達的另一種時髦的方式 如果ELSEIF,ELSEIF,ELSEIF,ELSEIF。 879 00:40:16,880 --> 00:40:19,720 它只是在格式條款 情況下,如果你從字面上的 880 00:40:19,720 --> 00:40:23,420 枚舉值 你可能要檢查。 881 00:40:23,420 --> 00:40:24,410 >> 同時循環。 882 00:40:24,410 --> 00:40:26,842 我們看到的比較 從頭開始循環。 883 00:40:26,842 --> 00:40:29,550 而且我要揮揮手 各有什麼這些東西的意思。 884 00:40:29,550 --> 00:40:33,520 但是請注意,循環將很 往往先從關鍵字。 885 00:40:33,520 --> 00:40:36,350 或者,它將開始與關鍵字一會兒。 886 00:40:36,350 --> 00:40:41,360 或者,它會開始用關鍵字 做的,用關鍵字而結束。 887 00:40:41,360 --> 00:40:43,920 >> 但是我們要看到 是東西更是這樣。 888 00:40:43,920 --> 00:40:47,950 在這裡,在一般的C語言,你怎麼可能 聲明一個變量,並給它一個值。 889 00:40:47,950 --> 00:40:50,610 在C語言中不足夠, 就像在刮,你只要 890 00:40:50,610 --> 00:40:52,810 說給我一個變量叫什麼。 891 00:40:52,810 --> 00:40:55,960 你要告訴℃,並告訴 編譯器,更具體地說, 892 00:40:55,960 --> 00:40:58,680 什麼類型的值你 要放在玻璃碗裡。 893 00:40:58,680 --> 00:40:59,610 >> 它是一個整數? 894 00:40:59,610 --> 00:41:02,210 如果是這樣,你要 從字面上說,INT,然後 895 00:41:02,210 --> 00:41:04,220 的變量的名稱, 然後一個分號。 896 00:41:04,220 --> 00:41:08,050 如果你想要的,而不是字符串,稱為 它就像我今天做了我的代碼, 897 00:41:08,050 --> 00:41:10,920 你會說字符串s分號。 898 00:41:10,920 --> 00:41:14,200 當你想給它一個值 那麼你可以使用等號, 899 00:41:14,200 --> 00:41:16,211 否則被稱為 賦值運算符。 900 00:41:16,211 --> 00:41:17,960 並注意各 這些代碼行 901 00:41:17,960 --> 00:41:20,650 有分號它的結束。 902 00:41:20,650 --> 00:41:22,550 >> 但是,坦率地說這只是 看起來有點醜。 903 00:41:22,550 --> 00:41:26,580 為什麼我不能說,到電腦,給 我一個變量,並將其初始化為0。 904 00:41:26,580 --> 00:41:28,380 也就是說,給我一個空的玻璃碗裡。 905 00:41:28,380 --> 00:41:28,980 雖然你可以。 906 00:41:28,980 --> 00:41:32,250 這樣一來,判斷一個叫你 必須使文體上隨著時間的推移 907 00:41:32,250 --> 00:41:36,290 是,你寫你的代碼,這樣,或 有種你把它打掃乾淨,​​並留下深刻的印象 908 00:41:36,290 --> 00:41:39,040 人們通過寫兩行只有一個。 909 00:41:39,040 --> 00:41:41,830 這將被認為是 通常是一個更優雅的方式 910 00:41:41,830 --> 00:41:43,870 的文體寫你的代碼。 911 00:41:43,870 --> 00:41:45,200 >> 功能我們當然看到了。 912 00:41:45,200 --> 00:41:46,340 他們將採用這種格式。 913 00:41:46,340 --> 00:41:48,881 一個函數的名稱,有些 括號,然後也許有些 914 00:41:48,881 --> 00:41:49,910 裡面的東西。 915 00:41:49,910 --> 00:41:52,540 或者,你可能會看到應用 多種功能方 916 00:41:52,540 --> 00:41:55,980 並排,像這樣的事情。 917 00:41:55,980 --> 00:41:59,390 現在,作為一個切線,不 這個笑話現在做有意義嗎? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [笑] 920 00:42:04,960 --> 00:42:09,360 這並不意味著這很有趣,但它 也或許做一點更有意義。 921 00:42:09,360 --> 00:42:12,140 所以,現在,讓我們進入 CS50家電一會兒。 922 00:42:12,140 --> 00:42:14,640 讓我在這裡開了1傳情。 923 00:42:14,640 --> 00:42:17,470 >> 的原因,事實上1 引入宜家產品目錄 924 00:42:17,470 --> 00:42:20,080 和閃爍的畫面 在iPhone的前位 925 00:42:20,080 --> 00:42:24,700 是真正綁在了一起 事實上,僅僅在幾年前,在2007年, 926 00:42:24,700 --> 00:42:26,540 這段代碼是 釋放時,將其 927 00:42:26,540 --> 00:42:29,820 在第一個執行的一個 一個軟件的 928 00:42:29,820 --> 00:42:31,494 那做什麼叫做越獄。 929 00:42:31,494 --> 00:42:34,410 對於那些不熟悉,越獄 像手機或iPhone手機 930 00:42:34,410 --> 00:42:37,680 指基本上搞清楚 如何做事 931 00:42:37,680 --> 00:42:39,864 與它的公司 誰做的,也沒打算。 932 00:42:39,864 --> 00:42:42,780 如要安裝特定的 軟件不是在應用程序商店, 933 00:42:42,780 --> 00:42:45,405 越獄你的手機,它 你做這樣的事情多。 934 00:42:45,405 --> 00:42:47,447 但是,什麼是樂趣 2007--而且一直 935 00:42:47,447 --> 00:42:49,780 幾十個不同版本的 這些東西從那時起, 936 00:42:49,780 --> 00:42:53,540 在各種languages​​--是 這個節目在這裡,所謂的iUnlock, 937 00:42:53,540 --> 00:42:57,036 實際上是用C寫的所以我 拉升的源代碼本, 938 00:42:57,036 --> 00:42:59,910 只是那種告訴你一些 與結構的相似性 939 00:42:59,910 --> 00:43:01,450 我們一直在討論迄今。 940 00:43:01,450 --> 00:43:05,150 現在有更多的方式在這裡的複雜性 比我們在課堂上已經看到了。 941 00:43:05,150 --> 00:43:07,160 讓我在這裡滾動只是一點點。 942 00:43:07,160 --> 00:43:11,520 >> 但是請注意these--好,我們注意到一些 things--但這裡要注意這些線, 943 00:43:11,520 --> 00:43:14,090 包括標準的I / O點小時。 944 00:43:14,090 --> 00:43:17,660 和all--線24,please-- 注意標準的I / O 945 00:43:17,660 --> 00:43:21,380 點H和一大堆其他的 文件,顯然其他人 946 00:43:21,380 --> 00:43:22,160 寫。 947 00:43:22,160 --> 00:43:24,850 如果我們向下滾動 這一點,隨意一點, 948 00:43:24,850 --> 00:43:27,910 請注意,我不知道該怎麼寫 這一切我一定還, 949 00:43:27,910 --> 00:43:28,880 但是有如果。 950 00:43:28,880 --> 00:43:30,400 因此很明顯,這有一個分支。 951 00:43:30,400 --> 00:43:33,210 >> 如果我向下滾動一點點 如果再有另一個。 952 00:43:33,210 --> 00:43:38,210 如果我向上滾動,我覺得 圍繞線100,我看到了。 953 00:43:38,210 --> 00:43:40,020 所以我不太清楚 是如何工作的呢, 954 00:43:40,020 --> 00:43:43,180 但是這是一個for循環,那將 讓我重複的時候一定數目。 955 00:43:43,180 --> 00:43:45,230 如果我所有的滾動 的方式向底部 956 00:43:45,230 --> 00:43:51,020 我看到有一個 功能這兒叫 957 00:43:51,020 --> 00:43:54,570 主,以及一些額外幣 為您的閱讀快感。 958 00:43:54,570 --> 00:43:57,830 >> 因此,這僅僅是say--,我們會把 課程的源之間的這種在線 959 00:43:57,830 --> 00:44:01,480 代碼today--,即使其中的一些 我們認為理所當然的設備, 960 00:44:01,480 --> 00:44:05,130 在一天結束的時候你還在 用我們這些已經基本結構 961 00:44:05,130 --> 00:44:07,430 不斷推出已有迄今。 962 00:44:07,430 --> 00:44:08,620 這就足夠了的那一個。 963 00:44:08,620 --> 00:44:11,480 好吧,現在讓我們來 實際上建立的東西。 964 00:44:11,480 --> 00:44:15,640 >> 讓我們超越像 hello.c中,並打開了這一點, 965 00:44:15,640 --> 00:44:17,170 讓我們在這裡寫這個程序。 966 00:44:17,170 --> 00:44:19,850 我要繼續前進, 編寫一個名為如adder.c程序, 967 00:44:19,850 --> 00:44:23,310 在生活中,其目的將是 像我的第一個超級簡單的計算器 968 00:44:23,310 --> 00:44:24,840 這只是增加了幾個數字。 969 00:44:24,840 --> 00:44:27,050 不是因為這是一個硬 的問題,而是因為它 970 00:44:27,050 --> 00:44:29,390 讓我現在配合 在一起的幾件事情。 971 00:44:29,390 --> 00:44:33,100 所以我要繼續前進,包括 標準I / O點H和CS50點小時。 972 00:44:33,100 --> 00:44:34,670 我要說INT主要作廢。 973 00:44:34,670 --> 00:44:36,545 並再次在未來的 我們會回來吧 974 00:44:36,545 --> 00:44:38,560 成在這方面和空隙裝置。 975 00:44:38,560 --> 00:44:43,340 >> 而現在我會說些什麼 如printf,給我一個整數。 976 00:44:43,340 --> 00:44:47,610 現在,在我的第二行, 我該如何表達自己這樣的 977 00:44:47,610 --> 00:44:50,980 我想聲明一個變量 這是怎麼回事存儲一個int? 978 00:44:50,980 --> 00:44:55,470 從字面上看我該怎麼輸入,如果我想 創建一個存儲一個int變量 979 00:44:55,470 --> 00:44:58,270 你會說什麼? 980 00:44:58,270 --> 00:44:59,650 整數a等於調用getInt。 981 00:44:59,650 --> 00:45:00,485 當然,這樣的作品。 982 00:45:00,485 --> 00:45:02,360 和公正的一致性 用你的代碼會 983 00:45:02,360 --> 00:45:04,485 在網上看到的,讓我改變 此為x,只是因為變量x 984 00:45:04,485 --> 00:45:06,830 是一種常見的變量名 使用中,至少在代數。 985 00:45:06,830 --> 00:45:08,720 現在讓我繼續前進,不要再printf的。 986 00:45:08,720 --> 00:45:10,692 給我一個整數。 987 00:45:10,692 --> 00:45:12,900 現在,我要那種 對學習的模式, 988 00:45:12,900 --> 00:45:14,490 我要說詮釋y到達調用getInt。 989 00:45:14,490 --> 00:45:16,340 >> 我們已經不習慣 調用getInt之前,但只是 990 00:45:16,340 --> 00:45:19,860 喜歡的GetString去,並得到一個字符串, 像哈維爾觀眾一樣, 991 00:45:19,860 --> 00:45:22,780 同樣不調用getInt 開始閃爍提示。 992 00:45:22,780 --> 00:45:26,750 和有效地等待用戶 給它一個整數,通過鍵入它 993 00:45:26,750 --> 00:45:27,900 並按下Enter鍵。 994 00:45:27,900 --> 00:45:30,850 現在,最後,我該怎麼辦 對此,printf的總和of-- 995 00:45:30,850 --> 00:45:36,080 並讓我看上now-- 百分之一和百分之i是目前 996 00:45:36,080 --> 00:45:39,270 í感嘆號反斜線ñ。 997 00:45:39,270 --> 00:45:42,750 那你覺得我會 現在擺在作為附加輸入 998 00:45:42,750 --> 00:45:44,620 對printf? 999 00:45:44,620 --> 00:45:47,380 >> 我不想說 從字面上報價引文結束的X. 1000 00:45:47,380 --> 00:45:52,210 我想在類X和 那麼,現在讓我們看上 1001 00:45:52,210 --> 00:45:54,420 而我們只是假設 我們可以做我們想要的。 1002 00:45:54,420 --> 00:45:56,330 你接下來想要說什麼? 1003 00:45:56,330 --> 00:45:57,070 X加Y。 1004 00:45:57,070 --> 00:45:58,520 事實上,將工作。 1005 00:45:58,520 --> 00:46:01,760 它的最低限度的編程語言 做到了解基本的算術運算, 1006 00:46:01,760 --> 00:46:03,500 所以這其實應該工作。 1007 00:46:03,500 --> 00:46:06,730 >> 因此,讓我繼續前進,不要讓 加法器在我的黑色和白色窗 1008 00:46:06,730 --> 00:46:08,090 到這裡,回車。 1009 00:46:08,090 --> 00:46:10,830 神秘的線,但沒有錯誤 消息,所以這是很好的。 1010 00:46:10,830 --> 00:46:14,410 點斜線加法,給我一個整數,1。 1011 00:46:14,410 --> 00:46:16,230 給我一個整數,2。 1012 00:46:16,230 --> 00:46:18,770 的1和2的總和為3。 1013 00:46:18,770 --> 00:46:21,730 >> 好吧,所以很瑣碎 程序,但它是什麼呢? 1014 00:46:21,730 --> 00:46:25,680 它讓我用一個函數 叫這裡,這裡調用另一個函數, 1015 00:46:25,680 --> 00:46:29,260 兩次調用調用getInt中, 第三次調用printf, 1016 00:46:29,260 --> 00:46:30,720 然後用這些佔位符。 1017 00:46:30,720 --> 00:46:33,160 所以這是一個多一點 先進的比上一次。 1018 00:46:33,160 --> 00:46:35,260 但是如果我想 得到一個小票友? 1019 00:46:35,260 --> 00:46:38,900 >> 讓我繼續前進,現在做到這一點。 1020 00:46:38,900 --> 00:46:42,890 讓我繼續前進,創造一個 新的文件名為為零的條件。 1021 00:46:42,890 --> 00:46:44,890 我要去拯救 一段時間類的緣故 1022 00:46:44,890 --> 00:46:48,260 而剛剛粘貼在 代碼為出發點。 1023 00:46:48,260 --> 00:46:51,510 而現在我只是把 一些在中間的是新來的。 1024 00:46:51,510 --> 00:46:55,889 所以printf的,我想一個整數吧。 1025 00:46:55,889 --> 00:46:58,180 而這一切代碼都可以 在球場上的網站, 1026 00:46:58,180 --> 00:47:00,556 你不必鍵入這一切了 在課堂上,如果你不能再喝了。 1027 00:47:00,556 --> 00:47:02,638 INT,現在我要去 用它代替x和y, 1028 00:47:02,638 --> 00:47:05,270 我要使用N,這是 可能是最常見的名稱 1029 00:47:05,270 --> 00:47:09,220 用於在計算機程序中的一個整數。 1030 00:47:09,220 --> 00:47:12,060 現在我想做一個 在這裡,小的判斷。 1031 00:47:12,060 --> 00:47:15,460 我要去當n看 大於0,則 1032 00:47:15,460 --> 00:47:23,670 我會說printf--哎呦, printf--你選擇了一個正數, 1033 00:47:23,670 --> 00:47:25,370 感嘆號反斜杠ñ。 1034 00:47:25,370 --> 00:47:26,460 關閉了。 1035 00:47:26,460 --> 00:47:33,150 否則我要打印出來的printf 你選擇了一個負數。 1036 00:47:33,150 --> 00:47:35,377 >> 現在你罵我之前, 讓我們來運行這個程序。 1037 00:47:35,377 --> 00:47:36,210 讓我去這兒吧。 1038 00:47:36,210 --> 00:47:40,730 以及如何編譯程序 所謂的條件幾許0? 1039 00:47:40,730 --> 00:47:42,300 請條件幾許0。 1040 00:47:42,300 --> 00:47:45,560 那種愚蠢的名字,但 - 該死。 1041 00:47:45,560 --> 00:47:47,560 好的,好的教學時刻。 1042 00:47:47,560 --> 00:47:48,410 為什麼說分手? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> 什麼我不小心把這個文件? 1045 00:47:54,710 --> 00:47:56,876 種可以推斷 從選項卡在這裡。 1046 00:47:56,876 --> 00:47:58,750 因此,它不是壞的,我 這樣做,因為這 1047 00:47:58,750 --> 00:48:00,208 也許會發生一些你。 1048 00:48:00,208 --> 00:48:03,880 所以我不小心叫我 源代碼的條件0。 1049 00:48:03,880 --> 00:48:09,950 但是按照慣例,我的源代碼應該 在一個名為條件0幾許C文件, 1050 00:48:09,950 --> 00:48:11,720 或什麼的C點。 1051 00:48:11,720 --> 00:48:12,610 >> 因此,讓我解決這個問題。 1052 00:48:12,610 --> 00:48:16,880 就像Microsoft Word中,我可以走了 另存為,做條件0 C點。 1053 00:48:16,880 --> 00:48:20,100 現在只是要整齊,我 要繼續前進,並刪除 1054 00:48:20,100 --> 00:48:23,020 狀態0,這是我的舊版本。 1055 00:48:23,020 --> 00:48:26,550 現在,讓我們做製作 狀態0,回車。 1056 00:48:26,550 --> 00:48:27,870 好吧,似乎不錯。 1057 00:48:27,870 --> 00:48:29,510 >> 條件0,回車。 1058 00:48:29,510 --> 00:48:33,530 我想一個整數請,50, 你選擇了一個正數。 1059 00:48:33,530 --> 00:48:35,390 現在怎麼樣負50? 1060 00:48:35,390 --> 00:48:37,660 你選擇了一個負數。 1061 00:48:37,660 --> 00:48:39,605 現在怎麼樣,0。 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 很肯定的0不是消極的。 1064 00:48:45,350 --> 00:48:47,780 >> 因此,這是怎樣的一個邏輯錯誤。 1065 00:48:47,780 --> 00:48:50,680 我該如何解決這個問題? 1066 00:48:50,680 --> 00:48:57,260 否則,如果n小於0,這樣做,否則 我們可以有一個三路分支在這裡, 1067 00:48:57,260 --> 00:49:01,740 printf的你選0。 1068 00:49:01,740 --> 00:49:06,150 所以現在,如果我重新運行該 程序,編譯後 1069 00:49:06,150 --> 00:49:10,790 再次化妝,現在重新運行 狀態0,我會在這裡看到 1070 00:49:10,790 --> 00:49:14,570 0給我的輸出。 1071 00:49:14,570 --> 00:49:16,280 所以,我們去哪兒了呢? 1072 00:49:16,280 --> 00:49:18,930 >> 那麼它很容易忽略 森林中的樹木。 1073 00:49:18,930 --> 00:49:23,590 所以,讓我們來總結 與此2和1.5分鐘的視頻 1074 00:49:23,590 --> 00:49:25,710 最終是有點 從谷歌的廣告, 1075 00:49:25,710 --> 00:49:28,850 但是這真的是應驗了 即使使用這些基本的建築是什麼 1076 00:49:28,850 --> 00:49:33,020 塊,我們可以最終做一次 我們有位編程 1077 00:49:33,020 --> 00:49:34,463 根據我們的皮帶頭腦。 1078 00:49:34,463 --> 00:49:35,150 >> [音樂播放] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO布賴爾利(旁白): 那是26年前, 1081 00:49:40,540 --> 00:49:42,470 我正要轉5。 1082 00:49:42,470 --> 00:49:45,465 我們到了火車站, 我們登上了火車在一起。 1083 00:49:45,465 --> 00:49:48,010 我哥哥剛才說我會 住在這裡,我會回來的。 1084 00:49:48,010 --> 00:49:51,140 我只是在想,嗯,你知道, 我還不如乾脆去睡覺 1085 00:49:51,140 --> 00:49:52,690 他將只叫我起床。 1086 00:49:52,690 --> 00:49:55,145 而當我醒來的時候下一個 天,整個滑架 1087 00:49:55,145 --> 00:49:59,125 空了一個失控的火車,鬼 火車帶我去,我不知道在哪裡。 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> 我採用了澳大利亞, 一個澳大利亞家庭。 1090 00:50:06,280 --> 00:50:09,710 和媽媽都裝飾了我 房間與印度的地圖上, 1091 00:50:09,710 --> 00:50:11,950 她把旁邊的我的床邊。 1092 00:50:11,950 --> 00:50:15,830 我每天早上醒來的時候 看到地圖,並因此 1093 00:50:15,830 --> 00:50:18,530 排序它不停的回憶活著。 1094 00:50:18,530 --> 00:50:20,530 人們會說,你是 試圖找到一個針 1095 00:50:20,530 --> 00:50:23,560 在乾草堆裡,Saroo 你永遠也找不到它。 1096 00:50:23,560 --> 00:50:28,540 >> 我曾閃過的地方,我 以前去,我家的閃爍 1097 00:50:28,540 --> 00:50:29,890 面孔。 1098 00:50:29,890 --> 00:50:34,060 這裡是我母親的形象, 坐在她的雙腿交叉, 1099 00:50:34,060 --> 00:50:35,740 只是看著她哭。 1100 00:50:35,740 --> 00:50:38,160 人生就是這麼辛苦。 1101 00:50:38,160 --> 00:50:41,237 這是我的寶貝。 1102 00:50:41,237 --> 00:50:44,320 我一直在尋找在谷歌地圖和 意識到有谷歌地球也是如此。 1103 00:50:44,320 --> 00:50:48,140 在這個世界裡,你可以放大, 我開始把所有這些想法 1104 00:50:48,140 --> 00:50:51,500 和什麼樣的可能性 這可以為我做。 1105 00:50:51,500 --> 00:50:54,890 我對自己說,你知道,你已經 把所有這些照片的回憶 1106 00:50:54,890 --> 00:50:58,590 和標誌性建築你來自哪裡,以及 你知道什麼是城鎮的模樣。 1107 00:50:58,590 --> 00:51:03,060 這可以是一個應用程序,它 你可以用它來找到你的歸途。 1108 00:51:03,060 --> 00:51:06,720 >> 我想,嗯,我會放 點在加爾各答火車站, 1109 00:51:06,720 --> 00:51:10,890 和半徑線,你知道,你 應尋找解決這個地區。 1110 00:51:10,890 --> 00:51:13,750 那種我碰到 這些火車軌道。 1111 00:51:13,750 --> 00:51:18,160 我開始跟隨它,並 我來到了火車站的 1112 00:51:18,160 --> 00:51:22,228 反射的同一圖像 那是在我的記憶。 1113 00:51:22,228 --> 00:51:23,707 一切都匹配。 1114 00:51:23,707 --> 00:51:27,950 我只是在想是的,我 知道我要去哪裡。 1115 00:51:27,950 --> 00:51:30,116 我只是打算讓 地圖,我在我的腦海 1116 00:51:30,116 --> 00:51:33,080 引導我,帶我回到了我的家鄉。 1117 00:51:33,080 --> 00:51:36,420 >> 我來到家門口 我出生的房子。 1118 00:51:36,420 --> 00:51:39,140 而走了一圈約15 蠢蠢欲動米, 1119 00:51:39,140 --> 00:51:42,980 有三個女人站 外,彼此相鄰。 1120 00:51:42,980 --> 00:51:47,830 而中間的一個走上前去, 我只是覺得,這是你的母親。 1121 00:51:47,830 --> 00:51:53,450 她走上前來,她抱著​​我, 我們在那裡約五分鐘。 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> 她抓住我的手, 她把我的房子 1124 00:51:59,000 --> 00:52:02,450 並得到了電話,她在 響了我的妹妹和我的兄弟 1125 00:52:02,450 --> 00:52:05,600 說,你知道嗎, 你的兄弟剛 1126 00:52:05,600 --> 00:52:09,340 所有突然出現像幽靈一樣。 1127 00:52:09,340 --> 00:52:12,440 然後一家人再次團聚。 1128 00:52:12,440 --> 00:52:15,110 一切都很好, 我幫我媽出去, 1129 00:52:15,110 --> 00:52:17,110 她沒有被累死累活。 1130 00:52:17,110 --> 00:52:19,555 她能活休息 她在和平的生活。 1131 00:52:19,555 --> 00:52:23,460 >> 這是一個大海撈針, 但針在那裡。 1132 00:52:23,460 --> 00:52:24,400 一切都在那裡。 1133 00:52:24,400 --> 00:52:28,260 一切,我們在世界 是一個按鈕的點擊。 1134 00:52:28,260 --> 00:52:32,010 但你必須有意願和 決心想要它。 1135 00:52:32,010 --> 00:52:32,950 >> [音樂播放] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 大衛馬蘭:奇妙 甜蜜的告別賽 1138 00:52:38,170 --> 00:52:40,540 剛一下即可 現在做的技術。 1139 00:52:40,540 --> 00:52:43,390 我們會看到你下週。 1140 00:52:43,390 --> 00:52:44,374