Sleduj návody s komentářem. Upload obrázků Upload souborů War3Zone.eu Webmail Podpoř náš web a vyber si výhodu




Sponzor VPS:






      

Serialbook - upozornění na nové epizody oblíbených seriálů

Tvorba webu Jazyk C++ Návody

Moderátor: Web poradce

Základy C++ (Operátoři) Kapitola 4

Příspěvekod  Nitram » pát 21. kvě 2010 13:48:51

Poté, co víme o existenci proměnných a konstant, můžeme začít pracovat s nimi. Za tímto účelem, C + + integruje operátory. Na rozdíl od jiných jazyků, jejichž provozovatelé jsou především klíčová slova, mají provozovatelé v C + + většinou tvořenými značkami, které nejsou součástí abecedy, ale jsou k dispozici ve všech klávesnic. Tím se C + + kód kratší a mezinárodní, protože to se spoléhá méně na anglická slova, ale vyžaduje trochu úsilí učení na začátku.

Nemusíte zapamatovat veškerý obsah této stránky. Většina informací se budou poskytovat pouze sloužit jako pozdější rozhodnutí ve věci budete potřebovat.

Přiřazení (=)

Přiřazení Provozovatel přiřadí hodnotu proměnné.

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Toto prohlášení přiřadí celé číslo 5 do proměnné. Část na levé straně přiřazení operátora (=) je známý jako lhodnota (vlevo hodnota) a pravý jako rvalue (vpravo hodnota). Lhodnota musí být variabilní vzhledem k tomu, rvalue může být buď konstantní, variabilní, výsledek operace, nebo jakoukoli kombinaci těchto.
Nejdůležitějším pravidlem při přiřazování je pravý-k-odešel pravidlo: zadání operace probíhá vždy zprava doleva, a nikdy jinak:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Toto prohlášení přiřadí k proměnné (lhodnota) hodnoty obsažené v proměnné b (rvalue). Hodnota, která byla uložena až do této chvíle v nepovažuje vůbec v této operaci, a ve skutečnosti, že hodnota je ztracena.

Zvažte také, že jsme jen přiřadit hodnotu b, aby v okamžiku zadání operace. Proto pozdější změna b neovlivní novou hodnotu.

Například, nechal nás se podívat na následující kód - jsem zařadila vývoj obsah uložený v proměnné jako komentáře:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Tento kód nám dá za následek, že hodnota obsažená v je 4 a jeden obsažené v b je 7. Všimněte si, jak nebyla ovlivněna poslední modifikace b, i když jsme prohlásili, a = b dříve (to je vzhledem k pravý-k-odešel pravidlo).

Vlastnost, že C + + má oproti jiným programovacích jazyků je to, že zadání operace mohou být použity jako rvalue (nebo část rvalue) pro jiný úkol operaci. Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


odpovídá:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


To znamená: Nejprve přiřaďte 5 až proměnné b a pak přiřadit k hodnotě 2 plus výsledek předchozího přidělení b (tj. 5), takže s konečnou hodnotu 7.

Následující výraz je také platné v C + +:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Přiřadí 5 do všech tří proměnných: a, b a c.

ritmetické operátory (+, -, *, /,%)

Pět aritmetické operace podporuje C + + jazyk, jsou:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!




Operace sčítání, odčítání, násobení a dělení doslova odpovídají jejich matematické operátory. Jen ten, který vás nemusí být tak použita pro zobrazení je modulo, jehož provozovatelem je znakem procento (%). Modulo je operace, která dává zbytek dělení dvou hodnot. Například, jestliže my píšeme:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


proměnná bude obsahovat hodnotu 2, protože 2 je zbytek po dělení 11 mezi 3.

Složené přiřazení (+ =, -=, *=, / =,% =,>> =, <<=, & =, ^ =, | =)

Když chceme změnit hodnotu proměnné provádění operací na hodnoty v současné době uloženy v této proměnné můžeme použít směs přiřazení operátorů:

Obrázek


a je stejná pro všechny ostatní subjekty. Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Zvýšení a snížení (+ +, -)

Zkrácení ještě některé výrazy, zvýšení operátor (+ +) a pokles operátor (-) zvýšit nebo snížit o jednu hodnotu uloženou v proměnné. Jsou rovnocenné + = 1 a -= 1, resp. Takto:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


