1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
傑森·赫塞豪恩:歡迎。 所以,短短幾年的公告 在我們開始之前。 因此部分,每個人都應該 已經切片。 部分正常運行 從週日到週二。 所以,你們應該得到你的任務。 然後我下週想 你會用你的實際轉錄因子。 所以,如果您有任何疑問,或 麻煩,還是你忘了一節。 有些人這樣做。 只是讓我們知道。 拍攝我們頭上的電子郵件。 

然後辦公時間。 我們開始辦公時間的最後一周。 每週的辦公時間。 週一是萊弗里特8:00至11:00。 週二在四, 所以卡博特8:00至11:00。 週三馬瑟上午8:30到11:30。 週四安嫩伯格8:00至11:00。 

所以從無到有,很多人 不需要辦公時間 為幫助划痕,這 完全是罰款。 如果你這樣做,這是 精絕也。 但在將來,問題 套,他們得到更難。 因此,這將是你的朋友。 一定要去上班時間。 計劃要去上班時間。 當你到了問題 集四,五,六,七, 你需要去辦公時間。 這就是一個很大的幫助 而完成工作。 

我認為,去年只為 例如,上週四night-- 所以我覺得這個問題 組上​​週五是由於。 於是,星期四晚上,我們將有 200,250名學生在辦公時間。 所以肯定使用這些。 這些都是你最好的朋友。 像這樣的地方,如果你是 停留在一個問題集, 這是你可能會得到幫助。 所以辦公時間。 好讓那些公告。 公告都做了,所以讓我們開始。 

OK,設備。 難道大家下載 家電了嗎? 號 在如此如此。 種我下載的設備。 右鍵因此家電是新的 今年,我們很可能 將會有一些bug吧。 所以,請下載 盡可能早。 所以,問題的設置人會告訴 你到底如何下載它。 入門安裝在這裡。 它會告訴你如何 下載該器具。 

所以肯定下載 家電宜早不宜遲。 說明在P組規格。 所以,如果你等到星期三 晚上,然後你有麻煩了, 你在向我們發送電子郵件 午夜在週三晚上 你不能下載 家電,這是 沒有一個合法的理由申請延期。 你現在需要做的是, 你將有麻煩。 我試圖下載昨晚。 我遇到了一點點麻煩。 如果你遇到麻煩 安裝時,一定 打重試,因為我剛打重試 幾次,最終它的工作, 不作任何 感,但它的作用。 所以肯定重試,但如果你 碰到一堵牆, 拍我們發一個電子郵件的頭,我們將 很樂意幫助你們。 這是怎麼回事? 

學生:只是一個簡單的問題。 如果他們檢查的風格,還有一部分 是說,我們並沒有包括這一點。 傑森·赫塞豪恩:還沒有。 學生:它說,執行它。 你如何執行,要 確保它在你的系統中? 

傑森·赫塞豪恩:你 要運行bash命令。 我去了以後。 涼爽。 因此,該設備可以是 有點嚇人, 因為你已經習慣了種 在圖形用戶界面上運行。 所以划痕是一個圖形用戶 接口,所以這是什麼意思了嗎? 我的意思是, 當你編程時, 你基本上使用的代碼塊。 你可以看到代碼 和類似的東西。 

家電,你打算做 事情在命令行環境。 所以對於其餘 你的編程生活, 你會做的事情 在命令行環境。 所以這是很好的早期跳 並獲得了一定的經驗。 因此,讓我們做到這一點。 所以這是羅布。 

好了,讓我們自己跳 進入命令行的東西。 因此,這是該設備。 誰能告訴我為什麼 我們使用的器具? 什麼是產品? 有誰知道? 這是怎麼回事? 

學生:這只是一個虛擬機 你運行你的機器,讓你 可以在OS Mac和PC之間的分歧。 傑森·赫塞豪恩:完美。 學生:這是一個通用的模板。 傑森·赫塞豪恩:是啊,這是 就像一個萬能模板。 那很完美。 所以,是的,它是一個虛擬機。 因此,它基本上是一個操作系統。 這是一個操作系統。 這等同於您的 Mac或PC你,或者你的Linux。 這是完全相同的。 所以你可以做類似的東西。 如果你願意,你可以 例如上網。 你不能真正看到它,但 在這裡,谷歌Chrome瀏覽器。 你可以去網上,如果你想。 這是一個操作系統。 而我們之所以這樣做是因為 這是當我們分發更容易 說明一切。 如果它只是一個統一的環境中, 這對我們來說容易得多, 而這對你更加容易。 你不會碰到 它碰到什麼特質 當你編程。 我們知道到底是什麼 你會碰到。 因此家電就在這裡。 

因此,當你開始 編程時,你 要深入到 左角。 有一個小盒子。 你會點擊它。 這是你的終端窗口。 因此,這是你要去的地方 是很多的學期。 因此,讓我放大一點點。 

好了,讓周圍的終端 窗口是一個有點不同。 首先,有沒有圖標。 我無法點擊任何東西。 沒有什麼點擊。 所以你必須想出一個辦法來 找出你在哪裡,什麼是在這裡, 以及如何走動。 

所以,可能是兩個最有用的命令 被ls--所以你覺得LS呢? 

學生:列表。 傑森·赫塞豪恩:列出,是的。 它只是列出了算法 內的目錄。 然後CD。 所以我們可以說,我想 CD CS50,那是什麼呢? 是嗎? 

學生:改變你的目錄中。 傑森·赫塞豪恩:完美的,是的。 它只是改變了目錄。 因此,讓我們回去。 所以,我怎麼回去? 因此,讓我們說我想去 回到先前的目錄。 對沒錯。 

學生:我覺得你寫的 CD只是沒有任何東西。 傑森·赫塞豪恩:你可以做到這一點。 如此完美。 所以,如果我寫的CD,這是 究竟要彈出我 備份到主目錄。 所以你看這個波浪線, 那將彈出我 方式備份到波浪線是。 因此,它會彈出了我 回到主目錄。 但是,假設我做了這樣的事情。 比方說,CD CS50。 LS了。 我有其他的東西。 CD超部分。 CD文件,所以我要去深。 再比方說,我想 只是彈回頂端。 CD。 比方說,我不想這樣做。 比方說,我只是想重新彈出來 這是對我上面的目錄。 我該怎麼辦呢? 所以我們可以說CD CS50。 CD超部分。 因此,讓我們的我在這裡。 比方說,我只是想 彈出一次。 我該怎麼辦呢? 是啊,這是怎麼回事? 

學生:你只需要輸入 CD超部分了。 

傑森·赫塞豪恩:你可以做到這一點。 嗯,我在超部分。 

學生:哦,對的人之前。 

傑森·赫塞豪恩:是啊, 所以你能做到這一點。 你做的CD〜CS50。 所以,如果你看這裡,這 是你的路徑就在這裡。 這就是你的路徑。 所以,你可以認真 剛去的CD〜/ CS50。 轟,你在那裡。 什麼是更簡單的方法,雖然做到這一點? 這是完全正確的,但 什麼是一個稍微更簡單的方法 要做到這一點,因為很多 的時候,你要去 要跳樓的目錄, 跳出目錄。 因此,讓我們回去。 CD超部分。 因此,讓我們說,我想 找回真正的快。 你可以這樣做CD點點。 這是怎麼回事流行 您備份真正的快。 因此,CD超部分。 CD文件。 比方說,我在這裡。 順便說一下,明確是好的,因為我 窗口是越來越有點凌亂。 所以LS,所以我不想 在這兒了。 CD點點。 帶我一起來。 鎘點點帶我一起來。 鎘點點,回到我的家。 

好了,CD,LS。 可能是最重要 的東西,因為你 將需要知道你在哪裡。 LS是要告訴你 你在哪裡,和CD 是你如何去四處跳動。 

你也可以做一些其他很酷的東西。 因此,如ls。 LS只是要告訴你 該目錄中的文件。 它也將告訴你該文件。 但它只是要 告訴你那裡有什麼。 

如果你想要的東西 多一點點涼, 而你要真正做 這幾個星期。 LS幾許升。 打印出一 多一點的信息。 誰能猜在左手 另一邊的drwx,RWX和類似的東西。 沒有任何人有一個想法 什麼可能呢? 

學生:權限。 

