Text a čísla

printf umí vypisovat i čísla, a dokonce i výsledky výpočtů. Písmeno f na konci jeho názvu znamená formatted, tedy formátovaný. Text v uvozovkách je formátovací řetězec a mohou v něm být formátovací značky, které začínají znakem %. Značka %d znamená „sem patří celé číslo“. Samotné číslo napíšete za text a oddělíte ho čárkou:

printf("%d\n", 42);

Vypíše:

42

Písmeno d je z anglického decimal (desítkový): číslo se vypíše v obvyklé desítkové soustavě. Čísla se v kódu píšou bez mezer, tedy 1250, ne 1 250.

Místo čísla můžete za čárku napsat i výpočet. C ho nejdřív spočítá a pak vypíše výsledek. Text v uvozovkách ale vypíše přesně tak, jak je:

printf("%d\n", 5 + 3);
printf("5 + 3\n");

Vypíše:

8
5 + 3

Sčítá se pomocí +, odčítá pomocí - a násobí hvězdičkou * (ne písmenem x). Stejně jako v matematice má násobení přednost před sčítáním a závorky pořadí mění:

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

Vypíše:

14
20

Dělení / má v C jedno překvapení, a proto se mu budete věnovat až v příští lekci.

Formátovací řetězec může kolem %d obsahovat i text. Hodnota se vypíše na místo %d a zbytek textu zůstane, jak je:

printf("Hra má %d úrovní.\n", 12 + 8);

Vypíše:

Hra má 20 úrovní.

Mezery kolem %d jsou součástí textu, takže je musíte napsat sami: "Hra má%dúrovní.\n" by vypsalo Hra má20úrovní.

Časté chyby:

  • Zapomenutá hodnota za čárkou: u printf("Hra má %d úrovní.\n"); překladač program nespustí a ohlásí chybu more '%' conversions than data arguments (víc značek % než hodnot).
  • Výpočet zapsaný do textu: printf("Hra má 12 + 8 úrovní.\n"); vypíše Hra má 12 + 8 úrovní. Uvnitř uvozovek C nepočítá.
  • Chybějící čárka: printf("%d\n" 42); skončí chybou expected ')'.

Pokyny

Druhý printf vypisuje text 27 + 2. Změňte ho tak, aby program čísla sečetl a vypsal 29: text v uvozovkách přepište na %d\n a za koncovou uvozovku napište čárku a výpočet 27 + 2.

Teď z výsledku udělejte celou větu. Upravte druhý printf tak, aby program vypsal:

Na výlet jede 27 žáků a 2 učitelé.
Celkem jede 29 lidí.

Číslo 29 do textu nepište: ať ho program dál sám spočítá a vypíše pomocí %d. Nezapomeňte na mezery kolem něj.

Vstupenka do zoo stojí 90 Kč. Přidejte řádek s cenou vstupenek pro všechny dohromady, aby program vypsal:

Na výlet jede 27 žáků a 2 učitelé.
Celkem jede 29 lidí.
Vstupné celkem: 2610 Kč

Cenu nechte spočítat jako (27 + 2) * 90. Závorky zajistí, že se nejdřív sečtou lidé a teprve potom se počet vynásobí cenou vstupenky.

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

4/7