A cikk egy lecke
A C / C ++ lecke 10. A kiválasztás szerkezete
1. Először hadd adjuk a blokk fogalmát. sok esetben szükségünk lesz rá. A blokk a zárójelben lévő állítások listája:
2. Ha. Most menjünk közvetlenül a választás (vagy elágazás) megépítéséhez. Engedjék meg (hagyja, hogy azok, akik olvassák mindkét kurzusomat, bocsásson meg nekem) hülyén ismételje meg a szöveg egy részét a leckéből egy hasonló témában a VB tanfolyamon
Az alsó sor egyszerű. Oroszul, a mindennapi életben folyamatosan használjuk. Ez a mi nagyon gyakori ha. Ha felhívnak minket az ajtón, akkor nyitunk. Ebben az esetben a csengő tesztelhető állapot (emlékszel egy másik lecke a logikai operátorokról?), De menjünk nyitva az az üzemeltető, aki csak akkor lesz végrehajtva, ha ez a feltétel igaz. Ez a legegyszerűbb példa az elágazásra. Mi az ág? Egy cselekvési nyilatkozat, honnan származik az ágazat? A lényeg az, hogy a fióktelep így néz ki: vagy nyitni fogok - vagy nem teszek semmit.
Hogyan fogják ezt az opciót rögzíteni?
ha (logikai kifejezés)
az üzemeltető;
Esetünkre:
ha (hívja az ajtót = = igaz)
Nyissuk meg;
Tekintsünk két lehetőséget az írásra:
ha (feltétel)
utasítás1;
Amint látjuk, a második esetben az operátorokat a blokk mellékelt zárójelzõi miatt kell végrehajtani (ahogy azt a lecke elején említettük). Így nagyon jelentős különbség van e két lehetőség teljesítményében.
Az első esetben, az igazi állapot alatt, az 1 operátort végrehajtják, és a 2 operátor minden esetben meg van elégítve, még akkor is, ha a feltétel hamis. Ne felejtsük el, hogy határozatlan ideig a második operátor szintjére toltuk, ez csak egy jelzés számunkra, de nem a fordító számára. Úgy véli, hogy az első mondat az if blokkban van, majd utána, ami az első kijelentés végét mutatja, a teljes if blokk véget ér. És egy operátort2 hajt végre, amely semmi köze ahhoz, ha. Ennélfogva a feltétel teljesülésétől függetlenül teljesül.
A második esetben a valós állapot alatt a BOTH operátor végrehajtásra kerül. Miért? De azért, mert a blokk zárójelekkel egyesülnek, és teljes egészükben végrehajtásra kerülnek. És ha a feltétel hamis, sem az operátor1, sem az operátor2 nem fog végrehajtani. Itt van két kis konzol!
3. Ha. mást. Bonyolítsuk a problémát.
Beállítást, ha ha a feltétel hamis, túl, meg kell adni bizonyos állítások, mint ez: ha dolgoznom kell ma - a feltétel igaz - én felkelni 7h, és mossa, öltözz, perekushu és menj dolgozni. Ha a feltétel nem hamis (ez egyébként) - aludni fogok 10-ig és járni.
Hogy fog kinézni:
ha (ellenőrzött állapot)
operator1 (vagy az operátorok blokkja, amint már megtudtuk)
más
operator2 (vagy mondatok blokkja)
ha (munka)
Kelj fel 7 órakor;
menni dolgozni;
>
más
10 óráig alszom;
// ne felejtsd el megadni, hány, majd hogyan fogsz elhagyni. (
>
Az if utasítás végrehajtása a kifejezés kiértékelésével kezdődik.
A további végrehajtás a következő rendszer szerint történik:- ha a kifejezés igaz (azaz nem 0), akkor az operátor-1 végrehajtódik.
- ha a kifejezés hamis (azaz 0), akkor a-2 operátor végrehajtásra kerül.
- ha a kifejezés hamis, és nincs operátor-2. akkor a következő kezelő végezhető el.
4. Beágyazott szerkezetek. Az if utasítások egymásba ágyazhatók. Egy beágyazott, ha kimutatás lehet az if konstrukcióban vagy egy másik if utasítás másik konstrukcióján belül. Ahhoz, hogy a program olvashatóbb legyen, javasoljuk, hogy a kezelőket és a konstrukciókat beágyazott, ha a kijelentések a göndör zárójelek használatával csoportosítják. Ha a zárójelek elmaradnak, akkor a fordító társítja a másik kulcsszót a legközelebb, ha nincs más.
Ennek eredményeképpen a program r lesz 2.
Ha az if utasítás után elhagyja a programot a programban, a program így fog kinézni:
int main ()
int t = 2, b = 7, r = 3;
Ebben az esetben r értéke 3, mivel a másik kulcsszó a második, ha nem végrehajtott utasításra vonatkozik, mert az első, ha nem ellenőrzi az állapotot.
A következő részlet a beágyazott, ha állításokat illusztrálja:
ha (ZNAC == '-') x = y - z;
egyébként, ha (ZNAC == '+') x = y + z;
egyébként, ha (ZNAC == '*') x = y * z;
más, ha (ZNAC == '/') x = y / z;
E példa szemléltetése alapján arra a következtetésre juthatunk, hogy a beágyazott utasításokkal rendelkező konstrukciók meglehetősen nehézkesek és nem mindig elég megbízhatóak. Egy másik módja annak, hogy megszervezzük a választást a különböző lehetőségek közül, hogy egy speciális kapcsoló nyilatkozatot használjunk, amelyet a következő leckében megtudhatunk.
(Megjegyzés az Alpha-tól:
Az űrlap építése
nagyon jellemző a különféle variációk rendezésére (lehet mondani, az egyik C ++ nyelvű kifejezés), az olvasás kényelmét formázzák behúzás nélkül, és valójában nem tekinthető beágyazottnak (bár hivatalosan is). Ezenkívül nem világos, hogy honnan született az a következtetés, hogy mennyire volt masszív és megbízhatatlan. Például alkalmaztam azt a rekurzióban lévő cikkemben a szekcióban annak meghatározására, hogy a karakterlánc egy mintát illesz.)
- Adjon meg két számot. Minél kisebb a számok összege, annál nagyobb a különbség. Adja ki az eredményeket a képernyőn.
- Adjon meg egy számot. A képernyőn megjelenik egy üzenet arról, hogy ez a szám pozitív, negatív vagy nulla.
- Feladat: a meteorológus naponta 4 szélsebességmérést távolít el. Be kell lépnie