1 00:00:00,000 --> 00:00:00,330 2 00:00:00,330 --> 00:00:03,230 >> 演講嘉賓:讓我們實現一個程序, 提示輸入一個整數用戶 3 00:00:03,230 --> 00:00:05,850 但繼續促使他們 為另一個整數直到 4 00:00:05,850 --> 00:00:07,590 該整數為正。 5 00:00:07,590 --> 00:00:16,760 好吧,讓我們寫這篇文章,包括cs50.h, 包括標準的IO點H,整型 6 00:00:16,760 --> 00:00:18,010 主要的[作廢]。 7 00:00:18,010 --> 00:00:20,000 8 00:00:20,000 --> 00:00:23,200 現在,讓我們真正開始提示 用戶對於這個整數,同時保持在 9 00:00:23,200 --> 00:00:25,570 記住,我們要重新提示 他們直到 10 00:00:25,570 --> 00:00:26,860 號實際上是正的。 11 00:00:26,860 --> 00:00:30,160 >> 所以我想某種循環的 構造,但是,在執行一個循環 12 00:00:30,160 --> 00:00:31,200 至少一次。 13 00:00:31,200 --> 00:00:34,810 和調用do-whil​​e循環使 我們這樣做。 14 00:00:34,810 --> 00:00:36,140 讓我們來編寫這件事。 15 00:00:36,140 --> 00:00:39,210 >> 讓我們首先聲明一個int - 我們將 ■呼叫它 - 在其中存儲 16 00:00:39,210 --> 00:00:41,030 用戶的整數。 17 00:00:41,030 --> 00:00:44,250 現在,讓我們做到以下幾點。 18 00:00:44,250 --> 00:00:51,292 printf的,請給我一個正整數。 19 00:00:51,292 --> 00:00:54,470 現在,讓我們得到了使用整型 該CS50庫的調用getInt 20 00:00:54,470 --> 00:00:59,110 功能,正得到調用getInt。 21 00:00:59,110 --> 00:01:02,610 現在我們正在做的做的事情, 但我們會想這樣做 22 00:01:02,610 --> 00:01:04,580 而n是 - 23 00:01:04,580 --> 00:01:05,480 什麼? - 24 00:01:05,480 --> 00:01:09,370 小於1時,如果我們的確 要一個正整數。 25 00:01:09,370 --> 00:01:11,670 >> 現在,讓我們繼續前進,並打印出來。 26 00:01:11,670 --> 00:01:17,590 如果一切順利,謝謝 為正整數, 27 00:01:17,590 --> 00:01:19,360 分號,保存文件。 28 00:01:19,360 --> 00:01:21,480 現在讓我們來編譯和運行。 29 00:01:21,480 --> 00:01:25,550 >> 做出積極點斜線陽性。 30 00:01:25,550 --> 00:01:27,470 而現在我被提示我 對於正整數。 31 00:01:27,470 --> 00:01:29,630 讓我用1合作。 32 00:01:29,630 --> 00:01:31,330 感謝您的正整數。 33 00:01:31,330 --> 00:01:33,650 >> 現在,讓我們重新運行此程序 而不是合作。 34 00:01:33,650 --> 00:01:35,260 請給我一個正整數。 35 00:01:35,260 --> 00:01:37,300 怎麼樣負1? 36 00:01:37,300 --> 00:01:37,910 有意思的。 37 00:01:37,910 --> 00:01:40,460 該程序已經重新提示 我要一個int。 38 00:01:40,460 --> 00:01:43,170 >> 讓我們稍微多 很難與0。 39 00:01:43,170 --> 00:01:46,310 還不是一個正整數,所以讓我們 合作,這個時間 40 00:01:46,310 --> 00:01:48,280 提供,再次,1。 41 00:01:48,280 --> 00:01:49,990 感謝您的正整數。 42 00:01:49,990 --> 00:01:54,300 >> 現在需要注意的是我很重要 我宣布變量n在第6行, 43 00:01:54,300 --> 00:01:56,510 在do-whil​​e循環之外。 44 00:01:56,510 --> 00:02:01,030 如果我不是宣稱的n在我 do-whil​​e循環,特別是在,比方說, 45 00:02:01,030 --> 00:02:06,230 第10行,在這裡我也得到了來自整型 用戶,那詮釋n將只有 46 00:02:06,230 --> 00:02:09,904 捲曲的範圍內存在 括號是目前 47 00:02:09,904 --> 00:02:12,320 線8和上線路11。 48 00:02:12,320 --> 00:02:16,570 >> 換句話說,正將作用域 這do-whil​​e循環的內部。 49 00:02:16,570 --> 00:02:20,390 但問題是,我們還 想用n個行12 50 00:02:20,390 --> 00:02:21,900 裡面的條件。 51 00:02:21,900 --> 00:02:26,120 因此,即使它看起來並不那麼 漂亮,這是很刻意的說 52 00:02:26,120 --> 00:02:28,210 n為外聲明 這個do-whil​​e循環。 53 00:02:28,210 --> 00:02:29,838