V časných C kompilátory, tři předchozí vyjádření pravděpodobně vyrábí různé spustitelný kód v závislosti na který byl použit jeden. V současné době je tento druh optimalizace kódu obecně provádí automaticky pomocí kompilátoru, tedy tři výrazy by měly přesně do stejného spustitelný kód.

Charakteristikou tohoto operátora je, že může být použit i jako prefix a jako příponu. To znamená, že může být napsán buď před proměnné identifikátor (+ +), nebo po ní (+ +). I když se v jednoduché výrazy jako + + nebo + + jak mají přesně stejný význam, v jiné výrazy, ve kterých v důsledku zvýšení nebo snížení provozu je hodnocena jako hodnotu ve vnějším výrazu, které mohou mít významný rozdíl v jejich významu: V roce v případě, že zvýšení operátor se používá jako prefix (+ +) je hodnota větší, než výsledek výrazu je ohodnocen, a tedy zvýšené hodnoty se považuje ve vnějším projevu, v případě, že je používán jako přípona ( + +) hodnoty uložené v zvyšuje poté, co byl hodnocen, a proto hodnota uložená před zvýšením provozu je hodnocena ve vnějším výrazu. Všimněte si rozdílu:

Obrázek


V příkladu 1, B je větší než její hodnota se zkopíruje do. Zatímco v příkladu 2, hodnota B se zkopíruje do B a pak se zvyšuje.

Relační a rovnosti subjektů (==,! =,>, <,> =, <=)

Aby bylo možné vyhodnotit srovnání mezi dvěma výrazy můžeme použít relační operátory a rovnosti. Výsledkem relační operace je logická hodnota, která může být pravdivé nebo nepravdivé, podle jeho Logická výsledku.

Můžeme si k porovnání dvou výrazů, například vědět, zda jsou rovné, nebo pokud je větší než to druhé. Zde je seznam relační a rovnosti subjektů, které lze použít v C + +:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Zde jsou některé příklady:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Samozřejmě, místo toho pouze pomocí číselných konstant, můžeme použít libovolný platný výraz, včetně proměnných. Předpokládejme, že a = 2, b = 3 a C = 6,

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Buďte opatrní! Provozovatel = (jedno rovnítko) není to samé jako operátor == (dvě rovnítka), první z nich je přiřazení subjektu (přiřazuje hodnotu na jeho právo na proměnnou na svém vlevo) a druhý (= =) je rovnost operátor, který porovnává, zda jsou oba výrazy v obou stranách jsou stejné pro každého jiný. Tak, v posledním výrazu ((b = 2) ==), jsme se poprvé přiřazena hodnota 2 až b, a pak jsme porovnali to, že také ukládá hodnotu 2, takže výsledek operace je pravda.

Logické operátory (!, & &, | |)


Provozovatel! Je C + + operátor provést Booleovské operace NOT, že má jen jeden operand, který se nachází na své právo, a jediná věc, která to má inverzní hodnotu to, produkovat falešný jestliže jeho operand je pravdivý a pravdivý, jestliže jeho operand je falešný. V podstatě vrací opačnou logickou hodnotu hodnocení jeho operand. Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Logické operátory & & a | | jsou používány při hodnocení dvou výrazů získat jediné relační výsledek. Provozovatel & & odpovídá booleovské logické operace AND. Tato operace výsledků platí v případě, jak jeho dva operandy jsou pravdivé, a nepravdivé jinak. Následující panel ukazuje výsledek operátor & & vyhodnocení výrazu a & & b:

Obrázek


Provozovatel | | odpovídá s booleovské logické operace OR. Tato operace výsledky platí, pokud některý z jejích dvou operandy jsou pravdivé, což je nepravdivé, pouze pokud oba operandy jsou nepravdivé sami. Zde jsou možné výsledky a | | b:

Obrázek


Například:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Podmíněný operátor (?)

Podmíněný operátor vyhodnotí výraz vrací hodnotu, pokud tento výraz je pravdivý, a jiný, pokud je výraz vyhodnocen jako false. Jeho formát je:


stavu? result1: result2


