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
20Na 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čí chyboucalled object type 'int' is not a function or function pointer, správně je2 * (a + b). - Mezery kolem operátorů výsledek nemění. Píšeme je proto, že se s nimi kód lépe čte.
- Typ
intmá 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áškouRuntimeError: unreachable. Ta toho moc neprozradí, tak si ji zapamatujte: zatím znamená, že se nějaké číslo do typuintnevešlo.
Jak psát:
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
6/11