傑森·赫塞豪恩:是的,完美的。 權限。 所以,你要 必須處理這 當你做網絡編程以後。 如果你曾經在網上消失了, 和你點擊的圖像 或者點擊某個字段, 和它說permission-- 就像許可不准,或類似 不授予或任何許可, 這是因為當 他們在編程時,他們 沒有設置這些權限 讓你做到這一點。 那麼,是從何而來。 

好了,這很酷。 因此,我們跳下各地。 我們可以看一下東西在我們的目錄中。 但是,我們如何做的東西? 我這裡有目錄。 這是真棒。 我如何做一個新的目錄? 說我想拍一個新的 目錄現在。 你可以做這樣的事情,MKDIR。 因此,創建目錄。 那麼你想 把這個目錄? 學生:真棒。 傑森·赫塞豪恩:真棒。 我喜歡它。 創建目錄真棒。 和你去。 因此,我們需要一個列表。 你有一個新的目錄。 你可以告訴它是一個 在您的設備目錄 因為它有這個顏色的,對不對? 所以,它就像一個藍色的 紫色或別的什麼東西。 因此,讓我們改變。 讓我們來更改目錄。 讓我們進入directory-- 是啊,這是怎麼回事? 學生:有沒有名單 所有這些[聽不清]在線? 傑森·赫塞豪恩:是啊,我把 它們on--我們將有幻燈片。 這將是一個PDF文件。 我們會把它們給大家。 是啊,對不起它的很多命令。 如果你要我慢下來,或者 回去,或者類似的東西, 一定讓我知道。 這是一個很大吸納的時候了。 這是怎麼回事? 學生:我問一個 潛在愚蠢的問題? 傑森·赫塞豪恩:有 沒有愚蠢的問題。 學生:有。 目錄是只是看看 在信息您存儲它。 

傑森·赫塞豪恩:是啊。 

學生:那是根本 你在做什麼? 所以,當我們做的東西, 你好世界也好, 它存儲在目錄中,是嗎? 

傑森·赫塞豪恩:是啊。 

學生:是這樣的一切。 所有被存儲在目錄中。 

傑森·赫塞豪恩:是啊。 每當你做了, 任何目錄你在, 這將基本 將其存儲在該目錄中。 學生:當我們調用它, 我們從目錄中調用它。 

傑森·赫塞豪恩:是啊,所以 該目錄是在那裡上課。 因此,這有點像,如果你有 您桌面上的一個新的文件夾 然後你寫的文字 文件,把它放在該文件夾中, 該文件是該文件夾中。 這是否有道理? 

學生:是啊。 

傑森·赫塞豪恩:是啊,這是怎麼回事? 

學生:我能問問你 使它成為一個大一點? 

傑森·赫塞豪恩:哦,是的。 抱歉。 投影機是如此糟糕。 我們有這麼大的麻煩 用這點。 是更好嗎? 是太大了嗎? 

學生:不,不,它不是。 

傑森·赫塞豪恩:不,它不是。 是不是太小了? 這是怎麼回事? 

學生:對不起,什麼是 清理的命令? 

傑森·赫塞豪恩:哦,清晰。 如果你想清楚了,只 類型清除。清晰的進入。 上的最後一個設備, 它基本上沒有, 它沒有明確的信息, 種它只是轉移的一切 下一個屏幕。 所以,如果你輸入的clear-- 例如,讓我們說我滾動起來。 我可以滾動起來。 這就是我所做的一切。 但是,如果我輸入清晰,然後 我向上滾動,這是我的東西。 所以它不是抹掉它,它只是 基本上是給你一個新的框架。 

學生:你怎麼了 [聽不清]目錄? 

傑森·赫塞豪恩:我們會到達那裡。 

[笑] 放慢你滾。 行。 好了,讓我們在一個 目錄現在。 於是,大衛,我想在講座 他做了一些很酷的東西。 因此,讓我們寫一個程序。 所以,你可以做一個 不同的方式編號。 您可以使用任何類型的文本編輯器。 您可以使用nano,你 可以用Vim,Emacs的。 那些是略微複雜一些。 或者你可以使用的東西 這裡說的所謂的gedit中。 抱歉。 gedit中不開心。 所以gedit中基本上是 只是一個文本編輯器。 就像我的文字編輯字 處理器或類似的東西。 因此,它有一個很好的 接口只是這樣。 所以,你做這樣的事情。 所以,居然讓我給它 的名字,因為我從來沒有這樣做。 

那麼你想 我們的名字的第一個程序? 它只是會說喜。 

學生:[聽不清]。 

傑森·赫塞豪恩:你缺乏想像力。 OK,gedit中。 你好。 我會做的.txt。 好了,在這兒呢。 因此,讓我們寫一個程序。 所以我覺得你講看到這個。 你需要一個main函數。 布普。 所以,這只是一個主要功能。 更大? 是啊,對不起。 OK,所以你需要一個main函數。 我想我跳樓 槍一點點, 但它永遠不會壞到讓 用於這種東西。 

因此,一個主要功能, 每一個C程序你 打算寫本作的休息 當然,將有一個主要功能。 有誰知道為什麼嗎? 這是怎麼回事? 

學生:開始。 

傑森·赫塞豪恩:沒錯,所以它 告訴你的程序從哪裡開始。 所以,如果你沒有一個主要功能, 你編譯這個類的東西, 它不會知道要開始。 主要是一直在那裡開始。 所以,你有一個main函數,然後 有誰還記得如何打印? 

學生:printf的。 傑森·赫塞豪恩:是啊,printf的。 printf的喜。 好了,現在我已經設置你們了 失敗,但會在編譯。 

學生:沒有。 

傑森·赫塞豪恩:為什麼呢? 有多種原因。 當然可以。 

學生:它沒有 標準[聽不清]。 

傑森·赫塞豪恩:完美。 所以,這是什麼所謂的在這裡? 

學生:[聽不清] 

傑森·赫塞豪恩:這是 一個頭文件,對不對? 這是一個頭文件。 而你是完全正確的。 無論你是對的。 因此,要包括的,我只是做一斤 包括標準輸入輸出.H。 我是不是好走了嗎? 就這樣編? 

學生:沒有。 傑森·赫塞豪恩:為什麼不呢? 學生:這是一個[聽不清]文本。 傑森·赫塞豪恩:是啊,真棒。 所以,我只是做到了。 所以,我救了它,但gedit中hi.txt。 所以,現在如果我做LS,在這兒呢。 就在這裡。 哦,這不是真棒。 我要出去了。 哦,完美的。 我們如何在真棒把這個? 所以,我在這裡不希望它在我家 目錄與一切。 我希望把它的文件夾中。 我該怎麼辦呢? 

不要太用力。 動。 所以,我們已經學會了LS,列表。 cd切換目錄。 CD點點撞出來的目錄。 現在我們要 動起來的文件。 因此,移動只是移動hi.txt,並 我打算把它放在真棒。 

只是小心些而已。 每當你寫的 命令行,一切事宜。 所以大寫的事項。 如果我做了一個小寫,這是 不會知道發生了什麼事情。 所以一切事宜 是非常特異性的。 

所以運行LS上。 它不再是在這裡。 讓我們改變目錄到真棒。 LS。 熱潮,它的存在。 而有人提到為什麼 這將無法編譯。 為什麼是不會重新編譯? 是嗎? 

學生:這不是一個.C。 

傑森·赫塞豪恩:完美。 這不是一個.C,S讓我怎麼 將其重命名為.C? 有什麼簡單的方法來做到這一點? 讓我們使用,我們只是做了該命令。 因此,我們只是要 移動hi.txt到hi.c. LS hi.c. 然後只是為了好玩,讓我們 剛跳進這個真正的快。 hi.c. 你會發現它的好和多彩。 因此,這些都是只是一種有用的 色當你編程。 因此,int和虛空, 這些是數據類型。 我們一起去了那些在第二。 喜是一個字符串。 但有用的顏色。 所以,如果你曾經不小心 選擇了錯誤的擴展, 你應該有這些顏色。 這是怎麼回事? 

學生:我怎樣才能複製到 文件[聽不清]到另一個文件? 傑森·赫塞豪恩:哦,我 要告訴你這一點。 所以副本中刪除的被告席上。 讓我們這一點。 請確保它的工作原理。 讓喜。 工程,運行它。 所以./hi真棒。 這是你的第一個程序。 請讓我大。 所以,一個真正good--呀,這是怎麼回事? 學生:為什麼會 當我把gedit中, 它不給我一次 線gedit中hi.txt? 它只是把光標移動到一條線。 學生:是啊。 在[聽不清]。 

