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

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.
Vytvořte si vlastní webové stránky. Snadno, rychle a levně přes Saywebpage.com
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 716×

  • 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 Češi tlačí obce do otevřené komunikace – Mobilní Rozhlas si loni pořídilo dalších 171 měst a obcí

Češi tlačí obce do otevřené komunikace – Mobilní Rozhlas si loni pořídilo dalších 171 měst a obcí

Obyvatelé Česka se mnohem více zapojují do veřejného dění. Umožňují jim to přímo samosprávy, které stále častěji využívají nástroje takzvané chytré komunikace a participace. Dokládají to data za rok 2019 ekosystému Mobilní Rozhlas, lídra v oblasti chytré obecní komunikace. Zapojilo se do něj 171 nových měst a obcí, zaregistrovalo celkem 100 tisíc občanů a místní samosprávy jeho prostřednictvím rozeslaly třikrát více adresných zpráv než v roce 2018

Reklama
Reklama
Obrázek ke článku Aktuální průzkum Energie ČS na téma technologií:

Aktuální průzkum Energie ČS na téma technologií:

21 % domácností uvažuje o pořízení klimatizace, 
16 % chce investovat do chytré domácnosti  

Průzkum společnosti Energie ČS, který pro ni realizovala agentura Foresite Marketing, se zaměřil mimo jiné na to, jaké technologie lidé používají v domácnostech a o jakých uvažují, že by si pořídili. 

Reklama autora

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