Cikk óraszám 8
8. lecke C / C ++. Növelő és csökkentő.
Már tárgyalt az értékadó operátor formájában X = 10, vagy x = y * 2, stb Most szeretnék hozzá egy kis megbízás műveletekhez.
Amikor elkészítettük a változó értéke számtani műveletet, majd írja az eredményt ugyanazt a változót, akkor a következőket írta:
x = x + 10
A C nyelv lehetővé teszi ugyanazt a műveletet, hogy írjon egy másik módja: x + = 10. Mi változik attól az írás? Először is, akkor nem kell másodszor írja be a változó nevét. Ebben az esetben mi van, és ez egy nagy dolog nem történt meg, hanem azért, mert a nevek is sokkal, vagyis hosszabb. Természetesen akkor másolja le, de akkor is több időt vesz igénybe, mint a második lehetőség az írás ezt a műveletet. Ezen túlmenően, a fordító második írásmód kezeli egy kicsit gyorsabban. (Tehát azt mondják az irodalomban, bár egyikük sem Sasha, sem én nem próbálja ellenőrizni, hogy a gyakorlatban). Az ilyen műveletek nevezzük Rövidített vagy többszörös értékadást.
Egyéb aritmetikai operátorok, mi is használhatjuk a rövidített helyesírást. Így jutunk:
X helyett = 2 x = 2
x = x * 2 x * = 2
ahelyett, X = H / 2 óra / 2 =
x = 2 x% x% = 2.
Ha emlékszel, azt mondtuk, hogy az ezekben a műveletekben 2 operandus: az egyik a bal oldalon - az egyetlen, amely hozzá van rendelve egy értéket, és a második - a jobb oldalon, amelynek értéke van rendelve a bal oldali operandusa. De kiderül, hogy nem ez az egyetlen fajta működés változás és hozzárendelés) C. Vannak megbízás műveletek egyetlen szolgáltatóval. Ezeket a műveleteket az úgynevezett egyváltozós, pontosan azért, mert az egyik operandust. A latin Uno. ami azt jelenti, „egy”.
Ez a művelet a növelő és csökkentő (vagy növelő és csökkentő). Az üzemeltetők ezeket a műveleteket jelennek rendre a következők: ++ és -. Mit csinálnak? Lépésben növekedés operandus értékét megnöveljük 1, és lépésben redukció - csökkentjük 1.
Tegyük fel, van egy x változó. Azt akarjuk, hogy alkalmazni kell azt a növekmény működését. Talán, mivel a múlt ismerete és ma megkapta az elején a leckében írna:
X = X + 1, vagy X = + 1.
De ha biztos benne, hogy a változó változik felfelé vagy lefelé csak 1, akkor jobb lenne, hogy használja a növekményt vagy csökkenést, ill. És ez így fog kinézni:
x ++ vagy H-
- a régi érték a változó jövőbeli összehasonlításra elmentjük feltételek, ahol ez a változó teljesül;
- és csak azután, hogy megváltoztatja az érték azonnal 1.
Ha ezek a kijelentések előtt írt változó, mint ez:
++X vagy H,
ez az előtag formában. A sorozat akciók a következő:
- Első változó változik 1;
- és csak azután, hogy használják a kifejezést.
A példaként világosabb lesz. Vedd úgy, hogy:
int t = 1, z;
Z = (T ++) * 5;
Az elején a szorzás t * 5, majd növelje t. Az eredmény az lesz z = 5, t = 2.
int s = 2, F;
F = (++ S) / 3;
Az elején az s értéke növekszik, majd felhasználjuk a szétválás működését. Az eredmény s = 3, F = 1.
Figyeljen!- Amikor a növekvő vagy csökkenő hajtjuk végre teljesen elkülönítették a többi kifejezést az üzemeltető, az előtag és a postfix vezet ugyanarra az eredményre, hogy van, amikor az ilyen használat nem volt különbség, ha írunk az üzemeltető.
- Nem használható lépésben eggyel növeli vagy csökkenti komplex operandus képviselő kifejezést. Ez csak egy egyszerű változó. Írja ++ (y-1) hiba lenne.
Megbízásokat.
1. megvizsgálják ezt tovább, azt javaslom, hogy egy kis programot. Ehhez már csak azon gazdasági szereplők, amelyek már korábban tárgyalt.
- Állapítsa egy változó típusú egész szám
- rendeljen hozzá egy értéket 5
- Vigyétek a képernyőn
- Végezze változó működési postfix növekmény, és megjeleníti az eredményt a képernyőn (írd egy sorban)
- A kijelző a változó értéke újra.
- Ismét ezt az értéket egy változó 5
- Vigyétek a képernyőn
- Végezze változó működtetésével a prefix növekmény, és megjeleníti az eredményt a képernyőn (írd egy sorban)
- A kijelző a változó értéke újra.
- Következtetéseket levonni a program eredményeit?)
2. Határozza meg az egyes változók a műtét után, ha az elején a működés, az összes változó értéke egyenlő, mint 5:
- p * = x ++
- q / = ++ x
- W = (- x) + (w--)
- k + = ((- x) -) + 10