傑森·赫塞豪恩:等待, 如此反复說。 

學生:當我鍵入gedit中,該 第一時間,所述第一line-- 傑森·赫塞豪恩:向上 在最高層那裡? 學生:有沒有Ĵ哈佛 器具,光標 只是一路向左。 傑森·赫塞豪恩:所有 路的左邊? 學生:是啊。 沒有任何人有嗎? 

傑森·赫塞豪恩:哦,Ĵ 哈佛就像用戶名。 所以,這只是標準的用戶名。 

學生:它停止響應。 傑森·赫塞豪恩:哦, 它停止響應。 好了,你需要做的就是 你必須收出gedit中的。 這麼近了gedit中的, 並且它應該返回。 那麼,在gedit中打開的 家電的權利嗎? 如果你退出了出來,它應該 回來,你要善於去。 做這項工作? 

學生:那你有沒有用 在gedit中命令open-- 傑森·赫塞豪恩:沒有,第一次 gedit中的命令是一個錯誤。 第一個命令gedit中, 我做gedit中hi.txt。 所以我給它一個名字,那麼gedit中hi.txt。 hi.txt是該文件的名稱。 第一次是剛 一個錯誤,然後 我趕緊收出方案。 所以,問題是 如果我做gedit中,我不是 要能夠真正做到 任何東西在我的命令行 直到我關閉gedit中,所以我 認為這是他們碰上了。 因此,關閉gedit中。 它會返回出來的 程序,然後你就會 能夠實際鍵入 在命令行了。 是好? 塗料。 因此,只要確保關閉 它,如果你遇到麻煩。 

好了,一個很好的問題 一秒鐘前被複製。 所以,現在我已經hi.c. 但是,讓我們說,我想改變它。 我希望它是略勝一籌。 我想說的喜類。 但是,我想保持這種模板。 我沒有重寫 再整個程序。 我想保持的模板。 如何複製? 

容易。 因此,CP hi.c newhi.c。 現在我有兩個。 然後我可以打開newhi.c, 而不是只是說喜, 我會說你好一流! 所以,我會回去。 退出了。 回到我的命令行。 LS使newhi。 運行它。 那裡。 這是更好,更好。 所以,如果你要複製的東西, 簡單的作為。 CP是副本。 

所以,我們已經討論了移動, 製作目錄,複製。 讓我們來看看還有什麼我應該去了? 哦,是的。 我們走了這一點。 因此,這是真棒。 比方說,我想to--哦,等等。 我要重新回到真棒。 

比方說,我不想要 這些文件就在這裡。 比方說,我希望他們在新的 目錄如同目錄真棒。 我要開始舉辦, 所以現在我要去 有一個叫喜新目錄。 它有所有的程序 我寫所謂的喜。 那麼,如何才能做到這一點? 

學生:改變目錄。 

傑森·赫塞豪恩:是啊。 喜。 布普。 MKDIR hi_dir。 它抱怨,因為我 已經有一個喜在這裡。 所以,現在我有一個喜目錄。 所以現在我想移動的一切, 所有的節目我寫的, 我想移動至 到喜目錄。 只是乾淨的東西了。 我該怎麼辦呢? 

學生:[聽不清]。 

傑森·赫塞豪恩:移動它,對不對? 所以,讓我們繼續前進。 是嗎? 

學生:有什麼的區別 喜hi.c,我們已經有了。 傑森·赫塞豪恩:哦, hi.c是實際的。 所以這是你寫的文件。 所以,如果你要 在gedit中或納米打開它, 這就是你輸入的是什麼。 當你編譯它,然後 你會得到一個可執行文件。 這是喜。 所以,如果你打開了喜,這是怎麼回事 是一堆亂碼給你。 這基本上將是 一群計算機指令。 這是怎麼回事? 

學生:怎麼所有的顏色是什麼意思? 藍色可能是目錄。 什麼是黃色? 

傑森·赫塞豪恩:那些 是可執行文件。 因此,當我沒做hi.c,它 給了我 - 這樣我就可以做到這一點。 偷步。 所以,除去喜是肯定的。 那麼接下來讓我們做LS。 我沒有喜了。 當你的話,那就是當你 帶你寫的程序 你讓一個可執行文件。 因此,請hi.c--好,讓喜。 我想他去了這個講座。 

這些都是一堆 編譯器指令。 因此,有代替實際 寫的所有這些鐺。 這些都是標誌。 你只寫做。 所以這使得可執行文件。 所以,當你做LS,你現在有高科技。 因此,這是你在做什麼 要真正運行。 所以你運行做 ./hi,它運行你的程序。 但是,如果我嘗試這樣做,與 hi.c,不,是行不通的。 是啊,這是否有意義? 

學生:嗯。 

傑森·赫塞豪恩:酷。 等等,我想說點別的。 只是真正的快,萬一 有人有興趣, 當你跳出一個 目錄,它的點點。 沒有任何人有一個想法是什麼 也許只是奇異點的方法呢? 學生:[聽不清]。 傑森·赫塞豪恩:這是 實際上當前目錄。 所以這是你的當前目錄。 所以,我在這裡。 我在真棒。 如果我做CD的點,它不會做任何事情。 它帶我到我的當前目錄。 所以有點多餘,但你必須 要做到這一點,那麼你./程序名, 為了運行 程序,你必須這樣做。 行。 

學生:如果你的CD點 點點,然而,許多小點 將它只是帶你 許多目錄? 

傑森·赫塞豪恩:你的意思是 如CD點點點點? 學生:是啊。 傑森·赫塞豪恩:第 因此,實際上還記得我當時的ls -l? 如果我做別的事情,我可以宋體表示。 那麼,這說的是-a 顯示你的一切。 所以,它表明你的東西都是 隱藏和非隱藏的東西。 所以,如果你發現,當我這樣做 只是LS,我剛才看到的東西, 的東西,我做了。 如果我做-a,這是怎麼回事 給我的一切。 因此當前目錄, 目錄上面。 這是否有道理? 是嗎? 

學生:但是這些都不是 實際上,在目錄中。 當前目錄本身不是, 那麼為什麼顯示這些裡面點? 

傑森·赫塞豪恩:你的意思是 好像這不是在目錄中。 

學生:對。 因此,我們對事物的清單 是在目錄中。 

JASON赫塞豪恩:我認為 它是在目錄中。 像-a顯示所有內容,即使 它是隱藏的目錄中。 所以,我認為這只是給一個路線 如果是有道理的當前目錄。 這是一個有點遞歸。 這就像盜夢空間。 這是怎麼回事? 

學生:所以你說 -a顯示[聽不清]? 傑森·赫塞豪恩:-a,是的。 

學生:是什麼使得它[聽不清]? 傑森·赫塞豪恩:嗯,比如說, 讓我們回到了頂端。 它通常的東西,你不應該惹 有和你不需要擔心。 因此,這是一種家的。 如果我做-a,我得到噸的東西。 所有的東西。 而且你不需要亂七八糟 與任何東西。 絕對不打算啟動 在這裡,只是刪除的東西。 

[笑] 

是啊,這是多一點點 舒適的東西,但它是很好的了解。 我認為這是很好的了解。 但是,如果你從來沒有想要鍵入-a 本課程的全部, 忘掉它。 這是怎麼回事? 

學生:什麼是ls -l命令? 傑森·赫塞豪恩:那 顯示你的權限。 基本上你使用 對於權限,因此-l。 它顯示了你一個小 更多的信息, 但是同樣,這是一個小 位更舒適的東西。 這些只是權限。 該文件夾,這樣的權限。 所以只是舉例,比方說我做了一個 文件夾,所以d表示目錄。 因此,那些是目錄。 然後讀,寫,執行。 因此,這些都是為權限 我覺得用戶,組世界。 共過猶不及。 你要往這個樣 週從現在開始,只是讓你知道, 那些權限。 這是怎麼回事? 學生:你能明確的,而不是 剛剛跳過接下來的事情,可以你 -  傑森·赫塞豪恩:你 意思是真正的刪除? 我不知道。 我從來沒有做到這一點。 為什麼你要這麼做? 你為什麼要那樣做? 我喜歡它。 你生活在邊緣。 你就像我不希望任何這一點。 這是激烈的。 學生:[聽不清]。 傑森·赫塞豪恩:是的,我們能做到這一點。 很抱歉,配合尺寸是搞亂 完全嚇到我了現在。 讓我們上去。 是啊,所以現在我不能上去了。 所以一切我教 您已經一去不復返了。 謝謝。 我們做我們的目錄。 我們做了我們的文件之類的東西 這一點,所以我們仍然有所有的東西。 OK,我會走的快。 

