1 00:00:00,000 --> 00:00:05,140 2 00:00:05,140 --> 00:00:05,640 خیلی خوب. 3 00:00:05,640 --> 00:00:08,330 پس به صحبت در مورد چیزی واقعا در programming-- مفید 4 00:00:08,330 --> 00:00:09,914 عبارات شرطی. 5 00:00:09,914 --> 00:00:11,830 عبارت شرطی بنابراین اجازه می دهد برنامه های خود را 6 00:00:11,830 --> 00:00:14,538 برای تصمیم گیری و مختلف چنگال در جاده، چیزی 7 00:00:14,538 --> 00:00:17,670 من به کمی پیشتر اشاره کردم، بسته به مقادیر متغیرهای، 8 00:00:17,670 --> 00:00:20,990 و یا بر اساس آنچه در ورودی های کاربر در برنامه نویس، در خط فرمان، 9 00:00:20,990 --> 00:00:23,130 و یا اگر شما یک اعلان یا چیزی شبیه به آن. 10 00:00:23,130 --> 00:00:26,690 C یک زن و شوهر از راه های مختلف به بیان عبارات شرطی، که 11 00:00:26,690 --> 00:00:29,911 ما نیز گاهی اوقات یک شاخه شرطی در برنامه خود را. 12 00:00:29,911 --> 00:00:32,910 و برخی از این حال رفتن به نگاه بسیار آشنا به شما، از ابتدا، 13 00:00:32,910 --> 00:00:35,190 بنابراین ما حتی به آنها را به جلو تا در کنار هم، فقط 14 00:00:35,190 --> 00:00:38,170 شما می توانید که قیاس در سر خود را. 15 00:00:38,170 --> 00:00:41,250 >> بنابراین، اگر یک if-- بسیار مشروط ساده. 16 00:00:41,250 --> 00:00:43,560 اگر شما از یاد ابتدا در سمت راست در اینجا 17 00:00:43,560 --> 00:00:50,000 شما می توانید پر کنید که در شش گوش است با بیان آبی اگر ماوس را پایین 18 00:00:50,000 --> 00:00:53,010 و یا اگر x کمتر از 10 باشد، یا چیزی شبیه به آن. 19 00:00:53,010 --> 00:00:57,390 و پس از آن، اگر x کمتر از 10 بود، و یا اگر ماوس در واقع، پایین، 20 00:00:57,390 --> 00:01:01,140 تمام کد داخل قطعه پازل را اجرا کند. 21 00:01:01,140 --> 00:01:03,720 تمام چیزهایی که مناسب در داخل که شکل C. 22 00:01:03,720 --> 00:01:07,200 >> به طور مشابه، آیا ما باید اگر در سمت چپ وجود دارد. 23 00:01:07,200 --> 00:01:09,210 اگر عبارت بولی، که من فقط با استفاده 24 00:01:09,210 --> 00:01:13,010 به عنوان یک جایگزین برای یکی از بولی عبارت ما قبلا بحث شد، 25 00:01:13,010 --> 00:01:15,240 آکولاد باز، آکولاد نزدیک است. 26 00:01:15,240 --> 00:01:17,720 بنابراین فکر می کنم باز فرفری بریس و آکولاد بسته 27 00:01:17,720 --> 00:01:22,720 عنوان مرتب سازی بر اساس شبیه به ساندویچ اثر بلوک if در سمت راست 28 00:01:22,720 --> 00:01:24,070 از ابتدا. 29 00:01:24,070 --> 00:01:28,680 >> اگر عبارت بولی در دستور if درست است، 30 00:01:28,680 --> 00:01:30,900 پس از آن همه خط کد بین آکولاد 31 00:01:30,900 --> 00:01:33,870 در اجرا خواهد شد از بالا تا پایین. 32 00:01:33,870 --> 00:01:35,700 اگر عبارت بولی نادرست است، ما 33 00:01:35,700 --> 00:01:38,610 جست و خیز بیش از همه چیز در بین آکولاد، چرا که تنها ما 34 00:01:38,610 --> 00:01:44,570 می خواهم به پایین که چنگال را در جاده اگر عبارت بولی درست است. 35 00:01:44,570 --> 00:01:48,540 >> ما می توانیم این گامی اگر بیشتر با دیگری. 36 00:01:48,540 --> 00:01:50,820 بنابراین این بلوک خراش است بسیار شبیه به یکی از 37 00:01:50,820 --> 00:01:55,884 ما شاهد یک ثانیه پیش، به جز آن دو مسیر مختلف بر اساس طول می کشد 38 00:01:55,884 --> 00:01:56,550 در چه اتفاقی می افتد. 39 00:01:56,550 --> 00:02:00,420 بنابراین اگر ماوس به طرف پایین بود، و یا اگر x کمتر از 10 بود، 40 00:02:00,420 --> 00:02:04,780 ما همه چیز را که در بین این کار را انجام که چنگال اول، که برای اولین بار C.، 41 00:02:04,780 --> 00:02:08,430 >> در غیر این صورت، اگر ماوس است ، و یا X است کمتر از 10، 42 00:02:08,430 --> 00:02:10,460 ما همه چیز را در مجموعه دوم را انجام دهد. 43 00:02:10,460 --> 00:02:15,010 و که شبیه به آنچه می بینید در اینجا برای بیان C. اگر بولی، 44 00:02:15,010 --> 00:02:17,910 انجام این مسائل بین اول آکولاد تنظیم شده است. 45 00:02:17,910 --> 00:02:20,550 دیگری، انجام این مسائل بین دوم آکولاد تنظیم شده است. 46 00:02:20,550 --> 00:02:22,080 بنابراین اگر بولی بیان درست است، ما 47 00:02:22,080 --> 00:02:23,580 انجام هر کاری را بین اولین مجموعه. 48 00:02:23,580 --> 00:02:27,480 اگر عبارت بولی است نادرست، که به دیگری را آغاز کند، 49 00:02:27,480 --> 00:02:30,100 و ما هر آنچه در انجام مجموعه دوم از آکولاد. 50 00:02:30,100 --> 00:02:34,190 باز هم، بالا به پایین، همه خطوط در بین پرانتز. 51 00:02:34,190 --> 00:02:38,130 >> در C، آن را ممکن است برای ایجاد از اگر-اگر دیگری دیگری، زنجیره ای. 52 00:02:38,130 --> 00:02:42,000 در واقع شما می توانید اگر-اگر دیگری دیگری، اگر-دیگری، اگر، و غیره و غیره و غیره 53 00:02:42,000 --> 00:02:42,720 بر. 54 00:02:42,720 --> 00:02:44,660 در ابتدا، این مورد نیاز تودرتو بلوک. 55 00:02:44,660 --> 00:02:48,280 شما اضافه کردن یک IF-دیگری، و شما را به حال قرار دادن یک دیگر در داخل از دیگری، 56 00:02:48,280 --> 00:02:51,110 و غیره، و آن هم از نوع کردم از تو در تو و پیچیده است. 57 00:02:51,110 --> 00:02:52,450 اما C، ما مجبور به انجام این کار. 58 00:02:52,450 --> 00:02:55,300 ما در واقع می تواند فقط باید آن را به یک زنجیره از این 59 00:02:55,300 --> 00:02:58,350 دوباره، به عنوان شما ممکن است انتظار، همه از این شاخه متقابلا منحصر به فرد. 60 00:02:58,350 --> 00:03:00,750 شما فقط می توانید تا کنون پایین یکی از شعبه. 61 00:03:00,750 --> 00:03:02,270 اگر این درست است. 62 00:03:02,270 --> 00:03:03,930 در غیر این صورت، اگر این درست است. 63 00:03:03,930 --> 00:03:05,700 در غیر این صورت، اگر این درست است. 64 00:03:05,700 --> 00:03:07,120 در غیر این صورت، این کار را. 65 00:03:07,120 --> 00:03:11,010 بنابراین هر چهار شاخه در این به عنوان مثال متقابلا منحصر به فرد هستند. 66 00:03:11,010 --> 00:03:14,900 اگر-دیگری زنجیره IF-دیگری است. 67 00:03:14,900 --> 00:03:17,580 >> ممکن است هر چند، و گاهی اوقات بسیار مفید است، 68 00:03:17,580 --> 00:03:20,950 برای ایجاد یک زنجیره نه شاخه متقابلا منحصر به فرد. 69 00:03:20,950 --> 00:03:24,600 در این مثال، تنها سوم و شاخه چهارم متقابلا منحصر به فرد. 70 00:03:24,600 --> 00:03:27,450 این می تواند که شما می تواند شرط اول، 71 00:03:27,450 --> 00:03:29,396 و شما می توانید برآورده شرط دوم، 72 00:03:29,396 --> 00:03:31,770 و شما می توانید برآورده condition-- سوم که در این صورت 73 00:03:31,770 --> 00:03:35,270 شما می به پایین شاخه اول، پس از آن شما را به پایین شاخه دوم، 74 00:03:35,270 --> 00:03:37,000 سپس شما می توانید به پایین شعبه سوم. 75 00:03:37,000 --> 00:03:40,450 یا شاید شما اولین برآورده شرایط و شرط دوم، 76 00:03:40,450 --> 00:03:42,770 اما شما راضی نیست شرط سوم. 77 00:03:42,770 --> 00:03:46,230 در این مورد شما پایین اول شاخه و شعبه دوم، 78 00:03:46,230 --> 00:03:48,040 و پس از آن شعبه چهارم، 79 00:03:48,040 --> 00:03:51,392 >> دلیل این کار این است که دیگری تنها به نزدیکترین اگر متصل شوند. 80 00:03:51,392 --> 00:03:53,100 بنابراین حتی اگر وجود دارد یک else در اینجا، که 81 00:03:53,100 --> 00:03:56,490 لزوما ایجاد یک متقابل زنجیره ای منحصر به فرد از همه چیز. 82 00:03:56,490 --> 00:04:00,890 این تنها بیان است با بولی 83 00:04:00,890 --> 00:04:05,040 بیان 3-- که این متقابلا منحصر به فرد با دیگری. 84 00:04:05,040 --> 00:04:07,580 بنابراین ممکن است، و گاهی اوقات بسیار مفید است، 85 00:04:07,580 --> 00:04:11,772 همانطور که گفتم، برای ایجاد یک زنجیره ای از شاخه متقابلا منحصر به فرد نیست. 86 00:04:11,772 --> 00:04:14,230 اجازه دهید یک نگاه متفاوت نوع شرطی که 87 00:04:14,230 --> 00:04:17,392 شما قبل از در ابتدا دیده نمی شود. 88 00:04:17,392 --> 00:04:19,369 چیزی به نام وجود دارد دستور switch. 89 00:04:19,369 --> 00:04:21,410 دستور switch است نوع شسته و رفته به خاطر آن 90 00:04:21,410 --> 00:04:25,930 یک عبارت شرطی که اجازه می دهد تا شما برای مشخص موارد متفاوت، 91 00:04:25,930 --> 00:04:28,926 به جای تکیه بر بولی عبارت را به تصمیم گیری برای شما. 92 00:04:28,926 --> 00:04:31,050 بنابراین برای مثال، اجازه دهید بگویم که من این برنامه، 93 00:04:31,050 --> 00:04:34,110 و من درخواست کاربر به ارائه ورودی به من. 94 00:04:34,110 --> 00:04:37,170 بنابراین من می گویم، اعضای هیات ایکس = مطلع INT ()، و اگر شما آشنا نشده است، 95 00:04:37,170 --> 00:04:40,190 روی int یک تابع است که نیز در کتابخانه CS50 شامل، 96 00:04:40,190 --> 00:04:44,610 بنابراین اگر شما می # شامل CS50.H شما باید دسترسی به INT () و همه از آن 97 00:04:44,610 --> 00:04:46,840 cousins-- GetFloat، از GetString، و غیره. 98 00:04:46,840 --> 00:04:52,590 اساسا یک مطلع تابع برای هر نوع داده که ما در حال حاضر مورد بحث قرار گرفته است. 99 00:04:52,590 --> 00:04:53,970 >> بنابراین اعضای هیات x برابر GetInt. 100 00:04:53,970 --> 00:04:56,390 اساسا آنچه اتفاق می افتد این است که من در ترمینال است. 101 00:04:56,390 --> 00:04:58,790 من درخواست کاربر را به عدد تایپ کنید. 102 00:04:58,790 --> 00:05:02,300 >> و در اینجا من سوئیچینگ آنچه من انجام، بسته 103 00:05:02,300 --> 00:05:05,060 در آنچه را که کاربر تایپ در اعلان 104 00:05:05,060 --> 00:05:09,147 بنابراین اگر آنها تایپ یکی، من نسخه قابل چاپ کردن است. 105 00:05:09,147 --> 00:05:09,855 و بعد من را بشکند. 106 00:05:09,855 --> 00:05:12,590 107 00:05:12,590 --> 00:05:15,510 اگر آنها نوع دو، من نسخه قابل چاپ کردن دو. 108 00:05:15,510 --> 00:05:16,690 و بعد من را بشکند. 109 00:05:16,690 --> 00:05:19,060 آن را به مهم استراحت بین هر مورد 110 00:05:19,060 --> 00:05:20,890 زیرا در غیر این شما را از طریق سقوط خواهد کرد. 111 00:05:20,890 --> 00:05:23,380 بنابراین اگر من هیچ ندارد معافیت وجود دارد، و کاربر 112 00:05:23,380 --> 00:05:31,380 یکی از تایپ شده، چه اتفاقی خواهد افتاد آن است یکی، دو، سه چاپ، با عرض پوزش. 113 00:05:31,380 --> 00:05:33,099 این نوع از رفتار عجیب و غریب، درست است؟ 114 00:05:33,099 --> 00:05:33,890 شما ممکن است فکر می کنم تا. 115 00:05:33,890 --> 00:05:36,480 اما در واقع برخی از موارد وجود دارد که در آن این می تواند یک چیز بسیار مفید است. 116 00:05:36,480 --> 00:05:39,730 بنابراین در اینجا یک مثال دیگر از یک سوئیچ است بیانیه که در آن من حذف معافیت. 117 00:05:39,730 --> 00:05:42,030 اما من این کار را در هدف. 118 00:05:42,030 --> 00:05:43,030 >> بنابراین چه اتفاقی می افتد؟ 119 00:05:43,030 --> 00:05:43,821 فکر می کنم برای یک ثانیه. 120 00:05:43,821 --> 00:05:45,960 شما حتی ممکن است بخواهید به مکث ویدیو. 121 00:05:45,960 --> 00:05:48,230 >> اگر اتفاق می افتد در اینجا نوع کاربر چهار؟ 122 00:05:48,230 --> 00:05:51,190 123 00:05:51,190 --> 00:05:53,860 بنابراین من کاربر برای ورودی خواسته ایم. 124 00:05:53,860 --> 00:05:56,560 و آنها را فراهم ارزش 4. 125 00:05:56,560 --> 00:05:59,545 چه می شود چاپ شده در هنگامی توانم انجام دهم؟ 126 00:05:59,545 --> 00:06:02,170 در اسلاید قبلی وجود دارد، استراحت بین همه موارد. 127 00:06:02,170 --> 00:06:04,750 و به این ترتیب آن را فقط چاپ چهار و سپس متوقف شود. 128 00:06:04,750 --> 00:06:06,610 اما در این مورد، آن را نمی خواهد. 129 00:06:06,610 --> 00:06:10,700 چه اتفاقی می افتد شما است را از طریق هر مورد می گیرند. 130 00:06:10,700 --> 00:06:14,890 >> بنابراین در این مورد من من موارد سازماندهی کرده اید در چنین راهی که اگر نوع کاربر 4، 131 00:06:14,890 --> 00:06:20,070 من چاپ خواهد شد چهار، سه، دو، یک، انفجار. 132 00:06:20,070 --> 00:06:22,780 و اگر آنها تایپ 5، من شروع در پنج و همین کار را. 133 00:06:22,780 --> 00:06:26,410 اگر آنها تایپ 1، من می خواهم فقط یک، انفجار است. 134 00:06:26,410 --> 00:06:28,715 >> بنابراین در این مورد، من با استفاده از یک سوئیچ نوع هوشمندانه تا 135 00:06:28,715 --> 00:06:30,804 که من قصد به سقوط از طریق تمام موارد. 136 00:06:30,804 --> 00:06:33,720 اما به طور کلی شما احتمالا میخوای می خواهید برای شکستن بین همه آنها، 137 00:06:33,720 --> 00:06:36,090 مگر اینکه شما یک وضعیت مثل این یکی که در آن شما 138 00:06:36,090 --> 00:06:40,081 نوع اعمال نفوذ این واقعیت است که شما از طریق موارد سقوط بدون استراحت. 139 00:06:40,081 --> 00:06:42,830 به طوری که دوم از عمده است نوع عبارات شرطی. 140 00:06:42,830 --> 00:06:47,139 که آخرین آن است: بنابراین من دو قطعه از کد C در اینجا. 141 00:06:47,139 --> 00:06:48,680 یکی در سمت چپ و یکی در سمت راست. 142 00:06:48,680 --> 00:06:52,330 یکی در سمت چپ باید احتمالا بسیار آشنا به شما باشد. 143 00:06:52,330 --> 00:06:55,110 >> من نوع int x. 144 00:06:55,110 --> 00:06:57,167 و من احتمالا باید کاربر خواسته اند 145 00:06:57,167 --> 00:07:00,250 for-- این احتمالا باید نوع int x برابر GetInt، و یا چیزی شبیه به آن. 146 00:07:00,250 --> 00:07:03,030 147 00:07:03,030 --> 00:07:05,240 و سپس من از اتخاذ تصمیم. 148 00:07:05,240 --> 00:07:11,700 اگر برخی از عبارت بولی است درست است، اختصاص X مقدار 5. 149 00:07:11,700 --> 00:07:13,590 در غیر این صورت، اختصاص X مقدار 6. 150 00:07:13,590 --> 00:07:16,548 >> که در سمت چپ احتمالا باید بسیار آشنا از بحث ما 151 00:07:16,548 --> 00:07:18,160 اگر دیگر از فقط یک لحظه پیش. 152 00:07:18,160 --> 00:07:20,535 دوست تعجب می دانیم شما که خط در سمت راست 153 00:07:20,535 --> 00:07:22,310 همین کار را دقیق؟ 154 00:07:22,310 --> 00:07:26,140 >> پس این است که به نام: و یا گاهی اوقات نام اپراتور سه تایی. 155 00:07:26,140 --> 00:07:27,450 و آن را بسیار سرد است. 156 00:07:27,450 --> 00:07:29,110 آن را معمولا به عنوان یک ترفند زیبا استفاده می شود. 157 00:07:29,110 --> 00:07:35,777 >> اما آنچه در آن اجازه می دهد تا شما را به انجام است به شبیه سازی یک اگر دیگری با واقعا کوچک است، 158 00:07:35,777 --> 00:07:37,610 واقعا بدیهی کوتاه شاخه شرطی. 159 00:07:37,610 --> 00:07:41,470 شما به طور کلی به استفاده از: اگر شما شش خط کد بین هر مجموعه به حال 160 00:07:41,470 --> 00:07:42,569 پرانتز فرفری. 161 00:07:42,569 --> 00:07:44,360 اما اگر شما فقط هستید تصمیم گیری سریع، 162 00:07:44,360 --> 00:07:47,520 اگر شما در حال رفتن به یک چیز یا از سوی دیگر و از آن بسیار ساده است، 163 00:07:47,520 --> 00:07:52,240 این ممکن است یک مثال از چگونگی این کار را با: اپراتور سه تایی. 164 00:07:52,240 --> 00:07:56,940 بنابراین اعضای هیات x برابر بیان؟ 165 00:07:56,940 --> 00:07:59,470 نکته پس از درخواست علامت گذاری به عنوان ارزش آنچه الف است 166 00:07:59,470 --> 00:08:02,690 خواهد بود اگر بیان درست است. 167 00:08:02,690 --> 00:08:05,330 >> نکته پس از روده بزرگ چه مقدار x است 168 00:08:05,330 --> 00:08:07,990 خواهد بود اگر بیان نادرست است. 169 00:08:07,990 --> 00:08:11,510 بنابراین من خودم می پرسم، بیان درست است؟ 170 00:08:11,510 --> 00:08:13,870 اگر از آن است، اختصاص X مقدار 5. 171 00:08:13,870 --> 00:08:16,619 اگر این طور نیست، اختصاص X مقدار 6. 172 00:08:16,619 --> 00:08:17,410 باز هم، مثل من گفت. 173 00:08:17,410 --> 00:08:18,670 این است که معمولا فقط یک ترفند زیبا. 174 00:08:18,670 --> 00:08:20,430 و گاهی اوقات اگر شما تبدیل به واقعا راحت با آن، 175 00:08:20,430 --> 00:08:22,820 شما این را انجام دهد چرا که به نظر می رسد نوع سرد در برنامه های خود را. 176 00:08:22,820 --> 00:08:25,710 به طور کلی من آن را ارائه به شما در حال حاضر، بنابراین شما با آن آشنا هستید 177 00:08:25,710 --> 00:08:26,990 اگر شما آن را ببینید. 178 00:08:26,990 --> 00:08:30,080 اما قطعا می دانم که شما لازم نیست به آن ارسال در هر یک از کد خود را. 179 00:08:30,080 --> 00:08:33,246 اما آن چیزی است که باید با آن آشنا، چون شما قطعا باید روبرو می شوند 180 00:08:33,246 --> 00:08:36,130 قطعه از کد را در اینجا و وجود دارد که در آن این: نحو، 181 00:08:36,130 --> 00:08:39,120 AKA اپراتور سه تایی، استفاده شده است. 182 00:08:39,120 --> 00:08:40,960 >> خلاصه خیلی سریع در چه شرطی هستند، 183 00:08:40,960 --> 00:08:44,210 و چه گزینه های در دسترس به شما در C. شما اگر و اگر، دیگری، 184 00:08:44,210 --> 00:08:46,860 و اگر دیگری اگر، و غیره. 185 00:08:46,860 --> 00:08:50,880 شما می توانید عبارات بولی استفاده برای کسانی که به تصمیم گیری. 186 00:08:50,880 --> 00:08:53,720 >> با دستور switch استفاده می کنید موارد گسسته به تصمیم گیری. 187 00:08:53,720 --> 00:08:57,540 شما به طور خاص می گویند، اگر آن را یکی، یا اگر آن را دو، و یا اگر آن سه، 188 00:08:57,540 --> 00:09:00,870 من این چیزی که می خواهید انجام دهید، و یا این چیز، و یا این چیز. 189 00:09:00,870 --> 00:09:04,660 و: می توانید مورد استفاده قرار گیرد به جای شاخه IF-دیگری بسیار ساده است، 190 00:09:04,660 --> 00:09:08,490 و یا اگر-دیگری زنجیر به کد خود را نگاه فانتزی است. 191 00:09:08,490 --> 00:09:09,250 >> من داگ لوید هستم. 192 00:09:09,250 --> 00:09:11,410 و این CS50. 193 00:09:11,410 --> 00:09:12,959