1 00:00:00,000 --> 00:00:05,140 2 00:00:05,140 --> 00:00:05,640 Sawa. 3 00:00:05,640 --> 00:00:08,330 Hivyo sasa hebu majadiliano juu ya kitu muhimu kweli kweli katika programming-- 4 00:00:08,330 --> 00:00:09,914 masharti kauli. 5 00:00:09,914 --> 00:00:11,830 Maneno hivyo masharti kuruhusu programu yako 6 00:00:11,830 --> 00:00:14,538 kufanya maamuzi na kuchukua mbalimbali uma katika barabara, kitu 7 00:00:14,538 --> 00:00:17,670 Mimi alluded mapema kidogo, kutegemea maadili ya vigezo, 8 00:00:17,670 --> 00:00:20,990 au kulingana na kile pembejeo user katika programu, katika mstari amri, 9 00:00:20,990 --> 00:00:23,130 au kama una haraka au kitu kama hicho. 10 00:00:23,130 --> 00:00:26,690 C ina michache ya njia mbalimbali za kueleza maneno masharti, ambayo 11 00:00:26,690 --> 00:00:29,911 sisi pia wakati mwingine nitakuita masharti tawi katika programu yako. 12 00:00:29,911 --> 00:00:32,910 Na baadhi ya haya ni kwenda kuangalia pretty ukoo na wewe kutoka mwanzo, 13 00:00:32,910 --> 00:00:35,190 hivyo tutaweza hata kuvuta yao up kwa upande upande, tu 14 00:00:35,190 --> 00:00:38,170 unaweza kufanya kwamba mfano katika kichwa yako. 15 00:00:38,170 --> 00:00:41,250 >> Hivyo, if-- ikiwa ni pretty rahisi masharti. 16 00:00:41,250 --> 00:00:43,560 Kama unakumbuka kutoka mwanzo juu ya haki hapa 17 00:00:43,560 --> 00:00:50,000 unaweza kujaza kwamba ni hexagons na usemi bluu kama kipanya chini 18 00:00:50,000 --> 00:00:53,010 au kama x ni chini ya 10, au kitu kama hicho. 19 00:00:53,010 --> 00:00:57,390 Na kisha, kama x ilikuwa chini ya 10, au kama panya ilikuwa kwa kweli, chini, 20 00:00:57,390 --> 00:01:01,140 wote wa kificho ndani ya puzzle kipande ingekuwa kutekeleza. 21 00:01:01,140 --> 00:01:03,720 Mambo yote ambayo inafaa ndani ya C sura hiyo. 22 00:01:03,720 --> 00:01:07,200 >> Vile vile, kufanya tuna kama upande wa kushoto huko. 23 00:01:07,200 --> 00:01:09,210 Kama kujieleza Boolean, ambayo mimi nina kutumia tu 24 00:01:09,210 --> 00:01:13,010 kama mbadala kwa ajili ya Boolean moja Maneno sisi awali kujadiliwa, 25 00:01:13,010 --> 00:01:15,240 wazi curly brace, karibu curly brace. 26 00:01:15,240 --> 00:01:17,720 Hivyo kufikiria curly wazi Brace na kufungwa curly brace 27 00:01:17,720 --> 00:01:22,720 kama aina ya sawa na sandwich athari za kuzuia ikiwa juu ya haki 28 00:01:22,720 --> 00:01:24,070 kutoka mwanzo. 29 00:01:24,070 --> 00:01:28,680 >> Kama kujieleza Boolean katika ikiwa maelezo ni ya kweli, 30 00:01:28,680 --> 00:01:30,900 kisha mistari yote ya kificho kati ya braces curly 31 00:01:30,900 --> 00:01:33,870 nitafanya ili kutoka juu hadi chini. 32 00:01:33,870 --> 00:01:35,700 Kama kujieleza Boolean ni uongo, tutaweza 33 00:01:35,700 --> 00:01:38,610 ruka juu kila kitu katika kati braces curly, kwa sababu sisi tu 34 00:01:38,610 --> 00:01:44,570 wanataka kwenda chini kwamba uma katika barabara kama kujieleza Boolean ni kweli. 35 00:01:44,570 --> 00:01:48,540 >> Tunaweza kuchukua hatua hii moja zaidi na kama pengine. 36 00:01:48,540 --> 00:01:50,820 Hivyo kuzuia hii Scratch ni pretty sawa na moja 37 00:01:50,820 --> 00:01:55,884 tuliona haki ya pili iliyopita, isipokuwa inachukua njia mbili tofauti kulingana 38 00:01:55,884 --> 00:01:56,550 juu ya nini kinatokea. 39 00:01:56,550 --> 00:02:00,420 Hivyo kama panya ilikuwa chini, au kama x ilikuwa chini ya 10, 40 00:02:00,420 --> 00:02:04,780 tutaweza kufanya kila kitu kilicho katika kati ya kwamba uma kwanza, kwamba C. kwanza, 41 00:02:04,780 --> 00:02:08,430 >> Vinginevyo, kama panya ni up, au x ni si chini ya 10, 42 00:02:08,430 --> 00:02:10,460 tutafanya kila kitu katika seti ya pili. 43 00:02:10,460 --> 00:02:15,010 Na hiyo ndiyo sawa na nini kuona hapa kwa C. Kama Boolean kujieleza, 44 00:02:15,010 --> 00:02:17,910 kufanya mambo kati kwanza kuweka ya braces curly. 45 00:02:17,910 --> 00:02:20,550 Lingine lolote, fanyeni mambo kati pili seti ya braces curly. 46 00:02:20,550 --> 00:02:22,080 Hivyo kama Boolean kujieleza ni kweli, tutaweza 47 00:02:22,080 --> 00:02:23,580 kufanya lolote ni kati ya seti ya kwanza. 48 00:02:23,580 --> 00:02:27,480 Kama kujieleza Boolean ni uongo, ambayo ingeweza kusababisha kingine chochote, 49 00:02:27,480 --> 00:02:30,100 na tunataka kufanya lolote katika seti ya pili ya braces curly. 50 00:02:30,100 --> 00:02:34,190 Tena, juu hadi chini, kila mistari katika kati ya braces. 51 00:02:34,190 --> 00:02:38,130 >> Katika C, inawezekana kujenga an kama-kingine kama-kingine mlolongo. 52 00:02:38,130 --> 00:02:42,000 Kwa kweli unaweza kuwa kama-kingine kama-kingine kama-kingine, ikiwa, na kadhalika na kadhalika na 53 00:02:42,000 --> 00:02:42,720 juu ya. 54 00:02:42,720 --> 00:02:44,660 Katika Scratch, hii inahitajika nesting vitalu. 55 00:02:44,660 --> 00:02:48,280 Kuongeza kama-kingine, na alikuwa na kuweka mtu mwingine ndani ya kingine, 56 00:02:48,280 --> 00:02:51,110 na kadhalika, na ni got aina Furushi la na ngumu. 57 00:02:51,110 --> 00:02:52,450 Lakini C, hatuna kufanya hivyo. 58 00:02:52,450 --> 00:02:55,300 Tunaweza kweli tu na kuwa mlolongo kama hii. 59 00:02:55,300 --> 00:02:58,350 Tena, kama unaweza kutarajia, wote wa matawi haya ni pande kipekee. 60 00:02:58,350 --> 00:03:00,750 Unaweza tu milele kwenda chini moja ya tawi. 61 00:03:00,750 --> 00:03:02,270 Kama hili ni kweli. 62 00:03:02,270 --> 00:03:03,930 Vinginevyo, kama hii ni kweli. 63 00:03:03,930 --> 00:03:05,700 Vinginevyo, kama hii ni kweli. 64 00:03:05,700 --> 00:03:07,120 Vinginevyo, kufanya hivyo. 65 00:03:07,120 --> 00:03:11,010 Hivyo zote nne za matawi katika hii mfano ni pande kipekee. 66 00:03:11,010 --> 00:03:14,900 Ni kama-kingine kama-kingine mlolongo. 67 00:03:14,900 --> 00:03:17,580 >> Inawezekana hata hivyo, na wakati mwingine muhimu sana, 68 00:03:17,580 --> 00:03:20,950 kujenga mlolongo wa si matawi pande kipekee. 69 00:03:20,950 --> 00:03:24,600 Katika mfano huu, theluthi moja tu na matawi ya nne ni pande kipekee. 70 00:03:24,600 --> 00:03:27,450 Ni inaweza kuwa kwamba unaweza kukidhi masharti ya kwanza, 71 00:03:27,450 --> 00:03:29,396 na unaweza kukidhi Sharti la pili, 72 00:03:29,396 --> 00:03:31,770 na unaweza kukidhi condition-- tatu katika kesi ambayo 73 00:03:31,770 --> 00:03:35,270 ungependa kwenda chini tawi la kwanza, basi kwenda chini tawi la pili, 74 00:03:35,270 --> 00:03:37,000 basi ingekuwa kwenda chini tawi tatu. 75 00:03:37,000 --> 00:03:40,450 Au labda wewe kukidhi kwanza hali, na hali ya pili, 76 00:03:40,450 --> 00:03:42,770 lakini huna kukidhi Sharti la tatu. 77 00:03:42,770 --> 00:03:46,230 Katika kesi hiyo kwenda chini kwanza tawi na tawi la pili, 78 00:03:46,230 --> 00:03:48,040 na kisha tawi la nne, 79 00:03:48,040 --> 00:03:51,392 >> Sababu hii ni kwamba pengine tu kumfunga kwa karibu zaidi ikiwa. 80 00:03:51,392 --> 00:03:53,100 Hivyo hata kama kuna kingine hapa, kwamba 81 00:03:53,100 --> 00:03:56,490 siyo lazima kujenga pande mlolongo wa kipekee wa kila kitu. 82 00:03:56,490 --> 00:04:00,890 Ni tu kujieleza huko pamoja Boolean 83 00:04:00,890 --> 00:04:05,040 kujieleza 3-- hiyo ni pande kipekee na kingine chochote. 84 00:04:05,040 --> 00:04:07,580 Hivyo inawezekana, na wakati mwingine muhimu kabisa, 85 00:04:07,580 --> 00:04:11,772 kama nilivyosema, ili kujenga mlolongo wa matawi hazitofautiani. 86 00:04:11,772 --> 00:04:14,230 Hebu tuangalie tofauti aina ya masharti, ambayo 87 00:04:14,230 --> 00:04:17,392 hawajaona kabla katika Scratch. 88 00:04:17,392 --> 00:04:19,369 Kuna kitu kinachoitwa kubadili kauli. 89 00:04:19,369 --> 00:04:21,410 Kauli kubadili ni aina ya nadhifu kwa sababu ni 90 00:04:21,410 --> 00:04:25,930 Kauli masharti ambayo inaruhusu bayana kesi tofauti, 91 00:04:25,930 --> 00:04:28,926 badala ya kutegemea Boolean Maneno kufanya maamuzi kwa ajili yenu. 92 00:04:28,926 --> 00:04:31,050 Hivyo kwa mfano, hebu sema kwamba nina mpango huu, 93 00:04:31,050 --> 00:04:34,110 na mimi nina kuuliza mtumiaji kutoa mchango kwangu. 94 00:04:34,110 --> 00:04:37,170 Kwa hiyo nasema, int x = Kupata Int (), na kama wewe si ukoo bado, 95 00:04:37,170 --> 00:04:40,190 kupata int ni kazi ambayo ni pia ni pamoja na katika maktaba CS50, 96 00:04:40,190 --> 00:04:44,610 hivyo kama wewe # ni pamoja na CS50.H itabidi upatikanaji wa Kupata Int () na wote wa wake 97 00:04:44,610 --> 00:04:46,840 cousins-- GetFloat, GetString, na kadhalika. 98 00:04:46,840 --> 00:04:52,590 Kimsingi moja Kupata kazi kwa kila Aina ya data kwamba tumekuwa tayari kujadiliwa. 99 00:04:52,590 --> 00:04:53,970 >> Hivyo Int x sawa GetInt. 100 00:04:53,970 --> 00:04:56,390 Kimsingi nini kinatokea ni mimi nina katika wastaafu. 101 00:04:56,390 --> 00:04:58,790 Mimi nina kuuliza mtumiaji aina katika idadi. 102 00:04:58,790 --> 00:05:02,300 >> Na hapa mimi nina byte nini mimi kufanya, kutegemea 103 00:05:02,300 --> 00:05:05,060 juu ya kile mtumiaji typed katika haraka. 104 00:05:05,060 --> 00:05:09,147 Hivyo kama wao typed moja, mimi magazeti nje moja. 105 00:05:09,147 --> 00:05:09,855 Na kisha mimi kuvunja. 106 00:05:09,855 --> 00:05:12,590 107 00:05:12,590 --> 00:05:15,510 Kama wao aina mbili, mimi magazeti nje miwili. 108 00:05:15,510 --> 00:05:16,690 Na kisha mimi kuvunja. 109 00:05:16,690 --> 00:05:19,060 Ni muhimu kuvunja kati ya kila kesi 110 00:05:19,060 --> 00:05:20,890 kwa sababu vinginevyo utakuwa kuanguka kwa njia. 111 00:05:20,890 --> 00:05:23,380 Hivyo kama sikuwa na chochote mapumziko huko, na user 112 00:05:23,380 --> 00:05:31,380 typed moja, nini kitatokea ni ingekuwa magazeti moja, mbili, tatu, pole. 113 00:05:31,380 --> 00:05:33,099 Hiyo ni aina ya tabia ya ajabu, sawa? 114 00:05:33,099 --> 00:05:33,890 Unaweza kufikiri hivyo. 115 00:05:33,890 --> 00:05:36,480 Lakini kuna kweli baadhi ya matukio ambapo hii inaweza kuwa ni jambo pretty muhimu. 116 00:05:36,480 --> 00:05:39,730 Hivyo hapa ni mfano mwingine wa kubadili Kauli ambapo mimi saza mapumziko. 117 00:05:39,730 --> 00:05:42,030 Lakini mimi kufanya hivyo kwa makusudi. 118 00:05:42,030 --> 00:05:43,030 >> Hivyo kile kinachotokea hapa? 119 00:05:43,030 --> 00:05:43,821 Fikiria kwa pili. 120 00:05:43,821 --> 00:05:45,960 Unaweza hata wanataka pause video. 121 00:05:45,960 --> 00:05:48,230 >> Nini kinatokea hapa ikiwa aina ya mtumiaji nne? 122 00:05:48,230 --> 00:05:51,190 123 00:05:51,190 --> 00:05:53,860 Hivyo nimekuwa aliuliza mtumiaji kwa ajili ya pembejeo. 124 00:05:53,860 --> 00:05:56,560 Na wao kutoa thamani 4. 125 00:05:56,560 --> 00:05:59,545 Nini anapata kuchapishwa wakati mimi kufanya hivyo? 126 00:05:59,545 --> 00:06:02,170 On slide uliopita, kulikuwa na mapumziko kati ya kesi zote. 127 00:06:02,170 --> 00:06:04,750 Na hivyo ingekuwa tu magazeti manne na kisha kuacha. 128 00:06:04,750 --> 00:06:06,610 Lakini katika kesi hii, itakuwa si. 129 00:06:06,610 --> 00:06:10,700 Nini kitatokea ni wewe kuanguka kwa njia ya kila kesi. 130 00:06:10,700 --> 00:06:14,890 >> Hivyo katika kesi hii nimepata iliyoandaliwa kesi yangu katika namna ambayo kama mtumiaji aina 4, 131 00:06:14,890 --> 00:06:20,070 Mimi magazeti manne, tatu, mbili, moja, mlipuko mbali. 132 00:06:20,070 --> 00:06:22,780 Na kama wao typed 5, napenda kuanza saa tano na kufanya kitu kimoja. 133 00:06:22,780 --> 00:06:26,410 Kama typed 1, napenda tu kufanya moja, mlipuko mbali. 134 00:06:26,410 --> 00:06:28,715 >> Hivyo katika kesi hii, mimi nina kutumia kubadili aina ya uwazi hivyo 135 00:06:28,715 --> 00:06:30,804 kwamba mimi na nia ya kuanguka kupitia kesi zote. 136 00:06:30,804 --> 00:06:33,720 Lakini kwa ujumla wewe pengine gonna wanataka kuvunja kati ya wote hao, 137 00:06:33,720 --> 00:06:36,090 isipokuwa kama una hali kama hii moja ambapo wewe ni 138 00:06:36,090 --> 00:06:40,081 aina ya leveraging ukweli kwamba utasikia kuanguka kwa njia ya kesi bila mapumziko. 139 00:06:40,081 --> 00:06:42,830 Hivyo hiyo ni ya pili ya kuu aina ya kauli masharti. 140 00:06:42,830 --> 00:06:47,139 Mwisho wa ambayo ni:? Basi, mimi na snippets wawili wa C kificho hapa. 141 00:06:47,139 --> 00:06:48,680 Mmoja upande wa kushoto na mwingine upande wa kulia. 142 00:06:48,680 --> 00:06:52,330 Mmoja upande wa kushoto lazima pengine kuwa pretty ukoo na wewe. 143 00:06:52,330 --> 00:06:55,110 >> Nina Int x. 144 00:06:55,110 --> 00:06:57,167 Na mimi pengine lazima wameomba mtumiaji 145 00:06:57,167 --> 00:07:00,250 for-- hii lazima pengine kuwa Int x sawa GetInt, au kitu kama hicho. 146 00:07:00,250 --> 00:07:03,030 147 00:07:03,030 --> 00:07:05,240 Na kisha mimi nina kufanya uamuzi. 148 00:07:05,240 --> 00:07:11,700 Kama baadhi kujieleza Boolean ni kweli, kuwapa x thamani 5. 149 00:07:11,700 --> 00:07:13,590 Vinginevyo, hawawajui x thamani 6. 150 00:07:13,590 --> 00:07:16,548 >> Hiyo upande wa kushoto lazima pengine kuwa pretty ukoo kutoka mjadala wetu 151 00:07:16,548 --> 00:07:18,160 Kama Mwingine wa muda tu iliyopita. 152 00:07:18,160 --> 00:07:20,535 Je, wewe kushangazwa kujua kuwa mstari juu ya haki 153 00:07:20,535 --> 00:07:22,310 anafanya exact kitu? 154 00:07:22,310 --> 00:07:26,140 >> Hivyo hii inaitwa:? Au wakati mwingine aitwaye operator ternary. 155 00:07:26,140 --> 00:07:27,450 Na ni pretty cool. 156 00:07:27,450 --> 00:07:29,110 Ni kawaida kutumika kama hila cute. 157 00:07:29,110 --> 00:07:35,777 >> Lakini nini utapata kufanya ni kuiga Kama Mwingine kwa kweli ni ndogo, 158 00:07:35,777 --> 00:07:37,610 kweli trivially short matawi masharti. 159 00:07:37,610 --> 00:07:41,470 Wewe kwa ujumla bila kutumia: kama wewe alikuwa mistari sita ya kificho kati ya kila seti 160 00:07:41,470 --> 00:07:42,569 ya curly braces. 161 00:07:42,569 --> 00:07:44,360 Lakini kama wewe ni tu kufanya uamuzi wa haraka, 162 00:07:44,360 --> 00:07:47,520 kama wewe ni kwenda kufanya kitu kimoja au nyingine na ni rahisi sana, 163 00:07:47,520 --> 00:07:52,240 hii inaweza kuwa mfano wa jinsi ya kufanya hivyo pamoja:? operator ternary. 164 00:07:52,240 --> 00:07:56,940 Hivyo Int x sawa kujieleza? 165 00:07:56,940 --> 00:07:59,470 Jambo baada swali alama ni nini x ya thamani 166 00:07:59,470 --> 00:08:02,690 itakuwa kama kujieleza ni kweli. 167 00:08:02,690 --> 00:08:05,330 >> Jambo baada matumbo ni nini thamani ya x 168 00:08:05,330 --> 00:08:07,990 itakuwa kama kujieleza ilikuwa ni uongo. 169 00:08:07,990 --> 00:08:11,510 Hivyo mimi nina kuuliza mwenyewe, ni usemi wa kweli? 170 00:08:11,510 --> 00:08:13,870 Kama ni, kuwapa x thamani 5. 171 00:08:13,870 --> 00:08:16,619 Kama siyo, kuwapa x thamani 6. 172 00:08:16,619 --> 00:08:17,410 Tena, kama nilivyosema. 173 00:08:17,410 --> 00:08:18,670 Hii ni kawaida tu hila cute. 174 00:08:18,670 --> 00:08:20,430 Na wakati mwingine kama wewe kuwa kweli starehe na hayo, 175 00:08:20,430 --> 00:08:22,820 wewe utakuwa kufanya hivyo kwa sababu inaonekana aina ya baridi katika mipango yako. 176 00:08:22,820 --> 00:08:25,710 Kwa ujumla mimi nina kuziwasilisha kwa wewe sasa hivyo wewe ni ukoo na hayo 177 00:08:25,710 --> 00:08:26,990 kama wewe kuona. 178 00:08:26,990 --> 00:08:30,080 Lakini bila ya shaka tunajua huna kuandika yoyote ya kanuni yako. 179 00:08:30,080 --> 00:08:33,246 Lakini ni kitu cha kuwa na mazoea na, kwa sababu wewe utakuwa dhahiri kukutana 180 00:08:33,246 --> 00:08:36,130 snippets wa kanuni hapa na pale ambapo huu:? syntax, 181 00:08:36,130 --> 00:08:39,120 AKA operator ternary, ni kutumika. 182 00:08:39,120 --> 00:08:40,960 >> Muhtasari hivyo haraka juu nini conditionals ni, 183 00:08:40,960 --> 00:08:44,210 na nini chaguzi za kutosha na wewe katika C. Una Kama na kama-kingine, 184 00:08:44,210 --> 00:08:46,860 na kama mwingine kama, nakadhalika. 185 00:08:46,860 --> 00:08:50,880 Unaweza kutumia maneno Boolean kwa wale kufanya maamuzi. 186 00:08:50,880 --> 00:08:53,720 >> Kwa kauli kubadili matumizi kesi Diskret kufanya maamuzi. 187 00:08:53,720 --> 00:08:57,540 Ungependa hasa kusema, ikiwa ni moja, au kama ni wawili, au kama ni tatu, 188 00:08:57,540 --> 00:09:00,870 Mimi itabidi kufanya jambo hili, au jambo hili, au jambo hili. 189 00:09:00,870 --> 00:09:04,660 Na:? Unaweza kutumiwa kuchukua nafasi rahisi sana matawi kama-kingine, 190 00:09:04,660 --> 00:09:08,490 au kama-kingine minyororo kufanya kificho wako kuangalia dhana kidogo. 191 00:09:08,490 --> 00:09:09,250 >> Mimi nina Doug Lloyd. 192 00:09:09,250 --> 00:09:11,410 Na hii ni CS50. 193 00:09:11,410 --> 00:09:12,959