所以,真正的快速。 因此,讓我們說我在真棒。 比方說,我想提出 一切新目錄 因為我只是想 組織,不是嗎? 所以,我會怎樣做。 動。 我們要再次使用招。 因此,移動hi.c. 而你所能做的就是 你開始上市的東西, 你列出的最後一件事是 在那裡它會移動。 所以移動hi.c,喜newhi newhi.c,hi_dir。 因此,這一切都感動到 最後一件事,你提到的。 所以後來更改目錄,hi_dir LS。 一切都在那裡。 所以這是很好的和更有條理。 

OK,讓我們說我恨 我原來喜程序。 我想擺脫它。 我該如何擺脫它? 這是怎麼回事? 

學生:[聽不清]。 傑森·赫塞豪恩:比方說,我只是 要刪除的程序,所以才喜。 不,你說得對。 所以它的RM,但你RM喜。 這將會給你一個小小的警告。 它會說你確定 要刪除這一點,是我做的。 如果你不希望 提示這樣的 因為你沒有時間 為警告,刪除-f。 這是另一個標誌。 這就像-l。 這就像-a。 這些僅僅是標誌,用於 你給了這些命令。 所以,刪除-f。 -f f為力。 所以迫使它。 我不想被提示。 所以,刪除-f。 讓我們做hi.c. 剛剛擺脫它。 它沒有告訴我。 

但是,假設,而不是我 這個目錄來完成。 我想擺脫目錄。 所以我刪除hi_dir。 不,那是行不通的。 沒有,所以它不會讓 我刪除一個目錄。 沒有任何人有一個想法? 

學生:是不是刪除目錄? 傑森·赫塞豪恩:所以去掉這個樣子? 

學生:沒有。 就在[聽不清]。 傑森·赫塞豪恩:不, 現在有沒有喜。 這裡還有hi_dir。 因此,這是該目錄。 所以實際上,你想要做什麼 is--哦,你有一個想法? 我看像一個半手。 

學生:[聽不清]。 傑森·赫塞豪恩:OK。 

學生:[聽不清]。 

傑森·赫塞豪恩:OK。 所以,如果我想刪除 一個目錄,刪除-r。 這是遞歸的。 所以,刪除該目錄遞歸。 所以,我希望你能進入該目錄, 在目錄中刪除了一切, 然後擺脫的目錄。 然後我要去 還有,因為I F 不希望它有警告提示我 後它會刪除每一個文件。 因此,除去-rf hi_dir。 熱潮,它的消失。 在您使用的只是小心些而已。 我要使用它 這裡也。 -rf真棒。 它的消失。 在您使用要小心。 如果您使用的是,這裡並鍵入一些 就是這樣,永遠不要做。 這將刪除你的一切 家電沒有警告過你。 我已經做到了。 分級習題上午4:00,我 想要刪除的問題設置目錄, 而我這樣做。 我很喜歡哦,我的上帝。 不要do--我試著取消它。 您可以取消。 指令C只是取消了一切, 但我已經刪除了一樣的75%。 所以,我毀了它。 人們做到這一點。 每個人都這樣做了。 不,雖然這學期做到這一點。 它吮吸。 我很緊張在這裡有它。 我要刪除它。 

[笑] 你能想像嗎? OK,問題。 是嗎? 

學生:所以如果我們所做的一切 你在這裡做什麼,這是相同的 作為剛剛進入實際 文件另存為[聽不清]。 傑森·赫塞豪恩:哦, 你通過gedit中的意思。 學生:是啊。 傑森·赫塞豪恩:是啊這是。 gedit中是有用的。 所以gedit中是非常有用的。 在這個類中,你可以做一個 很多事情通過gedit中。 您可以保存。 你可以重命名。 您可以將文件之類的東西, 但是當你去只是如實50-- 以及你在50-- 51,如果你去 到61,這將是你的生活。 這是命令行。 這是在那裡你會編程 為你的餘生, 所以肯定用gedit,如果你想要的。 這絕對是一個很好的方式開始。 對於第一個問題集,絕對 用,但每過一段時間 盡量獲得更多的使用更舒適 用命令行參數。 但是你可以,​​絕對。 這是怎麼回事? 

學生:所以當我們要刪除 我們已經取得的文件之一, 有兩種方法。 [聽不清]。 在那裡,當你的方式 刪除一個目錄 索要提示,以便您 最終不會刪除它? 傑森·赫塞豪恩:RM -r。 所以,不要強迫它。 所以,RM -r。 這將通過遞歸, 刪除一切,提示您 之後的一切,這 將推動你瘋了。 就像我幾乎完全做到RM -f和rm -rf,只是不斷。 我很喜歡我沒有時間。 我是個大忙人。 好吧,這是怎麼回事? 是啊。 

學生:有沒有撤消,或 垃圾桶,或類似的東西? 傑森·赫塞豪恩:第 [笑] 我可以回去,讓我 我剛剛刪除設備,沒有。 不,不,不。 如果你這樣做的RM,應該走了。 這是怎麼回事? 

學生:所以,你可以 [聽不清]在一起。 傑森·赫塞豪恩:是啊,就是這樣。 因此,例如,你看到的命令rm -rf。 比方說,我想 做LS -la,它讓我 一切,甚至隱藏 東西與他們的權限。 

學生:所以後來R,使用-r 標誌,如果我們沒有這方面的, 我們不能刪除一個目錄,對不對? 

傑森·赫塞豪恩:對。 

學生:所以說,我們要 做一些與目錄? 那是什麼意思? 

傑森·赫塞豪恩:-r遞歸手段。 這樣一個目錄是要 它有文件,對不對? 所以,你想要做什麼,你 要進入該目錄, 刪除一切,所有的 在該目錄中的文件, 然後彈出刪除 實際的目錄。 所以-r遞歸手段,做到這一點 所有的遞歸如果是有道理的。 是啊。 

學生:所以目錄有 [聽不清],並刪除它。 還是你still-- 

傑森·赫塞豪恩:我們來試試。 所以MKDIR空。 刪除空。 號 

學生:沒有,所以你仍然需要the-- 

傑森·赫塞豪恩:是啊,總是這樣。 所以-r,-rf,空。 真棒。 了問題嗎? 我認為這是你的崩潰 當然,在命令行的東西。 如有任何問題,因為我們要 跳轉過來的數據類型和循環, 和所有的東西? 這是怎麼回事? 

學生:我沒有CS50 顯示作為我的目錄之一。 是正常的嗎? 

傑森·赫塞豪恩:哦,是的。 這是我的。 是啊,這就是我的 解決方案要你的東西是。 

[笑] 

所以,是的,這是完全正常的。 我想你可能會 只是有這四種。 我認為這可能是正常的。 是啊。 好了,任何問題? 我知道這是超級快。 這是怎麼回事? 

學生:我看到了藍綠色。 那是什麼? 

傑森·赫塞豪恩:這意味著目錄。 學生:這是藍色的? 

傑森·赫塞豪恩:哦, 你的意思是這個藍色的綠色的嗎? 

學生:沒有。 

傑森·赫塞豪恩:這個藍綠色的嗎? 

學生:沒有。 當你listed-- 傑森·赫塞豪恩:哦。 像這樣? 

學生:是的,這些圖標。 

傑森·赫塞豪恩:哦,這個。 我不知道。 這意味著什麼? 因此,它似乎是 指向一個目錄。 

學生:它幾乎看起來像一個別名。 

傑森·赫塞豪恩:可能是。 你不需要知道。 了問題嗎? 真棒。 如果您有任何問題, 我知道這是一個很大。 很多這種信息 會上網。 我把它放到網上供你們。 B節將在線為好。 或者,如果你有任何問題, 剛上來,問我。 幹得好。 所以,現在沙龍 漢娜去了一些 問題背後的邏輯設定之一。 

雪倫:哦,我的上帝。 煩惱。 

漢娜:在此期間,我是漢娜。 這是沙龍。 我們都是CS50轉錄因子,並 我們要去給你 一對夫婦重要的一點介紹 事情的問題集之一。 從數據類型的一切 以條件語句為循環。 迴路中一般。 

