1 00:00:00,000 --> 00:00:05,140 2 00:00:05,140 --> 00:00:05,640 Selvä. 3 00:00:05,640 --> 00:00:08,330 Joten Nyt puhua jostain todella hyödyllinen programming-- 4 00:00:08,330 --> 00:00:09,914 ehtolauseet. 5 00:00:09,914 --> 00:00:11,830 Niin ehdollinen ilmaisuja anna ohjelmat 6 00:00:11,830 --> 00:00:14,538 tehdä päätöksiä ja ottaa eri haarukat tiellä, jotain 7 00:00:14,538 --> 00:00:17,670 Viittasin hieman aiemmin, riippuen muuttujien arvot, 8 00:00:17,670 --> 00:00:20,990 tai sen perusteella, mitä käyttäjä tuotantopanoksia ohjelmoija, komentoriviltä, 9 00:00:20,990 --> 00:00:23,130 tai jos sinulla on nopea tai jotain sellaista. 10 00:00:23,130 --> 00:00:26,690 C on pari eri tapoja ilmaista ehdollista ilmaisuja, jotka 11 00:00:26,690 --> 00:00:29,911 me myös joskus soittaa ehdollinen haara omien ohjelmiensa. 12 00:00:29,911 --> 00:00:32,910 Ja jotkut näistä ovat menossa katsomaan melko tutulta tyhjästä, 13 00:00:32,910 --> 00:00:35,190 joten me jopa vetää ne ylös vierekkäin, vain 14 00:00:35,190 --> 00:00:38,170 voit tehdä että vastaavasti päähäsi. 15 00:00:38,170 --> 00:00:41,250 >> Joten, if-- jos on melko yksinkertainen ehdollinen. 16 00:00:41,250 --> 00:00:43,560 Jos muistatte alkaen naarmu täällä 17 00:00:43,560 --> 00:00:50,000 voit täyttää että on Hexagon sininen ilme jos hiiri alas 18 00:00:50,000 --> 00:00:53,010 tai jos x on pienempi kuin 10, tai jotain sellaista. 19 00:00:53,010 --> 00:00:57,390 Ja sitten, jos x on pienempi kuin 10, tai jos hiiri oli itse asiassa, alas, 20 00:00:57,390 --> 00:01:01,140 kaikki koodi sisällä palapelin pala olisi toteuttaa. 21 00:01:01,140 --> 00:01:03,720 Kaikki asiat, jotka sopivat sisällä että C muoto. 22 00:01:03,720 --> 00:01:07,200 >> Samoin meillä on jos vasemmalla siellä. 23 00:01:07,200 --> 00:01:09,210 Jos ehtolauseke, joissa minulla vain käyttämällä 24 00:01:09,210 --> 00:01:13,010 korvikkeena yhden Boolen ilmaisuja me aiemmin keskusteltu, 25 00:01:13,010 --> 00:01:15,240 avoin kihara ahdin, lähellä kihara ahdin. 26 00:01:15,240 --> 00:01:17,720 Niin ajattele avoin kihara ahdin ja suljettu kihara ahdin 27 00:01:17,720 --> 00:01:22,720 koska eräänlainen analoginen sandwich vaikutus, jos palkin 28 00:01:22,720 --> 00:01:24,070 tyhjästä. 29 00:01:24,070 --> 00:01:28,680 >> Jos Boolen lauseke if-lauseessa on totta, 30 00:01:28,680 --> 00:01:30,900 sitten kaikki riviä koodia välillä aaltosulkeiden 31 00:01:30,900 --> 00:01:33,870 tulee suorittaa jotta ylhäältä alas. 32 00:01:33,870 --> 00:01:35,700 Jos Boolen lauseke on väärä, käymme 33 00:01:35,700 --> 00:01:38,610 ohittaa kaikkea siltä väliltä aaltosulkumerkkien, koska me vain 34 00:01:38,610 --> 00:01:44,570 halua mennä alas, että tienhaarasta jos Boolen lauseke on tosi. 35 00:01:44,570 --> 00:01:48,540 >> Voimme ottaa tämän askeleen edelleen, jos muuta. 36 00:01:48,540 --> 00:01:50,820 Joten tämä Scratch lohko on melko samanlainen kuin 37 00:01:50,820 --> 00:01:55,884 näimme vain toinen sitten, paitsi se kestää kaksi eri polkuja perustuu 38 00:01:55,884 --> 00:01:56,550 mitä tapahtuu. 39 00:01:56,550 --> 00:02:00,420 Joten jos hiiri oli alas, tai jos x on pienempi kuin 10, 40 00:02:00,420 --> 00:02:04,780 teemme kaiken, joka on siltä väliltä että ensimmäinen haarukka, että ensimmäinen C, 41 00:02:04,780 --> 00:02:08,430 >> Muussa tapauksessa, jos hiiri on ylös tai x ei ole pienempi kuin 10, 42 00:02:08,430 --> 00:02:10,460 teemme kaiken toisesta. 43 00:02:10,460 --> 00:02:15,010 Ja se analogisia mitä näet täällä C. Jos ehtolauseke, 44 00:02:15,010 --> 00:02:17,910 tehdä juttuja välillä ensimmäiset aaltosulkeita. 45 00:02:17,910 --> 00:02:20,550 Else, tehdä juttuja välillä toinen joukko aaltosulkeita. 46 00:02:20,550 --> 00:02:22,080 Joten jos Boolen lauseke on tosi, käymme 47 00:02:22,080 --> 00:02:23,580 tehdä mitä on ensimmäisen sarjan. 48 00:02:23,580 --> 00:02:27,480 Jos Boolen lauseke on väärä, että johtaisi muuta, 49 00:02:27,480 --> 00:02:30,100 ja haluamme tehdä mitä n toinen joukko aaltosulkeita. 50 00:02:30,100 --> 00:02:34,190 Jälleen ylhäältä alas, kaikki linjat välillä olkaimet. 51 00:02:34,190 --> 00:02:38,130 >> C, on mahdollista luoda jos-else if-else ketju. 52 00:02:38,130 --> 00:02:42,000 Itse voit olla if-else if-else jos-else, jos, ja niin edelleen ja niin edelleen ja niin 53 00:02:42,000 --> 00:02:42,720 päälle. 54 00:02:42,720 --> 00:02:44,660 Scratch Tämä edellytti pesivät lohkot. 55 00:02:44,660 --> 00:02:48,280 Lisäät if-else, ja sinun piti laittaa toinen sisällä muuta, 56 00:02:48,280 --> 00:02:51,110 ja niin edelleen, ja se sai laji sisäkkäisiä ja monimutkainen. 57 00:02:51,110 --> 00:02:52,450 Mutta C, meidän ei tarvitse tehdä sitä. 58 00:02:52,450 --> 00:02:55,300 Voimme oikeastaan ​​vain olla se ketju näin. 59 00:02:55,300 --> 00:02:58,350 Jälleen, kuten arvata saattaa, kaikki nämä oksat ovat toisensa poissulkevia. 60 00:02:58,350 --> 00:03:00,750 Voit aina vain mennä alas yksi haara. 61 00:03:00,750 --> 00:03:02,270 Jos tämä on totta. 62 00:03:02,270 --> 00:03:03,930 Muuten, jos tämä on totta. 63 00:03:03,930 --> 00:03:05,700 Muuten, jos tämä on totta. 64 00:03:05,700 --> 00:03:07,120 Muuten, tehdä tämän. 65 00:03:07,120 --> 00:03:11,010 Joten kaikki neljä oksat tässä Esimerkiksi ovat toisensa poissulkevia. 66 00:03:11,010 --> 00:03:14,900 Se jos-else if-else ketju. 67 00:03:14,900 --> 00:03:17,580 >> Se on kuitenkin mahdollista, ja joskus erittäin hyödyllinen, 68 00:03:17,580 --> 00:03:20,950 luoda ketju ei toisensa poissulkevia oksat. 69 00:03:20,950 --> 00:03:24,600 Tässä esimerkissä, vain kolmas ja Neljäs oksat ovat toisensa poissulkevia. 70 00:03:24,600 --> 00:03:27,450 Voi olla, että voisit täytä ensimmäistä kunnossa, 71 00:03:27,450 --> 00:03:29,396 ja voit tyydyttää Toisen edellytyksen, 72 00:03:29,396 --> 00:03:31,770 ja voit täyttää kolmas condition-- jolloin 73 00:03:31,770 --> 00:03:35,270 menisit alas ensimmäinen haara, sitten mennä alas toinen haara, 74 00:03:35,270 --> 00:03:37,000 niin voisitte mennä alas kolmas osa. 75 00:03:37,000 --> 00:03:40,450 Tai ehkä täytä ensimmäistä kunnossa, ja toinen edellytys, 76 00:03:40,450 --> 00:03:42,770 mutta et täytä kolmas edellytys. 77 00:03:42,770 --> 00:03:46,230 Tässä tapauksessa mennä alas ensimmäinen haara ja toinen haara, 78 00:03:46,230 --> 00:03:48,040 ja sitten neljäs haara, 79 00:03:48,040 --> 00:03:51,392 >> Syynä tähän on se, että muu sitovat vain lähimpään jos. 80 00:03:51,392 --> 00:03:53,100 Joten vaikka siellä muu täällä, että 81 00:03:53,100 --> 00:03:56,490 ei välttämättä luotava molemminpuolisesti yksinomainen ketju kaiken. 82 00:03:56,490 --> 00:04:00,890 Se on vain ilmaus siellä Boolen 83 00:04:00,890 --> 00:04:05,040 ilmaisu 3-- se sulkevat toisensa pois muuta. 84 00:04:05,040 --> 00:04:07,580 Joten on mahdollista, ja joskus varsin hyödyllinen, 85 00:04:07,580 --> 00:04:11,772 kuten sanoin, luoda ketju ole toisiaan poissulkevia oksia. 86 00:04:11,772 --> 00:04:14,230 Katsotaanpa katsomaan eri jonkinlaisen ehdollisen, joka 87 00:04:14,230 --> 00:04:17,392 et ole ennen nähty Scratch. 88 00:04:17,392 --> 00:04:19,369 Siinä on jotain kutsutaan kytkin selvitys. 89 00:04:19,369 --> 00:04:21,410 Kytkin selvitys on sellainen siisti, koska se on 90 00:04:21,410 --> 00:04:25,930 ehdon, jonka avulla voit määrittää eri tapauksissa 91 00:04:25,930 --> 00:04:28,926 sijaan, että turvaudutaan Boolen ilmaisuja tekemään päätöksiä puolestasi. 92 00:04:28,926 --> 00:04:31,050 Niinpä esimerkiksi, sanokaamme että minulla on tämä ohjelma, 93 00:04:31,050 --> 00:04:34,110 ja olen pyytänyt käyttäjä tarjota aineksia minulle. 94 00:04:34,110 --> 00:04:37,170 Siksi sanon, int x = Get Int (), ja jos et tunne vielä, 95 00:04:37,170 --> 00:04:40,190 saada int on toiminto, joka on sisältyy myös CS50 kirjasto, 96 00:04:40,190 --> 00:04:44,610 joten jos #include CS50.H joudut pääsy Get Int () ja kaikki sen 97 00:04:44,610 --> 00:04:46,840 cousins-- GetFloat, GetString, ja niin edelleen. 98 00:04:46,840 --> 00:04:52,590 Periaatteessa yksi saat toiminto jokaista tietotyyppi, että olemme jo keskustelleet. 99 00:04:52,590 --> 00:04:53,970 >> Joten Int X vastaa GetInt. 100 00:04:53,970 --> 00:04:56,390 Periaatteessa mitä tapahtuu on olen terminaalissa. 101 00:04:56,390 --> 00:04:58,790 Pyydän käyttäjä kirjoittaa numero. 102 00:04:58,790 --> 00:05:02,300 >> Ja tässä olen kytkentä mitä teen, riippuen 103 00:05:02,300 --> 00:05:05,060 mitä käyttäjä kirjoittanut kehoitteeseen. 104 00:05:05,060 --> 00:05:09,147 Joten jos he kirjoitit yksi, minä tulostaa yksi. 105 00:05:09,147 --> 00:05:09,855 Ja sitten rikon. 106 00:05:09,855 --> 00:05:12,590 107 00:05:12,590 --> 00:05:15,510 Jos he kirjoittavat kaksi, minä tulostaa kaksi. 108 00:05:15,510 --> 00:05:16,690 Ja sitten rikon. 109 00:05:16,690 --> 00:05:19,060 On tärkeää tauko kulloinkin 110 00:05:19,060 --> 00:05:20,890 koska muuten putoat läpi. 111 00:05:20,890 --> 00:05:23,380 Joten jos minulla ei ollut mitään taukoja siellä, ja käyttäjä 112 00:05:23,380 --> 00:05:31,380 konekirjoitettu yksi, mitä tapahtuisi on se tulostaisi yksi, kaksi, kolme, sorry. 113 00:05:31,380 --> 00:05:33,099 Se on outoa käyttäytymistä, eikö? 114 00:05:33,099 --> 00:05:33,890 Saatat ajatella niin. 115 00:05:33,890 --> 00:05:36,480 Mutta on todella joitakin tapauksia, joissa tämä voisi olla melko hyödyllinen asia. 116 00:05:36,480 --> 00:05:39,730 Joten tässä on toinen esimerkki kytkimen selitystä, jos minä jättää taukoja. 117 00:05:39,730 --> 00:05:42,030 Mutta teen sen tahallani. 118 00:05:42,030 --> 00:05:43,030 >> Joten mitä täällä tapahtuu? 119 00:05:43,030 --> 00:05:43,821 Usko, että toinen. 120 00:05:43,821 --> 00:05:45,960 Saatat jopa haluta keskeyttää videon. 121 00:05:45,960 --> 00:05:48,230 >> Mitä täällä tapahtuu, jos käyttäjä tyypit neljä? 122 00:05:48,230 --> 00:05:51,190 123 00:05:51,190 --> 00:05:53,860 Joten olen pyytänyt käyttäjä syöttää. 124 00:05:53,860 --> 00:05:56,560 Ja ne tarjoavat arvo 4. 125 00:05:56,560 --> 00:05:59,545 Mikä saa tulostaa, kun minä, että? 126 00:05:59,545 --> 00:06:02,170 Edellisestä dia oli taukoja välillä kaikissa tapauksissa. 127 00:06:02,170 --> 00:06:04,750 Ja niin se olisi vain tulostaa neljä ja sitten lopettaa. 128 00:06:04,750 --> 00:06:06,610 Mutta tässä tapauksessa, se ei. 129 00:06:06,610 --> 00:06:10,700 Mitä tapahtuu on sinulle putoavat läpi tapauskohtaisesti. 130 00:06:10,700 --> 00:06:14,890 >> Joten tässä tapauksessa olen järjestellyt tapauksissa siten, että jos käyttäjä kirjoittaa 4, 131 00:06:14,890 --> 00:06:20,070 Minä tulostaa neljä, kolme, kaksi, yksi, blast pois. 132 00:06:20,070 --> 00:06:22,780 Ja jos he kirjoitit 5, haluan aloittaa viiden ja tehdä samoin. 133 00:06:22,780 --> 00:06:26,410 Jos ne kirjoitetaan 1, olisin vain tehdä yksi, blast pois. 134 00:06:26,410 --> 00:06:28,715 >> Joten tässä tapauksessa, olen käyttäen kytkin eräänlainen taitavasti niin 135 00:06:28,715 --> 00:06:30,804 että en aio laskea läpi kaikki tapaukset. 136 00:06:30,804 --> 00:06:33,720 Mutta yleensä olet todennäköisesti aio halua rikkoa välillä ne kaikki, 137 00:06:33,720 --> 00:06:36,090 ellei sinulla ole tilanne kuten tämä, jos olet 138 00:06:36,090 --> 00:06:40,081 Tällainen hyödyntämällä sitä, että sinun kuuluvat läpi tapauksissa ilman taukoa. 139 00:06:40,081 --> 00:06:42,830 Niin, että toinen tärkeä tyyppisiä ehtolauseet. 140 00:06:42,830 --> 00:06:47,139 Joista viimeinen on?: Olen siis on kaksi katkelmia C-koodia tässä. 141 00:06:47,139 --> 00:06:48,680 Toinen vasemmalla ja toinen oikealla. 142 00:06:48,680 --> 00:06:52,330 Yksi vasemmalla pitäisi todennäköisesti melko tuttu. 143 00:06:52,330 --> 00:06:55,110 >> Minulla on Int x. 144 00:06:55,110 --> 00:06:57,167 Ja minun olisi ovat pyytäneet käyttäjä 145 00:06:57,167 --> 00:07:00,250 for-- tämä olisi todennäköisesti Int x vastaa GetInt, tai jotain sellaista. 146 00:07:00,250 --> 00:07:03,030 147 00:07:03,030 --> 00:07:05,240 Ja sitten olen tekemässä päätöstä. 148 00:07:05,240 --> 00:07:11,700 Jos jotkut ehtolauseke on totta, määrittää x arvo 5. 149 00:07:11,700 --> 00:07:13,590 Muuten, antaa X arvo 6. 150 00:07:13,590 --> 00:07:16,548 >> Että vasemmalla pitäisi luultavasti tuttuja meidän keskustelu 151 00:07:16,548 --> 00:07:18,160 If Else vain hetki sitten. 152 00:07:18,160 --> 00:07:20,535 Olisitko yllättynyt tietää että linja oikealla 153 00:07:20,535 --> 00:07:22,310 tekee täsmälleen sama asia? 154 00:07:22,310 --> 00:07:26,140 >> Niin tätä kutsutaan?: Tai joskus kutsutaan kolmen komponentin operaattori. 155 00:07:26,140 --> 00:07:27,450 Ja se on aika siistiä. 156 00:07:27,450 --> 00:07:29,110 Se on yleensä käytetään söpö temppu. 157 00:07:29,110 --> 00:07:35,777 >> Mutta mitä sen avulla voit tehdä on simuloida Jos Else todella pieni, 158 00:07:35,777 --> 00:07:37,610 todella triviaalisti lyhyt ehdollisen oksat. 159 00:07:37,610 --> 00:07:41,470 Sinun yleensä ei käytä?: Jos oli kuusi riviä koodia jokaisen sarjan 160 00:07:41,470 --> 00:07:42,569 kihara housunkannattimet. 161 00:07:42,569 --> 00:07:44,360 Mutta jos olet vain joten nopea päätös, 162 00:07:44,360 --> 00:07:47,520 jos aiot tehdä yksi asia tai muut ja se on hyvin yksinkertainen, 163 00:07:47,520 --> 00:07:52,240 Tämä saattaa olla esimerkki siitä, miten tehdä sen kanssa?: kolmen komponentin operaattori. 164 00:07:52,240 --> 00:07:56,940 Joten Int X vastaa ilmaisu? 165 00:07:56,940 --> 00:07:59,470 Asia jälkeen kysymys merkki on mitä x arvo 166 00:07:59,470 --> 00:08:02,690 on jos lauseke on tosi. 167 00:08:02,690 --> 00:08:05,330 >> Asia jälkeen paksusuoli on mitä X: n arvo 168 00:08:05,330 --> 00:08:07,990 olisi, jos lauseke oli väärä. 169 00:08:07,990 --> 00:08:11,510 Joten pyydän itseltäni, on ilmaus totta? 170 00:08:11,510 --> 00:08:13,870 Jos se on, antaa X arvo 5. 171 00:08:13,870 --> 00:08:16,619 Jos se ei ole, määrittää x arvo 6. 172 00:08:16,619 --> 00:08:17,410 Jälleen kuten sanoin. 173 00:08:17,410 --> 00:08:18,670 Tämä on yleensä vain söpö temppu. 174 00:08:18,670 --> 00:08:20,430 Ja joskus, jos tulet todella mukavalta, 175 00:08:20,430 --> 00:08:22,820 voit tehdä tämän, koska se näyttää eräänlainen jäähtyä omien ohjelmiensa. 176 00:08:22,820 --> 00:08:25,710 Yleensä olen sen esittämistä nyt niin olet perehtynyt se 177 00:08:25,710 --> 00:08:26,990 jos näet sen. 178 00:08:26,990 --> 00:08:30,080 Mutta varmasti tietää sinun ei tarvitse kirjoittaa sitä millään koodistasi. 179 00:08:30,080 --> 00:08:33,246 Mutta se on jotain olla tuttuja, koska sinun ehdottomasti kohtaavat 180 00:08:33,246 --> 00:08:36,130 koodinpätkää täällä ja siellä missä tämä?: syntaksi, 181 00:08:36,130 --> 00:08:39,120 AKA ternäärinen operaattori, käytetään. 182 00:08:39,120 --> 00:08:40,960 >> Niin nopea yhteenveto mitä conditionals ovat, 183 00:08:40,960 --> 00:08:44,210 ja mitä vaihtoehtoja on tarjolla sinulle C. Sinulla on Jos ja jos-else, 184 00:08:44,210 --> 00:08:46,860 ja jos if, jne. 185 00:08:46,860 --> 00:08:50,880 Voit käyttää Boolen operaattoreilla niille tehdä päätöksiä. 186 00:08:50,880 --> 00:08:53,720 >> Kytkimellä lausunnoista käytät diskreetti tapauksissa tehdä päätöksiä. 187 00:08:53,720 --> 00:08:57,540 Sinun olisi nimenomaan sanoa, jos se on yksi, tai jos se on kaksi, tai jos se on kolme, 188 00:08:57,540 --> 00:09:00,870 Teen tätä asiaa, tai tämä asia, tai tämä asia. 189 00:09:00,870 --> 00:09:04,660 Ja?: Voi olla käyttää korvaamaan hyvin yksinkertainen, jos-else oksat, 190 00:09:04,660 --> 00:09:08,490 tai jos-else ketjut tehdä koodi näyttää hieman fancy. 191 00:09:08,490 --> 00:09:09,250 >> Olen Doug Lloyd. 192 00:09:09,250 --> 00:09:11,410 Ja tämä on CS50. 193 00:09:11,410 --> 00:09:12,959