Počítání

V minulé lekci jste počítali s čísly. S proměnnými se počítá úplně stejně. Základní aritmetické operátory (značky pro početní operace) jsou:

  • + sčítání
  • - odčítání
  • * násobení (hvězdička, protože na klávesnici není ×)
  • / dělení (lomítko místo ÷), které vás v dalším cvičení něčím překvapí

Výsledek můžete uložit do proměnné, nebo ho rovnou vypsat:

int cena_rohliku = 4;
int pocet_rohliku = 6;
int cena = cena_rohliku * pocet_rohliku;
printf("Rohlíky: %d Kč\n", cena);
printf("Vráceno ze stovky: %d Kč\n", 100 - cena);

Vypíše:

Rohlíky: 24 Kč
Vráceno ze stovky: 76 Kč

Když program dojde k řádku s proměnnou cena, spočítá 4 * 6 a uloží výsledek, tedy 24. V proměnné je uložené číslo, ne výpočet: kdybyste později změnili pocet_rohliku, v proměnné cena by pořád bylo 24.

Stejně jako v matematice má násobení a dělení přednost před sčítáním a odčítáním. Operace se stejnou předností se počítají zleva doprava. Pokud chcete jiné pořadí, použijte závorky:

printf("%d\n", 2 + 3 * 4);
printf("%d\n", (2 + 3) * 4);

Vypíše:

14
20

Na prvním řádku se nejdřív spočítá 3 * 4, tedy 12, a teprve pak 2 + 12. Na druhém řádku se nejdřív sečte to, co je v závorkách.

Typická chyba je na závorky zapomenout. Průměr dvou známek takhle nespočítáte:

int prvni = 2;
int druha = 4;
printf("%d\n", prvni + druha / 2);

Program vypíše 4, protože se dvěma vydělí jen druhá známka: 2 + 4 / 2 je 2 + 2. Správně je (prvni + druha) / 2, což dá 3.

Na co si dát pozor dál:

  • Násobení musíte vždy napsat. 2(a + b) skončí chybou called object type 'int' is not a function or function pointer, správně je 2 * (a + b).
  • Mezery kolem operátorů výsledek nemění. Píšeme je proto, že se s nimi kód lépe čte.
  • Typ int má své meze: největší číslo, které se do něj vejde, je 2147483647, tedy zhruba dvě miliardy (a nejmenší zhruba minus dvě miliardy). Když se výsledek nevejde, program se zastaví s hláškou RuntimeError: unreachable. Ta toho moc neprozradí, tak si ji zapamatujte: zatím znamená, že se nějaké číslo do typu int nevešlo.

Pokyny

Jdete do kina ve třech a každý si koupí lístek i popcorn. Pod to vytvořte proměnnou celkem typu int a uložte do ní, kolik zaplatíte dohromady. Spočítejte to z proměnných: cena lístku a popcornu, krát počet lidí.

Vypište celkem takto: Celkem: 810 Kč. Pokud program vypíše 450, podívejte se znovu na pořadí operací.

Máte slevový kupón na 100 Kč. Na další řádek vypište cenu po slevě, spočítanou z proměnné celkem:

Po slevě: 710 Kč

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

6/11