夏倫:而在最後,我們 將看看P設置之一, 要知道你有什麼吧。 因此,讓我們先從數據類型。 你們應該熟悉 那些以藍色突出顯示。 因此,我們可以用整數的開始。 int為整數,因此一個,兩個, 三,四。浮筒,浮動點。 像帶有小數的整數, 所以5.2甚至5.0。 字符都像A,B,C字符 和一個字符串,你們都知道。 像CS50或hello和world。 

布爾是一個​​布爾值,所以我們有 真假作為我們的布爾值。 因此,如果計算的東西來truth-- 5等於5,即計算為true, 如果我們有5等於4,這是 假的,這樣計算為false。 在這裡,我們有相關的 所有這些數據類型的大小。 你必須知道 這對你的測驗, 所以這可能是有用的 記住,但我們會發布這些。 其實他們已經發布。 所以,你應該熟悉 以藍色突出顯示的人。 

傑森·赫塞豪恩:房地產 很快,萬一你 想知道其中的差別 之間的字符和字符串。 所以,當你寫的東西, 只要你有類似“喜” 那將是一個字符串。 因此,如果有兩個 報價,這是一個字符串。 但如果我是一個“H” 這樣,這是一個字符串。 但是,如果我只有一個 報價,這是一個字符。 所以有什麼 區別你可能會問。 好了,所不同的是 這是存儲器的一個字節。 這是4個字節的存儲器。 

夏倫:浮動? 又形容呢? 好吧,這有點像一些 具有小數點有了它, 所以5.2甚至5.0是一個浮點數 與僅有5是一個int。 學生:[聽不清]。 

雪倫:哦,它可以有很多 小數點,所以5.675至3.1415。 是嗎? 

學生:我們需要知道的 所有的大小呢? 夏倫:是的。 學生:[聽不清]。 

夏倫:你不擔心 在白色的,只是還沒有。 

漢娜:本筆記 張貼在CS50.net/sections。 學生:剛出來的 好奇,有沒有效用 要知道你的文件的大小 調用,這樣我們應該知道嗎? 

夏倫:所以這些都是 數據類型,但是肯定的。 所以在這種情況下,其中一個會 佔用更多的內存或更多的空間? 

傑森·赫塞豪恩:所以 對於一個具體的例子, 在我認為,問題集 四,五,我們 去給你一串 的數據,而你基本上 必須遍歷該數據。 因此,它是有用的知道, 如果你有這麼多的整數, 那將是怎樣。 因此,讓我們說,我給你10 整數,什麼是對的大小? 學生:40。 傑森·赫塞豪恩:40字節,右。 所以,你可能需要知道 OK,我要跳40個字節。 所以我們說,而不是它的40個字符, then--比方說,我給你10個字符, 那麼你知道,行,我只 需要跳10個字節​​。 所以這是非常有用的了解 實際的數據類型的大小, 因為很多時候,你會 跳來跳去的數據, 所以,你需要知道如何遠跳。 

學生:有什麼區別 引號和一個單引號之間? 

傑森·赫塞豪恩:OK, 兩個單引號是一個字符串。 一個單引號是一個char。 

學生:像操作上, 有什麼區別? 他們都打招呼。 傑森·赫塞豪恩:哦,對不起。 這只是小時。 遺憾,這是不明確的。 

學生:所以頂部埃德蒙頓 傑森·赫塞豪恩:這 是一個字符串,是的。 因此,這兩個人物,對不對? 字符串,喜。 但讓​​我們說我只 有一個單一的字符, 如果我把兩個引號 剛小時,這是一個字符串。 這是一個字符串小時。 這是否有道理? 因此,這是四個字節。 但是,假設我擺脫 那是只放一。 一個單引號。 現在這是一個字符,一個字符小時。 所以,同樣的事情, 不同的數據類型。 這僅僅是一個字節,而 該字符串是四個字節。 是啊。 學生:所以,如果你試圖 存儲一個字像大衛, 你想用一個字符串,因為 無論線是多長, 它只會佔用4個字節 除非它是一個很長很長 或雙,其中case--因此,如果它 超出四個大字,然後 你想讓它變成字符串。 就是一般的邏輯背後。 傑森·赫塞豪恩:若延續 超過一個字符,它是一個字符串。 

學生:那麼有沒有[聽不清] 以存儲四個字母 字為四個單獨或三字母 字作為三個獨立的字符 因為這將只有3個字節, 相對於這三個部分的字符串。 傑森·赫塞豪恩:你可以做到這一點。 你可以這樣做,但我不 認為這是真正有價值的, 因為你只保存一個字節。 你知道我在說什麼? 在物聯網的大計劃, 不會真的無所謂。 但是,例如,printf的,如果 你打印f和你 有三個字符,你可以打印 這out--讓我們說你C-A-T, 你可以通過打印出貓 做一個字符一個字符一個字符, 或者你可以打印出字符串的貓。 這是同樣的事情。 所以,你可以做到這一點像,但 -  

學生:它不會 為您節省這麼多。 

傑森·赫塞豪恩:是啊。 頭痛,這將 誘導是不值得的。 是嗎? 

學生:例如, 你有轟一個 對二,單引號或雙引號。 為什麼要保存 一個字母的字符串。 它是有史以來的目的是什麼? JASON赫塞豪恩:我不知道。 我的意思是,它真的 取決於程序。 舉例來說,我覺得以後 你會進入命令行的東西。 因此,例如,代替我 問你一個integer--抱歉, 我可以對著你? 漢娜:是的。 

傑森·赫塞豪恩:所以 例如,代替 我問的東西 以get結束,這 我想你可能已經看到了一個講座, 有可能是一個命令行。 您只需鍵入它在命令行中。 這會是怎樣的 -  / hello4或 東西,或者helloh小時,等等。 你在命令行做 而不是被要求的話, 該命令行總是一個 字符串,無論是四或H, 這始終是一個字符串。 所以這是一個例子,當你可能 有一個單一的字母或一個奇異的 號表示為一個字符串。 雪倫:好吧。 然後這裡有一些基本的運營商。 希望你熟悉 第4只是一般。 因此,有加,減, 乘,除, 並確保你使用 正確的按鍵。 

然後還有模,其中一些 你可能不是很熟悉。 什麼模做的是, 如果我們把這個例子4%2, 所花費的剩餘 在不分裂是什麼。 所以4除以2是2, 而且也沒有剩下。 4除以3為1, 1/3,所以剩下的1。 所以它計算到1。 然後4%5是分數 4/5,並且餘數是4。 這是否有道理? OK,爽。 我們遵循PEMDAS這裡。 

因此,一些布爾表達式。 所以,你們已經看到了等於等號 進行比較,也就是說,兩個數字。 所以,如果5等於等於5, 其計算為true。 請確保你只有一個等號。 對於不等於,它的 嘭或感嘆號。 

漢娜:兩個等號 當你做平等。 

雪倫:哦,是的。 請確保你不 有一個等號。 然後不等於, 它的爆炸平等的。 然後你可以去翻 對於小於,大於。 然後我們有邏輯性 和邏輯或就在這裡。 和什麼一樣,如果 你還記得刮 當你有這樣的塊 這和說,然後你 可以容納兩個不同的部分 有,這就是這一點,確實。 並確保你做兩&符號。 而這個鍵就可以找到對 沒錯,就在你的刪除按鈕。 問題? 

學生:什麼是[聽不清]? 

雪倫:好吧,如果你只做 1,你在比較的位。 所以,如果你還記得什麼位 是,它們是0和1的等 這是比較別的東西。 所以,我們要關注這個現在。 

傑森·赫塞豪恩:所以一等於 就像賦值,對不對? 因此,如int x等於4。 你是說那個變量x等於4。 所以1等於就是分配, 但阿富汗國家發展戰略和管 或酒吧,就像沙龍 說,他們是按位運算符。 你不必擔心。 

學生:如果你使用的邏輯 與和邏輯或再次? 我只是忘了,當你做到這一點。 

漢娜:當然,如果你想 檢查兩個東西都是真實的, 例如,讓我們說我要檢查 一個數是5至15, 我想說確保 的數量大於5。 所以我們可以說,如果X大於 大於5且小於15。 因此,為了使該全 語句來計算為true, 你既需要那種子的 語句來評價真。 或你只需要 所述兩個或兩個。 學生:太好了,謝謝你。 