Pokud podmínka platí výraz vrátí result1, není-li to vrátí result2.

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


V tomto příkladu byly 2 a B byla 7, takže výraz je hodnocen (a> b) to není pravda, tak první hodnota byla stanovena po otazník bylo upuštěno ve prospěch druhého hodnoty (jeden po tlustého střeva), které byla b, s hodnotou 7.

Comma operátora (,)

Čárka operátor (,) se používá k oddělení dvou nebo více výrazů, které jsou uvedeny, pokud vyjádření se očekává pouze jeden. Když soubor výrazů musí být hodnoceny hodnotu, je považován pouze vpravo výraz.

Například následující kód:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


By nejprve přiřadit hodnotu 3 až b, a pak přiřadit B +2 proměnné. Takže na konci, proměnná bude obsahovat hodnotu 5, zatímco proměnná b by obsahovat hodnotu 3.

Bitové operátory (&, |, ^, ~, <<,>>)

Bitové operátory změnit proměnné s ohledem bit vzory, které představují hodnoty, které obchodě.

Obrázek


Explicitní přetypování operátora

Přetypování operátorů vám umožní konvertovat datum daného druhu na jiný. Existuje několik způsobů, jak toho dosáhnout v C + +. Nejjednodušší jeden, který byl zdědil od jazyka C, je předcházet výraz má být převeden do nového typu uzavřený mezi závorky (()):

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Předchozí kód převádí desetinné číslo 3,14 na celé číslo (3), dojde ke ztrátě zbytku. Zde obsadit provozovatel (int). Dalším způsobem, jak udělat to samé v C + + používá funkční notaci: předchozí výraz musí být převeden na druhu a obklopující výraz v závorkách:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Oba způsoby přetypování, jsou platné v C + +.

sizeof ()

Tento operátor přijímá jeden parametr, který může být buď typu nebo variabilní sám a vrátí velikost v bytech tohoto typu nebo objektu:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


To bude přiřadit hodnotu 1, aby, protože char je one-byte dlouhý typ.
Hodnota vrácená sizeof je konstantní, takže je stanovena vždy před spuštění programu.

Ostatní subjekty

Později v těchto cvičeních, uvidíme několik dalších operátorů, jako ty odkazující na ukazateli nebo specifika pro objektově-orientovaného programování.

Přednost operátorů

Při psaní složitých výrazů s více operandy, můžeme mít pochybnosti o tom, které operand je hodnocena první a které později. Například v tento výraz:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Můžeme pochybovat, pokud je to opravdu znamená:

a = 5 + (7 % 2) // with a result of 6, or a = (5 + 7) % 2 // with a result of 0

Správná odpověď je první ze dvou výrazů, s výsledkem 6. Tam je stanovena, aby se prioritou každého provozovatele, a to nejen ty aritmetické (ty, jejichž preference pocházejí z matematiky), ale pro všechny subjekty, které se mohou objevit v C + +. Od nejvyšší po nejnižší prioritu, priorita pořadí je následující:

Obrázek


Seskupení definuje přednost pořadí, ve kterém jsou operátory vyhodnoceny v případě, že existuje několik operátorů na stejné úrovni ve výrazu.

Všechny tyto přednosti limity pro provozovatele lze manipulovat nebo staly čitelné tím, že odstraní případné nejasnosti pomocí závorky označení (a), jako v tomto příkladu:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


může být psána jak:

Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


Kód: Vybrat vše
Pokud chceš vidět odkazy, tak se přihlaš (popř. zaregistruj)!


v závislosti na operaci, kterou chceme provést.

Takže pokud chcete psát komplikované výrazy a nejste zcela jisti přednost úrovní, vždy obsahovat závorky. Stane se také kód čitelnější.

__________________________________________
Konec... dalsi kapitolu sem do dam pozdeji preji mnoho uspechu... :-)

Skype: nitram09
Pracuji jako vývojář v oblasti tvorba webu a mobilních aplikací. Rád vám poradím, ale zadarmo netvořím.
  Nitram
Podpora
Podpora
 
Příspěvky: 352
Registrován: pon 15. úno 2010 14:58:26
Bydliště: Kousek od Znojma
Podpora: 109 Kč

Zpět na Jazyk C++ Návody

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace