Vytvoření proměnné

Programy si potřebují pamatovat hodnoty: skóre ve hře, cenu nákupu, počet žáků ve třídě. K tomu slouží proměnné. Proměnná je jako krabička se štítkem: má název a uchovává hodnotu, kterou program může později použít. Ta krabička je malý kousek paměti počítače.

V jazyce C má každá proměnná také datový typ. Ten určuje, jaké hodnoty se do krabičky vejdou: celá čísla, desetinná čísla nebo jednotlivé znaky. Typ zvolíte při vytvoření proměnné a později už ho změnit nejde.

Proměnnou vytvoříte takto:

int vek;
  • int je datový typ. Znamená celé číslo (z anglického integer).
  • vek je název proměnné. Vymýšlíte si ho sami.
  • Středník ; ukončuje příkaz, stejně jako u každého printf.

Vytvoření proměnné se odborně říká deklarace. Krabička teď existuje, ale zatím v ní není žádná hodnota. Tu do ní uložíte pomocí =:

vek = 15;

Pozor: rovnítko = v programování neznamená „rovná se“ jako v matematice. Čtěte ho jako „ulož“: do proměnné vek se uloží 15.

Když chcete hodnotu použít, napište název proměnné. V minulé lekci jste vypisovali čísla pomocí %d: printf("%d\n", 5 + 3);. S proměnnou to funguje stejně: napište její název za čárku a printf dosadí její hodnotu tam, kde je %d.

#include <stdio.h>

int main(void) {
    int vek;
    vek = 15;
    printf("Je mi %d let.\n", vek);
    return 0;
}

Vypíše:

Je mi 15 let.

Název patří mimo uvozovky. Všechno v uvozovkách se vypíše přesně tak, jak je napsané, takže printf("vek\n"); vypíše slovo vek, ne číslo 15.

Pravidla pro názvy proměnných:

  • Název může obsahovat písmena, číslice a podtržítko _, ale nesmí začínat číslicí: hrac2 je v pořádku, 2hrac ne.
  • Název nesmí obsahovat mezery. Pokud má více slov, spojte je podtržítkem: pocet_jablek, cena_celkem. Tomuto stylu se říká snake_case (z anglického snake, had), protože se slova spojená podtržítky táhnou po řádku jako had. V tomto kurzu jím píšeme všechny názvy.
  • Názvy pište bez diakritiky: delka, ne délka. Překladač na tomto webu by diakritiku sice přijal, ale programátoři ji v názvech nepoužívají. Snadno byste pak jednou napsali delka a jindy délka, a to jsou pro C dva různé názvy.
  • Záleží na velikosti písmen: vek a Vek jsou dva různé názvy. Názvy proměnných se obvykle píšou malými písmeny.
  • Název nesmí být klíčové slovo, tedy slovo, které už v jazyce C něco znamená, například int nebo return.

Vybírejte názvy, které říkají, co proměnná obsahuje: pocet_jablek řekne víc než p nebo x.

Proměnnou můžete použít až poté, co ji deklarujete, a jen pod přesně stejným názvem. Když se v názvu spletete, program se nepřeloží:

#include <stdio.h>

int main(void) {
    int vek;
    vek = 15;
    printf("%d\n", Vek);
    return 0;
}

Překladač ohlásí:

main.c:6:20: error: use of undeclared identifier 'Vek'; did you mean 'vek'?

Řádek s printf používá název Vek, ale žádná proměnná se tak nejmenuje. Undeclared identifier znamená nedeklarovaný název, tedy název, který nikdo nevytvořil. Překladač vám dokonce radí, že jste nejspíš mysleli vek.

Pokyny

Pod printf deklarujte proměnnou typu int s názvem pocet_jablek.

Na dalším řádku do ní uložte hodnotu 7.

Pod to proměnnou vypište pomocí %d tak, aby program vypsal:

Je mi 15 let.
Mám 7 jablek.

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

1/11