夏倫:同時在刮,我 請務必在很多的項目 你如果有接觸的邊緣,或者 接觸到另一個精靈則反彈 什麼的。 漢娜:好吧,那麼我們為什麼 關心這些布爾變量? 我們有你所這些結構 可見划痕稱為條件語句。 而條件的任何東西 如果形成某種條件或某種布爾 是真實的,然後做代碼 這些大括號之間。 所以,你可以在右邊看到 這裡是划痕塊。 你有這樣的,如果再和任何 即進入那個小的形狀, 貌似this--我 不知道你會 叫that--那將 是布爾值或條件。 

如此反复,一個布爾或 條件是什麼 要么計算結果為true或false。 再次,你可以結合布爾值。 可以有,同樣,x是大於 大於5且x是小於15。 或者你可以有一個 那些x的是小於5。 

好了,在C中它的左邊。 這是否僅僅是關鍵字。 在括號中, 條件或布爾。 然後在之間的代碼 這兩個大括號 將只執行,如果將只運行 該條件或布爾值是真。 這是否有道理? 真棒。 行。 然後,你可以 已經看到了從無到有, 我們還可以添加上 否則,這基本上是 之間的任何東西 在其他大括號 如果將只執行 條件為假。 有意義嗎? 關於這兩個問題嗎? 真棒。 

涼爽。 所以這裡有一個簡單的例子。 比方說,我們要 確定,根據該時間, 我們是否應該說不錯 早晨或晚上好。 我會說,如果是中午12點前, 我們要早安說, 否則,我們將 說好晚上。 當我說,否則, 這是在C這個別的等價的。 所以,我們要檢查 軍事時間小於12時, 說早上好。 否則,說好晚上。 

學生:所以我們就真正得到了輸入 對於用get字符串軍用時間。 漢娜:對。 難道別的地方,我們其實倒是 必須提供該信息。 在這裡它沒有價值。 我們甚至從來沒有宣稱它。 我認為上面的某個地方 這個節目,我宣布的時候, 或問時間,or-- 什麼都用這個例子嗎? 真棒。 

好了,現在我們已經在另外 以簡單的if else格式, 我們有兩個不同的結構。 因此,首先我們有開關 語句,這裡的 switch語句的一般形式。 您的關鍵字是切換 同樣的方式,你如果有關鍵字。 然後一個輸入端,在此當n。 所以這個只能用整數的工作。 使輸入n具有 是一個整數,好不好? 而我們要 請執行下列情形之一 這取決於該值,n為。 

因此,在這種情況下,你首先比較 為n等於常數1, 如果是,盡一切 種縮進在這裡。 我可以指向它,因為我太矮了。 如果它不等於常數1 並且是代替等於常數2, 我們要遵循的第二塊, 我們可以盡可能多的時間做到這一點 因為我們想要的,那麼默認的是,如果 它不符合上述任何情況下, 執行該代碼。 這裡有什麼問題嗎? 這個人是有點複雜。 是嗎? 

學生:休息標誌著什麼? 

漢娜:當然,所以一旦我們進入 該塊,如果發現,我們說, 我們的n為實際上等於常數1, 我們進入結腸後,該塊。 我們做什麼是 該行註釋的, 然後我們分手,這意味著我們走出 這個switch語句的全部。 學生:OK。 

漢娜:嗯? 

學生:是的壓痕 必要時,或者你需要[聽不清]? 漢娜:當然。 所以,一如既往,壓痕 不是嚴格必需的。 電腦不 不管你縮進。 我們作為人誰是 閱讀你的代碼,做護理。 所以這是一個更容易 抬頭看屏幕 看看,哦,我知道到底是什麼 當n等於常數發生對象。 如果我有隨機的縮進,我 也不能這麼容易分辨。 是嗎? 

學生:所以,如果想讓用戶 在選項中選擇一個 我們的名單上,將 我們使用,我想,[聽不清] 但得到一個整數 他們把那成n? 漢娜:完全正確。 所以我們可以說,我們希望 檢查什麼的整數。 我們說,哦,輸入一個整數 介於0和5,讓我們說。 我們可以要求該 N,要求該值, 然後讓每個這樣的情況。 再次,這是後話,我們可以 與if語句很容易做到, 對不對? 我們可以有,如果等於區分 1,如果等於案例二, 如果等於案例三, 等,等等。 這是一個有點快 和少許清潔劑。 這是一種一個不錯的結構了。 學生:快如以書面形式? 抑或是運行 電腦快一點? 

漢娜:它運行快一點。 是嗎? 

學生:所以雙 破折號只是評論or-- 

漢娜:哦,我很抱歉。 我不指出這一點。 OK,如果你有//,是一條評論。 剛//是一條評論。 所以,任何時候電腦 看到這,這是怎麼回事 說的好,什麼都遵循 這一點,我只是忽視。 我會假裝你 甚至從來沒有寫到。 

學生:所以這個[聽不清]。 

漢娜:這確實絕對沒有。 但是,如果我寫的東西像​​上 第一個評論我寫的,而不是printf的 說你輸入的祝賀 定一個,那會是什麼。 是嗎? 

學生:所以在現實生活中, 情況下也只是簡單的一個數字 然後[聽不清] 將是另一個整數。 

漢娜:沒錯。 

學生:那你需要的省略號? 

漢娜:對不起? 

學生:你需要的是什麼? 

漢娜:哦,不。 對不起。 這只是為了說明,你可以 只要你想繼續為盡可能多的情況下。 讓我們做一個具體的例子, 可能使事情變得更加清晰。 好了,讓我們說,我說, OK,給我一個整數n 代表一個類號, 特別是計算機科學類 號。 所以,如果你給我50, 我要說偉大的。 CS50是一本介紹計算機 學,然後我要去打破。 因此,這意味著我跳出 這整個switch語句, 所以現在我做運行的代碼,好不好? 

如果你給了我,而不是51,我最好 打印的第二條語句。 然後,如果你給了我一些 數量不是50或51, 我會說對不起,我 不熟悉這個類。 是嗎? 

學生:你沒有休息。 

漢娜:對不起,我沒有休息? 

學生:如果什麼。 

漢娜:哦,如果有什麼 你沒有突破? 非常好的問題。 那麼會發生什麼,你是會去的, 你會檢查我是等於50? 讓我們說,是的,你是平等的 50,你打印的聲明。 然後你會繼續執行, 所以你會說我是等於51? 你會去走 通過這樣的每一個案件? 是嗎? 

學生:是默認的行 類似於說別的嗎? 漢娜:沒錯。 挺好。 這就像那種抓所有。 

學生:所以,如果你沒有休息 再一個case語句 是真的,然後將其 說增加n乘1, 然後它會自動 做下一個。 它會檢查的情況下51,和 然後顯示呢? 漢娜:是的,我認為這是可行的。 種這樣你就可以得到凌亂,所以 休息是一件好事,有。 是嗎? 學生:不休息 它會做的默認? 漢娜:這是一個很好的問題。 JASON赫塞豪恩:我認為它只是運行。 所以,如果你沒有break--這樣 比方說,我做了50和它簽50, 它會打印出來。 打印出CS50的介紹 計算機科學。 你沒有突破,就應該去 並保持下去,直到它擊中休息。 所以,如果沒有突破, 它會繼續下去。 這將打印一切了。 

漢娜:所以我想這將 是包括默認。 

傑森·赫塞豪恩:是啊。 

漢娜:好問題。 是嗎? 學生:是的情況下被認為是功能? 漢娜:對不起? 學生:是的情況下被認為是功能? 漢娜:是的情況下考慮的功能。 我會毫不猶豫地說。 

傑森·赫塞豪恩:所以一般 當你看到功能 他們將在大括號。 因此,例如,當你看 在你的代碼,例如,主。 這是主要的開放括號, 那麼無效,關閉括號。 Functions--,他們基本上 你總是會看到括號。 如果情況不那麼情況 有括號, 這是你的線索, 這不是一個函數。 但事實並非如此。 是嗎? 

學生:所以後來做了 使切換功能? 

漢娜:是否使 切換的功能。 

學生:在這個意義上 你把東西, 它給你的案例之一。 JASON赫塞豪恩:我 不會把它的功能。 不是一切與 括號是一個函數。 我的意思是,這是一個線索 它是一個函數。 我不會說開關是 功能,因為它不是真正的 返回任何東西。 你會惹上更多。 

