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