1 00:00:00,000 --> 00:00:05,140 2 00:00:05,140 --> 00:00:05,640 Oldu. 3 00:00:05,640 --> 00:00:08,330 Belə ki, indi bir şey haqqında danışmaq edək proqramlaşdırma həqiqətən faydalı 4 00:00:08,330 --> 00:00:09,914 şərti hesabatları. 5 00:00:09,914 --> 00:00:11,830 Belə ki, şərti ifadələr proqramları imkan verir 6 00:00:11,830 --> 00:00:14,538 qərarlar qəbul etmək və müxtəlif etmək yol, bir şey çəngəllər 7 00:00:14,538 --> 00:00:17,670 Mən az əvvəl alluded dəyişənlərin dəyərləri asılı olaraq, 8 00:00:17,670 --> 00:00:20,990 və ya əsasında nə istifadəçi giriş at proqramçı, command line, 9 00:00:20,990 --> 00:00:23,130 və ya tez varsa ya kimi bir şey. 10 00:00:23,130 --> 00:00:26,690 C müxtəlif yollarla bir neçə var şərti ifadələr ifadə edən 11 00:00:26,690 --> 00:00:29,911 biz də bəzən bir zəng edəcək Sizin proqramları şərti filialı. 12 00:00:29,911 --> 00:00:32,910 Və bu bəzi baxmaq üçün gedir sıfırdan sizə olduqca tanış, 13 00:00:32,910 --> 00:00:35,190 belə ki, biz hətta çəkmək lazımdır , yan-yana yalnız 14 00:00:35,190 --> 00:00:38,170 sizin baş ki bənzətməsi edə bilərsiniz. 15 00:00:38,170 --> 00:00:41,250 >> Belə ki, Varsa olduqca əgər şərti sadə. 16 00:00:41,250 --> 00:00:43,560 Siz geri əgər Burada sağ danışıq 17 00:00:43,560 --> 00:00:50,000 ki, hexagon edir siz doldurmaq bilər mavi ifadə aşağı siçan əgər ilə 18 00:00:50,000 --> 00:00:53,010 və ya x az 10 olduqda, ya kimi bir şey. 19 00:00:53,010 --> 00:00:57,390 Və sonra, əgər x, az 10 idi və ya siçan əslində əgər, aşağı, 20 00:00:57,390 --> 00:01:01,140 daxilində kodu bütün puzzle parça icra olardı. 21 00:01:01,140 --> 00:01:03,720 Uyğun hər şey ki, C forma daxilində. 22 00:01:03,720 --> 00:01:07,200 >> Eynilə, biz var orada sol, əgər. 23 00:01:07,200 --> 00:01:09,210 Boolean ifadə varsa, Mən yalnız istifadə edirəm ki, 24 00:01:09,210 --> 00:01:13,010 Boolean biri üçün bir əvəz kimi biz əvvəllər müzakirə ifadələri, 25 00:01:13,010 --> 00:01:15,240 açıq buruq brace, yaxın buruq brace. 26 00:01:15,240 --> 00:01:17,720 Belə ki, açıq buruq hesab brace və qapalı buruq brace 27 00:01:17,720 --> 00:01:22,720 sendviç kimi sort analoji sağ əgər blok təsiri 28 00:01:22,720 --> 00:01:24,070 Sıfırdan. 29 00:01:24,070 --> 00:01:28,680 >> Boolean ifadə əgər əgər şərhdə, doğru 30 00:01:28,680 --> 00:01:30,900 kod sonra bütün xətləri qıvrım aşırma arasında 31 00:01:30,900 --> 00:01:33,870 məqsədilə icra edəcək üstdən-aşağı. 32 00:01:33,870 --> 00:01:35,700 Boolean ifadə əgər yalan alacağıq 33 00:01:35,700 --> 00:01:38,610 hər şeyə keçmək arasında qıvrım aşırma, çünki biz yalnız 34 00:01:38,610 --> 00:01:44,570 yol ki, çəngəl aşağı getmək istəyirəm əgər Boolean ifadə doğrudur. 35 00:01:44,570 --> 00:01:48,540 >> Biz bu bir addım bilər Daha başqa əgər ilə. 36 00:01:48,540 --> 00:01:50,820 Belə ki, bu Scratch blok edir bir olduqca oxşar 37 00:01:50,820 --> 00:01:55,884 biz istisna olmaqla, yalnız ikinci əvvəl gördüm Bu əsasən iki müxtəlif yolları edir 38 00:01:55,884 --> 00:01:56,550 nə haqqında. 39 00:01:56,550 --> 00:02:00,420 Siçan aşağı idi ki, və ya x əgər, az 10 idi 40 00:02:00,420 --> 00:02:04,780 biz arasında var hər şeyi edəcəyik ilk çəngəl, ilk C., 41 00:02:04,780 --> 00:02:08,430 >> Əks halda, siçan, əgər up, və ya x 10 az deyil, 42 00:02:08,430 --> 00:02:10,460 ikinci setdə hər şeyi edəcək. 43 00:02:10,460 --> 00:02:15,010 Və siz görmək nə analoji var burada C. Əgər Boolean ifadə, 44 00:02:15,010 --> 00:02:17,910 arasında stuff edə ilk qıvrım aşırma seçin. 45 00:02:17,910 --> 00:02:20,550 Else arasında stuff edə ikinci qıvrım aşırma seçin. 46 00:02:20,550 --> 00:02:22,080 Boolean Belə ki ifadə alacağıq, doğrudur 47 00:02:22,080 --> 00:02:23,580 İlk setdə arasında var nə. 48 00:02:23,580 --> 00:02:27,480 Boolean ifadə əgər yalan, başqa tetiklemek ki, 49 00:02:27,480 --> 00:02:30,100 və biz nə nin edəcəyini qıvrım aşırma ikinci set. 50 00:02:30,100 --> 00:02:34,190 Yenə alt üst, bütün aşırma arasında xətləri. 51 00:02:34,190 --> 00:02:38,130 >> C, yaratmaq mümkündür bir if-else if-else zəncir. 52 00:02:38,130 --> 00:02:42,000 Əslində ola bilər, əgər-başqa if-else əgər-başqa belə və əgər, və s, və 53 00:02:42,000 --> 00:02:42,720 haqqında. 54 00:02:42,720 --> 00:02:44,660 Not, bu tələb blokları yuva. 55 00:02:44,660 --> 00:02:48,280 Siz əgər-başqa əlavə və siz idi başqa daxilində başqa bir qoymaq, 56 00:02:48,280 --> 00:02:51,110 və s, və bu cür var bir nested və mürəkkəb. 57 00:02:51,110 --> 00:02:52,450 Amma C, biz bunu yoxdur. 58 00:02:52,450 --> 00:02:55,300 Biz, həqiqətən, yalnız ola bilər bu kimi bir zəncir. 59 00:02:55,300 --> 00:02:58,350 Yenə, bütün gözləyə bilər kimi Bu filial gəlmir. 60 00:02:58,350 --> 00:03:00,750 Siz yalnız heç getmək bilər filialının biri aşağı. 61 00:03:00,750 --> 00:03:02,270 Bu doğrudur. 62 00:03:02,270 --> 00:03:03,930 Əks halda, bu doğru deyil. 63 00:03:03,930 --> 00:03:05,700 Əks halda, bu doğru deyil. 64 00:03:05,700 --> 00:03:07,120 Əks halda, bu yoxdur. 65 00:03:07,120 --> 00:03:11,010 Belə ki, bu filial dörd Məsələn gəlmir. 66 00:03:11,010 --> 00:03:14,900 Bu if-else if-başqa zəncir var. 67 00:03:14,900 --> 00:03:17,580 >> Bu, baxmayaraq ki mümkün deyil və bəzən çox faydalı, 68 00:03:17,580 --> 00:03:20,950 bir zəncir deyil yaratmaq qarşılıqlı eksklüziv filialları. 69 00:03:20,950 --> 00:03:24,600 Bu, məsələn, yalnız üçüncü və dördüncü filialları gəlmir. 70 00:03:24,600 --> 00:03:27,450 Bu ola bilər ki, ola bilər ilk şərtlərinə cavab, 71 00:03:27,450 --> 00:03:29,396 və təmin edə bilər İkinci şərt, 72 00:03:29,396 --> 00:03:31,770 və təmin edə bilər üçüncü vəziyyətdə olan halda 73 00:03:31,770 --> 00:03:35,270 Siz ilk filialı aşağı getmək olardı, sonra bir ikinci şöbəsini enmək, 74 00:03:35,270 --> 00:03:37,000 sonra üçüncü filialı aşağı getmək olardı. 75 00:03:37,000 --> 00:03:40,450 Və ya bəlkə siz ilk cavab vəziyyəti, ikinci şərt, 76 00:03:40,450 --> 00:03:42,770 lakin siz qane etmir Üçüncü şərt. 77 00:03:42,770 --> 00:03:46,230 Bu halda siz ilk enmək filialı və ikinci filialı, 78 00:03:46,230 --> 00:03:48,040 və sonra dördüncü filialı, 79 00:03:48,040 --> 00:03:51,392 >> Bunun səbəbi başqa ki, yalnız yaxın məcburidir edəcək. 80 00:03:51,392 --> 00:03:53,100 Belə ki, var, baxmayaraq ki, başqa burada ki, 81 00:03:53,100 --> 00:03:56,490 mütləq qarşılıqlı yaratmaq deyil hər şey eksklüziv zəncir. 82 00:03:56,490 --> 00:04:00,890 Bu, yalnız ifadə var Orada Boolean ilə 83 00:04:00,890 --> 00:04:05,040 ifadə 3 edəcəyik ki başqa qarşılıqlı eksklüziv. 84 00:04:05,040 --> 00:04:07,580 Belə ki, mümkün deyil, və bəzən olduqca faydalı, 85 00:04:07,580 --> 00:04:11,772 Dediyim kimi, bir zəncir yaratmaq qarşılıqlı müstəsna deyil filialları. 86 00:04:11,772 --> 00:04:14,230 Fərqli bir nəzər salaq şərti cür, hansı 87 00:04:14,230 --> 00:04:17,392 Siz Not əvvəl görmədim. 88 00:04:17,392 --> 00:04:19,369 Deyilən bir şey var switch bəyanat. 89 00:04:19,369 --> 00:04:21,410 switch bəyanat Bu, çünki cür səliqəli 90 00:04:21,410 --> 00:04:25,930 imkan verir ki, şərti bəyanat Siz fərqli hallarda müəyyən etmək üçün 91 00:04:25,930 --> 00:04:28,926 yerinə Boolean əsaslanaraq ifadələri sizin üçün qərar qəbul etmək. 92 00:04:28,926 --> 00:04:31,050 Belə ki, məsələn, deyək Bu proqram var ki, 93 00:04:31,050 --> 00:04:34,110 Mən istifadəçi xahiş edirəm Mənə daxil edir. 94 00:04:34,110 --> 00:04:37,170 Belə ki, deyirəm, int x =) (int almaq, və hələ tanış değilseniz, 95 00:04:37,170 --> 00:04:40,190 int almaq bir funksiyası var də, CS50 kitabxana daxil 96 00:04:40,190 --> 00:04:44,610 Siz cs50.h # daxil əgər, belə ki, lazımdır giriş Int (alın) və bütün onun 97 00:04:44,610 --> 00:04:46,840 cousins-- GetFloat, GetString, və s. 98 00:04:46,840 --> 00:04:52,590 Əsasən bir hər funksiyası alın biz artıq müzakirə etdik data növü. 99 00:04:52,590 --> 00:04:53,970 >> Belə ki Int x GetInt bərabərdir. 100 00:04:53,970 --> 00:04:56,390 Əsasən neler Mən terminalında deyiləm. 101 00:04:56,390 --> 00:04:58,790 Mən bir sıra yazın istifadəçi soruşuram. 102 00:04:58,790 --> 00:05:02,300 >> Və burada mən keçid alıram edirəm nə asılı olaraq 103 00:05:02,300 --> 00:05:05,060 istifadəçi tez-da çap nə. 104 00:05:05,060 --> 00:05:09,147 Onlar bir tipli Belə ki, mən bir çap. 105 00:05:09,147 --> 00:05:09,855 Və sonra mən pozub. 106 00:05:09,855 --> 00:05:12,590 107 00:05:12,590 --> 00:05:15,510 Onlar iki yazın, mən iki çap. 108 00:05:15,510 --> 00:05:16,690 Və sonra mən pozub. 109 00:05:16,690 --> 00:05:19,060 Bu vacibdir Hər bir halda arasında qırmaq 110 00:05:19,060 --> 00:05:20,890 əks halda vasitəsilə düşəcək çünki. 111 00:05:20,890 --> 00:05:23,380 Mən heç bir olmasaydı belə orada fasilələri, və istifadəçi 112 00:05:23,380 --> 00:05:31,380 tipli bir, o, hər nə olardı sorry, bir, iki, üç çap olardı. 113 00:05:31,380 --> 00:05:33,099 Bu doğru, qəribə davranış növü var? 114 00:05:33,099 --> 00:05:33,890 Siz belə hesab edə bilər. 115 00:05:33,890 --> 00:05:36,480 Amma əslində, bəzi hallarda harada var Bu olduqca faydalı şey ola bilər. 116 00:05:36,480 --> 00:05:39,730 Belə ki, burada bir keçid bir misal var Mən fasilələri buraxmaq bəyanat. 117 00:05:39,730 --> 00:05:42,030 Amma məqsədilə bunu. 118 00:05:42,030 --> 00:05:43,030 >> Belə ki, nə burada olur? 119 00:05:43,030 --> 00:05:43,821 Ikinci düşünün. 120 00:05:43,821 --> 00:05:45,960 Siz hətta fasilə video edə bilərsiniz. 121 00:05:45,960 --> 00:05:48,230 >> Nə burada olur istifadəçi dörd? 122 00:05:48,230 --> 00:05:51,190 123 00:05:51,190 --> 00:05:53,860 Belə ki, giriş üçün istifadəçi xahiş etdik. 124 00:05:53,860 --> 00:05:56,560 Onlar dəyər 4 təmin edir. 125 00:05:56,560 --> 00:05:59,545 Hesab edirəm ki, nə çap olur zaman? 126 00:05:59,545 --> 00:06:02,170 Əvvəlki slide var idi Bütün hallarda arasında fasilələri. 127 00:06:02,170 --> 00:06:04,750 Və belə ki, yalnız ki çap dörd və sonra dayandırmaq. 128 00:06:04,750 --> 00:06:06,610 Lakin bu halda, bu olmayacaq. 129 00:06:06,610 --> 00:06:10,700 Nə baş verəcək sizə var Hər bir halda vasitəsilə düşəcək. 130 00:06:10,700 --> 00:06:14,890 >> Belə ki, bu halda mənim hallarda təşkil etdik belə bir şəkildə ki, istifadəçi 4 əgər, 131 00:06:14,890 --> 00:06:20,070 Mən çap edəcək dörd, üç, iki, bir, off partladılması. 132 00:06:20,070 --> 00:06:22,780 Onlar 5 tipli varsa, mən başlayacaq və beş eyni şey. 133 00:06:22,780 --> 00:06:26,410 Onlar 1 tipli varsa, mən yalnız partlayış bir off yoxdur. 134 00:06:26,410 --> 00:06:28,715 >> Bu halda, belə ki, mən istifadə edirəm bir keçid cür ağılla belə 135 00:06:28,715 --> 00:06:30,804 Mən düşmək istəyirlər ki, Bütün hallarda vasitəsilə. 136 00:06:30,804 --> 00:06:33,720 Amma, ümumiyyətlə, siz yəqin ki, çalışırıq Onların bütün arasında qırmaq istəyirik, 137 00:06:33,720 --> 00:06:36,090 Siz bir vəziyyət halda sen bu kimi 138 00:06:36,090 --> 00:06:40,081 cür faktı yararlanarak will ki, ara vermədən hallarda vasitəsilə düşür. 139 00:06:40,081 --> 00:06:42,830 Belə ki, əsas ikinci var şərti hesabatlarının növləri. 140 00:06:42,830 --> 00:06:47,139 ? olan son: Mən Burada C kodu iki parçalarını var. 141 00:06:47,139 --> 00:06:48,680 Sol, One və sağ biridir. 142 00:06:48,680 --> 00:06:52,330 sol, bir olmalıdır yəqin ki, sizin üçün olduqca tanış olun. 143 00:06:52,330 --> 00:06:55,110 >> Mən Int x. 144 00:06:55,110 --> 00:06:57,167 Mən yəqin ki, olmalıdır istifadəçi xahiş 145 00:06:57,167 --> 00:07:00,250 baxan mýsýn bu, yəqin ki Int x olmalıdır GetInt, və ya kimi bir şey bərabərdir. 146 00:07:00,250 --> 00:07:03,030 147 00:07:03,030 --> 00:07:05,240 Və sonra mən qərar qəbul edirəm. 148 00:07:05,240 --> 00:07:11,700 Bir Boolean ifadə əgər doğru, dəyəri 5 x təyin. 149 00:07:11,700 --> 00:07:13,590 Əks halda, dəyəri 6 x təyin. 150 00:07:13,590 --> 00:07:16,548 >> Sol, yəqin ki, olmalıdır Bizim müzakirə olduqca tanış 151 00:07:16,548 --> 00:07:18,160 yalnız bir an əvvəl Else əgər. 152 00:07:18,160 --> 00:07:20,535 Bildiyiniz üçün sürpriz olacaq sağ xətt ki, 153 00:07:20,535 --> 00:07:22,310 eyni şey yoxdur? 154 00:07:22,310 --> 00:07:26,140 >> Belə ki, bu adlanır: və ya bəzən ternary operator çağırıb. 155 00:07:26,140 --> 00:07:27,450 Və bu olduqca sərin var. 156 00:07:27,450 --> 00:07:29,110 Bu adətən bir cute oyun kimi istifadə olunur. 157 00:07:29,110 --> 00:07:35,777 >> Amma bu imkan verir nə edir nə həqiqətən kiçik ilə Else bir halda biclik, 158 00:07:35,777 --> 00:07:37,610 həqiqətən trivially qısa şərti filialları. 159 00:07:37,610 --> 00:07:41,470 Siz, ümumiyyətlə, istifadə deyil: əgər hər set arasında kod altı xətləri idi 160 00:07:41,470 --> 00:07:42,569 bir qıvrım aşırma. 161 00:07:42,569 --> 00:07:44,360 Amma yalnız əgər tez qərar qəbul, 162 00:07:44,360 --> 00:07:47,520 Siz bir şey olacaq əgər və ya digər və çox sadə, 163 00:07:47,520 --> 00:07:52,240 Bu necə bir nümunə ola bilər bunu? ternary operator. 164 00:07:52,240 --> 00:07:56,940 Belə ki Int x ifadə bərabərdir? 165 00:07:56,940 --> 00:07:59,470 suala sonra şey mark X nə dəyəri 166 00:07:59,470 --> 00:08:02,690 ifadə doğruysa olacaq. 167 00:08:02,690 --> 00:08:05,330 >> sonra şey colon nə X dəyəri 168 00:08:05,330 --> 00:08:07,990 ifadəsi yalan idi olardı. 169 00:08:07,990 --> 00:08:11,510 Beləliklə, mən özüm xahiş edirəm, ifadə doğrudur? 170 00:08:11,510 --> 00:08:13,870 Əgər, dəyəri 5 x təyin. 171 00:08:13,870 --> 00:08:16,619 Bu deyilsə, dəyəri 6 x təyin. 172 00:08:16,619 --> 00:08:17,410 Yenə kimi dedim. 173 00:08:17,410 --> 00:08:18,670 Bu adətən yalnız bir cute oyun deyil. 174 00:08:18,670 --> 00:08:20,430 Və bəzən olmaq əgər həqiqətən rahat, 175 00:08:20,430 --> 00:08:22,820 görünür, çünki bu edəcəyik Sizin proqramları sərin cür. 176 00:08:22,820 --> 00:08:25,710 Ümumiyyətlə mən onu təqdim edirəm İndi belə tanış olduğunuzda 177 00:08:25,710 --> 00:08:26,990 Siz onu görmək əgər. 178 00:08:26,990 --> 00:08:30,080 Amma əlbəttə ki, yoxdur bilirik Sizin kodu hər hansı bir onu yazmaq üçün. 179 00:08:30,080 --> 00:08:33,246 Amma bir şey ilə tanış olmaq, siz mütləq qarşılaşa bilərsiniz, çünki 180 00:08:33,246 --> 00:08:36,130 burada kodu parçalarını və orada bu: sintaksis, 181 00:08:36,130 --> 00:08:39,120 Ternary operator AKA, istifadə olunur. 182 00:08:39,120 --> 00:08:40,960 >> Belə ki, tez xülasə nə conditionals var 183 00:08:40,960 --> 00:08:44,210 və variantları hansılardır Siz var C. sizə varsa və əgər-başqa, 184 00:08:44,210 --> 00:08:46,860 və əgər başqa, əgər Et Cetera. 185 00:08:46,860 --> 00:08:50,880 Siz Boolean ifadələr istifadə edə bilərsiniz olanlar üçün qərarlar qəbul etmək. 186 00:08:50,880 --> 00:08:53,720 >> Keçid hesabatları ilə istifadə diskret hallarda qərar qəbul etmək. 187 00:08:53,720 --> 00:08:57,540 Bu əgər xüsusilə, deyərdim bir və ya üç, əgər bu iki, və ya əgər, 188 00:08:57,540 --> 00:09:00,870 Mən bu şey, və ya lazımdır Bu şey, və ya bu şey. 189 00:09:00,870 --> 00:09:04,660 Və: əvəz etmək üçün istifadə edilə bilər çox sadə, əgər-başqa filialları, 190 00:09:04,660 --> 00:09:08,490 və ya zəncirlər etmək-başqa əgər Sizin kodu bir az xülya baxmaq. 191 00:09:08,490 --> 00:09:09,250 >> Mən Doug Lloyd edirəm. 192 00:09:09,250 --> 00:09:11,410 Bu CS50 edir. 193 00:09:11,410 --> 00:09:12,959