漢娜:是啊,只是覺得 它作為一個if結構。 學生:你能巢 這在if結構? 漢娜:是啊,你窩 幾乎任何東西。 

學生:巴里說報價 是有點像一樣的東西。 所以,你可以替換其他引號? 

漢娜:不是在這個特殊的 結構,因為開關 聲明期待Word默認。 計算機知道默認 意味著一些特別的東西,那 是指漁獲所有。 什麼都在這。 我們有一個更打通。 是嗎? 

學生:[聽不清]。 漢娜:區別 使用分號和冒號。 所以分號總是告訴 計算機,我做這一行。 您可以繼續執行。 這是一個完整的線。 冒號去,在這種情況下, 帶你進入一個特定的塊。 所以分號 始終使用結束行。 冒號用於 其他各種情況。 

學生:這是相當於 只是說,如果n等於50,則 等等等等等等。 漢娜:嗯。 學生:這是一樣的[聽不清]。 漢娜:沒錯。 我們說,它運行快一點點。 如果我們沒有足夠的休息, 這將是一樣,如果,如​​果,如​​果。 如果我們確實有突破,這是 否則的話,如果還有其他的話,如果像。 很酷吧? 

傑森·赫塞豪恩:所以當 編碼,你可以用別人的話, 但我認為去年的測驗我們 讓他們寫一個switch語句, 所以以防萬一。 漢娜:但是肯定沒有錯。 我們並不期待您的後顧之憂 關於性能瘋狂的事情。 只是,如果其他人是完全的罰款。 這些都是剛剛好 事情要做到心中有數。 

下面是我們的最後一個種 在此條件類別下降。 我們有什麼的 一般形式的條件?, 然後一小塊代碼 如果發生的情況是真實的。 然後冒號,一個小 一段代碼 如果條件執行 是假的,分號。 我們正在與該行完成的。 因此,語法是有點難看。 我們將通過一個 例如,我認為這是最清晰的。 因此,我們要分配 串教授 到1這兩個值中,任一 大衛·馬蘭與否大衛·馬蘭,好不好? 所以,你應該很熟悉 用字符串,教授=。 我們將指定字符串 到可變稱為教授。 

現在,我們要檢查 特定的條件。 在這種情況下,我們的條件 是class_num = = 50。 現在可能是一個 好時指出 當我們有串教授 =,這就是1等號。 這是任務。 而在class_num = = 50,這是兩個等號。 這是一個質量檢查。 因此,我們要說的是 類數等於50? 如果是這樣,分配大衛馬蘭教授。 如果不是,分配教授 不戴維·馬蘭。 有什麼問題嗎? 同樣,這只是一些 這是很好的了解。 你可以用,如果別人這樣做。 一個很好的練習題 可能是,當 你回家吧完全相同 在有條件的,如果其他的形式, 因為你可以做到這一點。 這裡有什麼問題嗎? 好吧,我想我們 要去上環。 真棒。 

雪倫:好吧,讓我們來談談 關於while循環。 因此,首先在左側可以看到這裡 -  OK,說,一會兒(條件)。 然後你做this-- 我們可以改變嗎? 

傑森·赫塞豪恩:它切斷。 

夏倫:OK,然後有 也花括號。 所以假裝花 括號是上面有 和下面的連連做到這一點。 因此,如果這些條件 括號中的值為true, 那麼你應該繼續做 無論是在while循環。 

因此,例如,我們可以 做一個實踐的問題。 我穿2耳環 現在,讓我們說 如果我穿的至少一個 聽,拍拍你的手。 所以,如果我們要繼續 通過這一點,我們going-- 

[掌聲] 

對不對? 而且我穿的,還有 - 確定。 是啊。 我不戴耳環 了,所以沒有更多的。 好了,那麼這時候你會停下來。 這可以說是 幾乎相當於變量。 比方說,你有一個 可變數目的耳環。 因此,儘管耳環數量較大 大於或等於1,拍手。 然後擊掌後 手,減量耳環。 不喜歡耳環減1。 所以遞減的耳環數量, 那麼你將通過while循環 兩次。 

並且如果條件為總 true--所以,如果,比方說,2 = = 2, 2總是等於2,對吧? 那麼你就永遠 做東西在裡面, 而這幾乎相當於該 永遠的循環,我們在划痕。 是嗎? 

學生:是雙方只是 寫一個while循環不同的方式? 

夏倫:所以我們的重點 在這一個第一。 然後讓我們比較 它有一個do while循環。 所以他們略有不同。 好了,讓我們說的條件仍是 而我穿的至少一個耳環, 我不會穿 任何耳環現在。 讓我們說要做,還是拍手,而 我穿的至少一個耳環。 會發生什麼? 

[CLAPS] 

嗯哦,伙計們。 好了,你應該拍 一次,因為基本上你 通過代碼的第一部分。 你這樣做不管是什麼,以及 那麼你看到的情況時, 你去回 這個循環,如果它是真實的。 這是否有道理? 

學生:你總是 做到這一點的第一次。 夏倫:你總是這樣做的 第一次無論 還是不說的條件是真還是假。 傑森·赫塞豪恩:什麼時候 你認為你可以使用呢? 當它是有意義的使用呢? 漢娜:是嗎? 學生:[聽不清]。 傑森·赫塞豪恩:對。 漢娜:非常好。 傑森·赫塞豪恩:所以 當提示用戶, 你會一直想 以提示用戶一次。 你總是會想 以提示用戶一次。 因此,而不是把 在一個while循環,你 放在do while循環,因為你 總是做它一次。 如果他們給你的 正確的答案,你就大功告成了。 如果他們不這樣做,那麼你再提示他們。 

雪倫:好吧,for循環。 因此,在划痕,我們不得不重複塊。 所以我們想重複的東西, 比方說,七次。 所以我們剛才說的重複7,和 說我是來幫你的白雪公主! 在C語言中,我們有for循環,如果我們 想通過什麼 的特定次數。 比方說,如果我們初始化 變矮人 和使sure--所以第一塊 第一個分號之前就在那裡, 我們初始化我們的變量 到了,我們將它設置為0。 而我們的變量有 是一個整數,中間體 和變量名是 矮人,我們矮人設置為0。 

之間的所述第二部分 兩個分號是我們的條件。 所以只要矮人 小於7, 我們將繼續堅持通過for循環。 然後最後一部分是做什麼 我們在今年年底的循環? 矮人++,這意味著我們 一個每次遞增矮人。 

那麼什麼會發生在這裡? 因此,首先我們要經歷。 我們有矮人為0, 然後我們要 打印我在這裡 幫你白雪公主! 然後矮人是要 增加,因為我們說矮人++。 矮人將是1。 然後我們compare--矮人是1。 我們把它比作是矮人小於7? 是。 我要通過這一次。 我是來幫你的白雪公主! 然後變成矮人 2,然後我們進行比較。 2小於7? 是。 我們將繼續經歷。 我們打算去 通過這個七次。 

所以,最後,我們要 有矮人= 0打印出來,我 這裡幫你白雪公主! 矮人等於1,2,3,4,5,和6。 請記住我們的索引為0。 因此,我們從0開始。 是嗎? 

學生:所以這是 不是做不同 因為這不打印 從最初在第一。 所以,你可以繼續同樣的事情。 你能做到這一點也與DO循環? 像相同的過程。 條件是矮人 比7或任何更小。 響應小於7。 夏倫:所以,你可以在技術上。 因此,如果我們回去to--您說話 關於while循環,對不對? 因此,do while循環 略有不同 因為我們每天至少保證 一旦我們將通過它, 所以這是最大的區別。 但隨著while循環,我們可以 雖然說矮人小於7, 做到這一點,然後 一個遞增矮人。 然後,我們必須初始化 這整個語句之前矮人 它等於0。 所以是的,我們能做到這一點這一點。 嗯? 

學生:你能回去[聽不清]? 夏倫:For循環? 學生:是啊,所以與矮人++, 好像這就是你以後怎麼辦 你已經跑了一些其他手段。 夏倫:正確。 學生:你能不能 沒有這一點,把它 -  雪倫:你能。 學生:所以是[聽不清]右後 在下方的下一行打印出來。 夏倫:是的,你可以把它放在那裡。 但後​​來你會 剛剛離開的空白。 

傑森·赫塞豪恩:你還是 需要分號雖然。 

