C++ - 2. lekce - dodatek
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

C++ - 2. lekce - dodatekC++ - 2. lekce - dodatek

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

C++ - 2. lekce - dodatek

Google       Google       13. 4. 2005       49 203×

  • priority operátorů
  • nejčastější chyby

Reklama
Reklama

Priorita operátorů

Můžete C++ věřit při provádění komplikovaných aritmetických výpočtů? Ano, ale musíte znát pravidla, která C++ používá. Použijete-li více operandů, můžete se začít ptát, který se aplikuje první.

Příklad


int celkem = 3 
+ 4 * 5;  // 35 nebo 23?

Pokud použijete více operandů, C++ uplatní pravidla o prioritě. Aritmetické operátory dodržují obvyklé algebraické pořadí - násobení, dělení a zjištění zbytku po celočíselném dělení se provádějí před sčítáním a odčítáním. Proto 3 + 4 * 5 znamená 3 + (4 * 5). Výsledek: 23.

Samozřejmě na posílení vašich priorit můžete libovolně používat závorky.

Ale...


float oper = 120 / 4 * 5;  // 150 nebo 6?

Operátory * a / mají stejnou prioritu, který bude první?

V takovém případě C++ postupuje dle takovýchto priorit:

Jinak posuzuje, zda má operand asociaci zleva doprava, čí zprava doleva.

Ale vysvětlení je poněkud těžkopádné, proto jsou jednoduší závorky - jste si jistí, že se stane to, co chcete.


Ve sloupci PRIORITA vidíte několik skupin, všechny operátory v dané skupině mají stejnou prioritu a stejnou asociativitu, která je buď zleva doprava (v tabulce označena L-P) nebo zprava doleva (P-L).

To znamená, že například 120 / 6 * 5 má asociativitu dle tabulky L-P - zleva doprava, bude to tedy stejné, jako (120/6) * 5, což je 100.

Nejčastější chyby v úkolech:

  1. Nevím, proč includujete zbytečné či neexistující soubory (#include <vcl.h> a #include <stdlib.h>
  2. Místo int main() píšete jen int main - tam musí být závorky!
  3. Nepoužíváte na konci cin.get(); (viz 1. lekce)
  4. Nepoužívejte syntaxe z C, učíte se přeci C++, ne? Žádné printf apod..
  5. Nemůžete napsat jen tak endl; - musíte to poslat do výstupu, tedy: cout << endl; nebo cout << " ";

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Lukáš ChurýLukáš je šéfredaktorem Programujte, vyvíjí webové aplikace, fascinuje ho umělá inteligence a je lektorem na FI MUNI, kde učí navrhovat studenty GUI. Poslední dobou se snaží posunout Laser Game o stupeň výše a vyvíjí pro něj nové herní aplikace a elektroniku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

 71 % vítá nové technologie ke sledování zdravotního stavu postarších příbuzných, které jim umožňují žít déle doma

 Pouhých 7 % by svěřilo správu svých financí umělé inteligenci, i kdyby to znamenalo rychleji naspořit prostředky na pořízení bydlení

 64 % respondentů nemá dojem, že firmy a stát dostatečně informují o tom, jaké technologie a jak užívají

Reklama
Reklama
Obrázek ke článku Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mít pokrytí co nejširšího území Česka a nabízet svým zákazníkům co nejlepší signál je společným cílem všech mobilních operátorů. Při plánování sítí proto využívají aktualizovaných digitálních modelů terénu, jež jim umožňují přesně si vypočítat pokrytí a šíření signálu. V hustě zastavěných oblastech a s ohledem na stavební boom jim pak pomáhají také 3D modely budov, které by jim při nesprávném umístění vysílače mohly signál blokovat.

Reklama autora

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý