Viss kārtībā.
Tāpēc tagad parunāsim par kaut ko patiešām noderīga programming--
nosacītie apzīmējumi.
Tātad nosacījuma izteiksmes ļauj jūsu programmas
pieņemt lēmumus un uzņemties atšķirīgs dakšas autoceļu, kaut
Man norādīja uz nedaudz agrāk, atkarībā vērtībām mainīgajiem,
vai pamatojoties uz to, ko lietotājs izejvielas programmētājs, pie komandrindas,
vai ja jums ir ātri vai kaut kas tamlīdzīgs.
C ir pāris dažādos veidos, lai izteikt nosacījuma izteiksmes, kas
mēs arī dažreiz zvans nosacījuma filiāle jūsu programmas.
Un daži no tiem dodas meklēt diezgan pazīstams ar jums no nulles,
tāpēc mēs pat vilktu tos up blakus, vienkārši
Jūs varat padarīt šo analoģiju galvu.
>> Tātad, if-- ja ir diezgan vienkāršs nosacīta.
Ja jūs atceraties no scratch par tepat
jūs varētu aizpildīt, kas ir sešstūra ar zilu izteiksmi, ja peli uz leju
vai ja x ir mazāks par 10, vai kaut kas tamlīdzīgs.
Un pēc tam, ja x ir mazāks par 10, vai ja pele bija patiesībā, uz leju,
visi no koda iekšpusē puzzle gabals varētu izpildīt.
Visas lietas, kas der iekšā, ka C formu.
>> Tāpat mums ir ja pa kreisi tur.
Ja Būla izteiksmes, kas es esmu, tikai izmantojot
aizstāt vienu no Būla izteiksmes mēs iepriekš apspriests,
atvērts cirtaini lencēm, tuvu cirtaini lencēm.
Tāpēc domāju, ka atklātā cirtaini lencēm un slēgta cirtaini lencēm
kā sava veida analogs sviestmaizi efekts, ja bloka labajā pusē
no nekā.
>> Ja Būla izteiksme šajā ja paziņojums ir patiess,
tad visi rindas kods starp cirtaini lencēm
veiks, lai no augšas uz leju.
Ja Būla izteiksme ir nepatiesa, mēs
izlaist viss pa vidu cirtaini bikšturi, jo mēs tikai
gribu iet uz leju, ka dakša uz ceļa ja Būla izteiksme ir patiesa.
>> Mēs varam izmantot šo vienu soli tālāk ar ja cits.
Tātad šis Scratch bloks ir diezgan līdzīga tai,
mēs redzējām tikai otrs atpakaļ, izņemot tas aizņem divus dažādus ceļus, kuru pamatā
par to, kas notiek.
Tātad, ja pele ir uz leju, vai tad, kad X ir mazāks par 10,
mēs darīsim visu, kas ir pa vidu ka pirmais dakša, ka pirmais C.,
>> Pretējā gadījumā, ja pele ir uz augšu, vai x ir ne mazāks par 10,
mēs darīsim visu, kas ir otrā.
Un tas ir analogs tam, ko redzat šeit C. Ja Būla izteiksmes,
darīt stuff starp Pirmais komplekts cirtaini lencēm.
Else, do stuff starp Otrā cirtaini lencēm.
Tātad, ja Bula izteiksme ir taisnība, mēs
darīt visu ir starp pirmo komplektu.
Ja Būla izteiksme ir nepatiesa, ka varētu būt saistīts ar citu,
un mēs varētu darīt jebko, kas otrais kopums cirtaini lencēm.
Atkal, augšas uz leju, visi līnijas starp lencēm.
>> In C, tas ir iespējams, lai radītu IF-cits, ja-cits ķēde.
Patiesībā jūs varat būt, ja-cits, ja-cits ja-cits, ja, un tā tālāk, un tā tālāk, un tā
on.
In nulles, tas prasīja ligzdo blokus.
Pievienojot ja-cits, un jums bija nodot vēl vienu iekšpusē cits,
un tā tālāk, un tā ieguva veida ligzdotu un sarežģīta.
Bet C, mums nav to darīt.
Mēs tiešām varam vienkārši ir tā ir ķēde, kā šis.
Atkal, kā jūs varētu gaidīt, visi šīm filiālēm ir savstarpēji izslēdzoši.
Jūs varat tikai kādreiz aiziet uz leju vienu filiāli.
Ja tā ir taisnība.
Pretējā gadījumā, ja tā ir taisnība.
Pretējā gadījumā to izdarītu.
Tātad visi četri filiālēm šajā piemērs ir savstarpēji izslēdzoši.
Tas ir, ja-cits, ja-cits ķēde.
>> Tas ir iespējams, lai gan, un dažreiz ļoti noderīgi,
lai izveidotu ķēdi nav savstarpēji izslēdzošas filiāles.
Šajā piemērā, tikai trešais un ceturtā filiāles ir savstarpēji izslēdzoši.
Tā varētu būt, ka jūs varētu apmierināt pirmo nosacījumu,
un jūs varētu apmierināt Otrais nosacījums,
un jūs varētu apmierināt trešais condition-- tādā gadījumā
jūs varētu iet uz leju, pirmo filiāli, tad jums iet uz leju otru filiāli,
tad jūs varētu iet uz leju trešo filiāli.
Vai varbūt jūs apmierina pirmais stāvoklis, un otrais stāvoklis,
bet jūs neapmierina trešais nosacījums.
Tādā gadījumā jūs iet uz leju pirmais filiāle un otrā daļa,
un tad ceturtā daļa,
>> Iemesls tam ir tas, ka cits būs tikai saistīties ar ja tuvāko.
Tātad, pat ja tur ir cits šeit, ka
ne vienmēr izveidot savstarpēji ekskluzīva ķēde viss.
Tas ir tikai izteiciens tur ar Būla
izteiksme 3-- tas ir savstarpēji izslēdzošas ar citu.
Tāpēc tas ir iespējams, un dažreiz diezgan noderīgs,
kā jau teicu, lai izveidotu ķēdi nav savstarpēji izslēdzošas filiāles.
Pieņemsim to apskatīt atšķirīgs veida nosacījumu, kas
neesat redzējis nulles.
Tur ir kaut kas ko sauc slēdzis paziņojums.
Slēdzis paziņojums ir veida veikls, jo tas ir
nosacīts aprēķins, kas ļauj Jums, lai precizētu atsevišķus gadījumus,
nevis paļaujoties uz Būla izteicienus, lai pieņemtu lēmumus par jums.
Tā, piemēram, teiksim ka man ir šī programma,
un es esmu jautā lietotājam lai sniegtu ieguldījumu man.
Tāpēc es saku, int x = Saņemt Int (), un, ja jūs neesat pazīstams vēl,
saņemt int ir funkcija, kas ir iekļauti arī CS50 bibliotēkā,
Tātad, ja jūs # Ietvert CS50.H jums ir piekļuve Get INT () un visas tās
cousins-- GetFloat, GetString, un tā tālāk.
Būtībā viens Get funkciju par katru datu tips, ka mēs esam jau apspriests.
>> Tātad Int x vienāds GetInt.
Būtībā, kas notiek ir tā, es esmu pie termināla.
Es esmu jautā lietotājam ierakstiet numuru.
>> Un šeit es esmu pāriet ko es daru, atkarībā
par to, ko lietotājs drukāti pie uzvednē.
Tātad, ja tie drukāti vienu, es izdrukāt vienu.
Un tad es pārtraukums.
Ja viņi tipa divas, es izdrukāt divi.
Un tad es pārtraukums.
Tas ir svarīgi, lai pauze starp katrā gadījumā
jo pretējā gadījumā jums būs izkrist pa.
Tātad, ja man nav neviena pārtraukumiem tur, un lietotājs
drukāti viens, kas notiktu, tas ir varētu drukāt viens, divi, trīs, sorry.
Tas ir sava veida dīvaina uzvedība, vai ne?
Jūs varētu domāt tā.
Bet ir faktiski daži gadījumi, kad tas varētu būt diezgan noderīga lieta.
Tātad, šeit ir vēl viens piemērs, slēdzi paziņojums, kurā es nenorādu pārtraukumiem.
Bet es to darīt uz mērķi.
>> Tātad, kas notiek šeit?
Padomā par sekundi.
Jūs pat varētu vēlēties, lai apturētu video.
>> Kas notiek, ja šeit lietotājs veidi četri?
Tāpēc es esmu lūdza lietotājam ievadi.
Un tie sniedz vērtību 4.
Kas izpaužas izdrukāt, ja man darīt?
Uz iepriekšējo slaidu, tur bija pārtraukumi starp visiem gadījumiem.
Un tā tas vienkārši izdrukāt četri un tad apstāties.
Bet šajā gadījumā tā nav.
Kas notiks, ir jums kritīs cauri katrā konkrētajā gadījumā.
>> Tātad šajā gadījumā es esmu organizēts manas lietas tādā veidā, ka tad, ja lietotājs veidiem 4,
Es drukāt četri, trīs, divi, viens, domnas off.
Un, ja tie drukāti 5, es gribētu sākt pie pieciem un darīt to pašu.
Ja tie drukāti 1, es būtu tikai darīt vienu, sprādzienu off.
>> Tātad šajā gadījumā, es esmu, izmantojot slēdzis veida gudri tik
ka es plānoju krist cauri visiem gadījumiem.
Bet parasti jūs, iespējams gonna vēlaties, lai izjauktu starp viņiem visiem,
ja vien jums ir situācija piemēram, šo vienu, kur tu esi
veida piesaistot to, ka jūs izkrist pa gadījumos bez pārtraukuma.
Tātad tas ir otrais lielākais veidi nosacītās pārskatu.
Pēdējais no kuriem ir:? Tāpēc es ir divas fragmentus C kodu šeit.
Viens pa kreisi un viens pa labi.
Viens no kreisās būtu iespējams, būs diezgan pazīstams ar jums.
>> Man ir int x.
Un es droši vien būtu ir lūguši lietotājam
for-- tas būtu iespējams, Int x vienāds GetInt, vai kaut kas tamlīdzīgs.
Un tad es esmu padarot lēmumu.
Ja dažas Būla izteiksme ir taisnība, piešķirt x vērtību 5.
Pretējā gadījumā, piešķirt x vērtību 6.
>> Tas pa kreisi būtu iespējams, diezgan pazīstams no mūsu diskusijas
If Else tikai pirms brīža.
Vai Jūs būtu pārsteigti uzzināt ka līnijas labajā pusē
nav tieši tas pats?
>> Tā to sauc: vai dažreiz sauc trīskāršo operators.
Un tas ir diezgan vēss.
Tas parasti izmanto kā gudrs triks.
>> Bet ko tas ļauj jums jādara, ir simulēt IF Else ar patiešām maza,
tiešām trivially īss nosacītie filiāles.
Tu vispār nevarētu izmantot: ja jums bija seši koda rindiņas starp katru komplektu
no cirtaini lencēm.
Bet, ja tu esi tikai padarot ātri pieņemt lēmumu,
ja jūs gatavojas darīt vienu lietu vai otru, un tas ir ļoti vienkārši,
tas varētu būt piemērs, kā to darīt to ar:? trīskāršo operators.
Tātad Int x vienāds izteiksme?
Lieta pēc jautājuma zīme ir tas x ir vērtība
būs, ja izteiksme ir patiesa.
>> Lieta pēc Kols ir Kas ir X vērtību
būtu, ja izteiksme ir nepatiesa.
Tāpēc es esmu jautā sev, ir izteiksme taisnība?
Ja tā ir, piešķirt x vērtību 5.
Ja tā nav, piešķirt x vērtību 6.
Atkal, tāpat kā es teicu.
Tas parasti ir tikai gudrs triks.
Un dažreiz, ja jūs kļūstat tiešām apmierināti ar to,
jūs darīt, jo tas izskatās veida atdzist jūsu programmas.
Vispār es esmu to iepazīstināt Jūs tagad tik jūs esat pazīstams ar to
ja jūs to redzat.
Bet, protams, zinu, jums nav rakstīt to jebkurā no jūsu kodu.
Bet tas ir kaut kas, ka zina, jo jūs noteikti sastapsies
fragmentus kodu šeit un tur kur šis:? sintakse,
AKA trīskāršo operators, tiek izmantots.
>> Tik ātri kopsavilkums par kādi conditionals ir,
un kādas iespējas ir pieejamas jums C. Jūs būtu, ja un ja-cits,
un ja cits, ja, un tā tālāk.
Jūs varat izmantot Būla izteiksmes tiem pieņemt lēmumus.
>> Ar slēdzi paziņojumus jūs izmantojat diskrēta gadījumos pieņemt lēmumus.
Jūs konkrēti pateikt, ja tas ir viens, vai arī, ja tas ir divas, vai arī, ja tas ir trīs,
Es darīšu šo lietu, vai šī lieta, vai šī lieta.
Un:?, Var izmantot, lai aizvietotu Ļoti vienkārši, ja-cits filiāles,
vai ja-cits ķēdes, lai padarītu Jūsu kods izskatās mazliet iedomātā.
>> Es esmu Doug Lloyd.
Un tas ir CS50.