夏倫:它看起來有點彆扭, 但你可以在技術上做到這一點。 技術上。 請不要。 是嗎? 

學生:有沒有 替代++? 還有什麼[聽不清]? 

雪倫:從技術上講它是的矮人。 一個等號,我們要去 將其設置為矮人加1。 因此,在技術上這是 什麼矮人++的手段。 這是否有道理? 

學生:是啊,但 有沒有什麼辦法? 如果你喜歡ever-- 

夏倫:是的,你可以做矮人 -   - 。 

學生:[聽不清]。 

夏倫:是的,你可以 做了許多事情。 漢娜:你可以增加2個。 您可以通過3遞增。 凡是將是不斷變化的, 它最終使病情。 

學生:所以,如果你想增加 2,你會怎麼寫? 

漢娜:你可以寫一dwarves-- 你可以寫這件事了。 矮人矮人= + 2。 或略有速記。 我只是打算寫+ = 2。 

學生:OK,你會寫 身在何方矮人++是存在的。 漢娜:沒錯。 夏倫:正確。 還有一個問題嗎? 是嗎? 

學生:[聽不清]矮人++? 夏倫:所以你don't-- 傑森·赫塞豪恩:是啊,不需要 它在那裡。 [聽不清]到底。 所以,你做[聽不清] 那些因為你 那種分裂的初始化, 條件和變化。 在最後,你不需要它。 夏倫:還要注意你 不需要分號 之後,整個整個的循環。 

學生:你將如何開始 負的初始數量, 例如? 

夏倫:你可以初始化 矮人等於負2。 

學生:你根本衝2? 

夏倫:是的,所以 負號,破折號2。 

學生:是[聽不清]到 初始化為矮人[聽不清]? 

夏倫:是的。 因此,如果我們剛剛初始化矮人 早些時候,只是做整型矮人分號, 再有,我們可以做 矮人設置等於0。 

學生:難道我們前面做的 該方案稱INT矮人= 0, 然後just-- 

夏倫:只要不have--這樣 也將再次成為一個空間, 但你仍然需要一個分號。 是啊。 嗯? 學生:請問這段代碼說什麼 矮人的價值之後。 如果你畢竟問它這是 完成打印矮人的值。 夏倫:你可以要求它這樣做。 學生:OK。 夏倫:但是你 要問這做那。 它不會為你做它。 我怕把我的耳環了。 這樣做在最後的掌聲。 只是在開玩笑。 

傑森·赫塞豪恩:所以這是相同的。 所以初始化在頂部。 狀態,打印,修改。 因此,這是完全一樣 如果任何人都可以看到。 學生:你為什麼不有 分號在第一行? 夏倫:在哪裡? 學生:第一行之後。 夏倫:4在括號後? 因為我們想要去 通過這個循環。 如果你看看在循環 一般情況下,它們沒有分號。 這是不實際的。 我們是好? 還有一個問題,兩個。 是嗎? 學生:這可能是 一點點前進, 但做矮人有 不同的[聽不清] 從變量[聽不清]。 雪倫:很好。 學生:[聽不清]。 

夏倫:是的,確實如此。 什麼? 傑森·赫塞豪恩:是的,所以它的作用。 如此正常範圍 事情是在大括號內。 所以範圍總是 要在大括號, 但是這種方法不會使 多大意義的for循環 因為我們初始化 矮人在大括號。 矮人所以正常的範圍,即 變量將不會延伸過去的。 這是一種特殊情況,雖然。 所以,你初始化 這些括號內, 然後你後來的範圍。 所以特殊情況。 它們不應該有,與 這was--這有意義嗎? 

學生:沒有。 

JASON赫塞豪恩:我可以過目一下。 那麼,你還有什麼困惑? 

學生:因為在你能使用dwarves--你 可以明顯地使用矮人[聽不清] 外面的公式嗎? 

傑森·赫塞豪恩:不,不。 所以它的範圍是僅僅內 大括號中的for循環,是啊。 夏倫:但是,如果你初始化 在fo​​r循環外矮人,然後 你可以在其他地方使用它 還有一個問題嗎? 不是嗎? 行。 

所以,我們談一點關於築巢 對於循環或嵌套條件語句, if語句。 因此,這裡是哪裡的例子 我們可以嵌套一個for循環。 比方說,我們正在打印 x的這個表就在這裡。 我們可能要to--如果第一 我們只是不看代碼 而我們只是想想而已,我們 想通過每一行 並打印每列,對不對? 這是否有道理? 行。 

所以在這裡,我們正在經歷 每一行的基本上每一行, 並有三排。 然後在每一行中 對於每一列,並且有 四列,打印X。 所以。 當行0和列 為0,我們打印此X。 然後我們繼續前進 通過該柱循環。 行仍然是0,但列是1。 然後列是2, 然後列3。 然後我們退出了這一點 因為循環再列 不再是小於4。 然後我們打印新的生產線, 我們去了新的生產線。 然後我們通過下一個 行,行得到增加, 我們再一次經歷了。 這是否有道理? 是嗎? 

學生:所以窩[聽不清]是 只是把它裡面的循環? 

夏倫:所以嵌套意味著我們 在一個for循環中有一個for循環, 像盜夢空間。 

學生:你不需要一個 特殊的旋轉或什麼? 你只要堅持正確的內部呢? 夏倫:正確。 是嗎? 

學生:可能是[聽不清],但 它看起來像有一個額外的空間 之間的所有的X的。 我不知道是否that's--如果 要真正做的節目, 它會做這樣的事情? 

夏倫:因此,沒有。 這是按Enter鍵。 這是壞我們的一部分。 道歉。 

漢娜:你將如何改變這種 程序,如果你做了一個額外的行? 

學生:[聽不清]。 夏倫:幹得好。 學生:您還可以打印相同 通過繞柱開關的事情, 對不對? 

夏倫:嗯? 

學生:所以要打印你的小 XXX,第一行可以說打印, 取而代之的說 行,它說列。 

夏倫:你可以改變 變量名來做到這一點。 是,你在說什麼? 

學生:不,我只是 說that--所以你 印刷行第一和 然後打印列。 可你也要先打印列 再行得到同樣的圖? 夏倫:你可以,但 那麼你將有 要小心在哪裡 你把新的生產線。 而且你會怎麼跳回來? 傑森·赫塞豪恩:如果 你只要打開它 和的值是不同的, 而不必four--是什麼呢? 三四個。 我想你有四個 行和三列。 這是否有道理? 

學生:是啊。 

傑森·赫塞豪恩:所以 是的,你可以做到這一點。 是的,絕對。 夏倫:但是,這會是真的只是 切換的變量的名稱。 好不好? 行。 好吧,P設定之一。 OK,所以它的第一部分 你會做這個,馬里奧。 只是在開玩笑。 它更喜歡這個。 所以,當我們剛剛看到的 嵌套的循環,使得該表, 想想你怎麼可能可以 以這種方式打印出這些#標籤。 然後在這裡你會怎樣 在這裡打印此權利,這個開放的空間。 

學生:[聽不清]。 夏倫:是啊,你剛才打印的空間。 好了,只是想想這一點。 漢娜:然後同 問題集的一部分 是一個叫做程序 greedy.c,讓你 會想思考 關於條件語句 並確保你 可以適當的改變。 和一個小小的警告我們為您提供 是要小心浮點值。 如果這意味著絕對沒有給你, 它會在講座本週被覆蓋 而且在[聽不清] 穿行,這 你們將學習 愛的習題集。 

有一件事,我真的建議, 特別是Mario.c, 當你做題 設置後,如果您遇到問題, 通過在紙上做開始。 寫出來,實際上坐在那裡 假裝是電腦, 去through--說 我是電腦, 我將如何跟進 本作遍歷? 怎麼會有我的變量 在fo​​r循環的變化? 這樣做在紙上 使得它的10倍更容易 當你坐下來在電腦前。 所以剛才我的小插頭。 

夏倫:而且也不要以為你 有編碼的一切一下子。 確保你把一個反复的過程。 做一點點,打印 它,看看會發生什麼。 有時,它是一個小的試驗和錯誤。 並得出辦公時間。 超級好玩。 傑森·赫塞豪恩:那麼什麼問題嗎? 沒事的傢伙,那 是你的第一個部分。 漢娜:謝謝你的光臨。 傑森·赫塞豪恩:謝謝你來了。 雪倫:謝謝。 [掌聲]