Pro správný chod programu je vhodné (většinou nutné) komunikovat s uživatelem. K tomuto účelu lze jako nejjednodušší možnost využít konzoli (někdy nazývání příkazový řádek).
<aside> 💡 Existují i jiné možnosti komunikace s uživatelem jako je například GUI – grafické rozhraní.
</aside>
<aside> ☝ Před konzolovým vstupem a výstupem je dobré si zopakovat:
</aside>
printf()
#include <stdio.h>
int main() {
// výpis textu
printf("Hello World!");
return 0;
}
Při výpisu je používána funkce printf()
, kterou lze využít v libovolné funkci nebo proceduře. Základní funkce, ve které lze tuto funkci použít je už samotná funkce main()
. Tato funkce se spouští jako první funkce při zapnutí programu, tedy můžeme v této funkci vypisovat hodnoty.
printf()
// úplně nahoře v našem programu (nad funkcí main, co nejblíže řádku 1)
#include <stdio.h>
// uvnitř funkce - třeba funkce main() nebo vlaší vlastní funkce
// někde mezi {.. printf(...); ...} dané funkce. Viz ukázka výše s
// printf("Hello World!");
printf(string, ...)
Jelikož funkce printf()
je v našem programu nedefinovaná (my ji nevytvořili), musíme vždy nahoru do pomocí #include <stdio.h>
vložit knihovnu <stdio.h>
(konkrétně její hlavičkový soubor .h), která obsahuje právě tuto funkci definovanou. Jinak by náš program nemohl fungovat a funkce printf()
by byla nenalezena, což by mělo za následek chybu programu nebo nemožnost program zkompilovat.
printf()
Pokud chceme vypsat text uvádíme ho do uvozovek "Váš libovolný text"
. Ukázky výpisu lze vložit do funkce main()
, ve které byla testována funkčnost (viz Základní ukázka výpisu pomocí printf()
).
<aside> 💡 Na většině OS (Windows, Linux) není možné používat diakritiku ve výpisu. MacOS s tímto problém nemá.
Důvod je, že text je uložen jako skupina znaků char
, kde žádná diakritika u znaků neexistuje (viz. Proměnné v jazyce C).
</aside>
<aside> 💡 Výpis se libovolně kombinuje jak se zalomením řádku, tak s proměnnými. Vše záleží jen na vaší fantazii.
</aside>
scanf()
z klávesnice<aside> ☝ Tabulku pro vyhrazené znaky (Format Specifiers) používané pro ukázky níže lze nalézt v [Format Specifiers pro datové typy při výpisu nebo čtení](https://jakubforman.notion.site/Format-Specifiers-pro-datov-typy-p-i-v-pisu-nebo-ten-361b898ed07c42df9d08330d87f97865)
</aside>
Ukázky výpisu lze vložit do funkce main()
, ve které byla testována funkčnost (viz Základní ukázka výpisu pomocí printf()
).
<aside> 💡 Získání vstupu od uživatele je druhá základní schopnost programu, bez které se nelze obejít.
</aside>
scanf()
// úplně nahoře v našem programu (nad funkcí main, co nejblíže řádku 1)
#include <stdio.h>
// uvnitř funkce - třeba funkce main() nebo vlaší vlastní funkce
// někde mezi {.. scanf(...); ...} dané funkce. Viz ukázka výše s
// printf("Hello World!");
data_type variable; // definice proměnné
scanf(format, &variable) // načtení do proměnné skrze &
Jelikož funkce scanf()
je v našem programu nedefinovaná (my ji nevytvořili), musíme vždy nahoru do pomocí #include <stdio.h>
vložit knihovnu <stdio.h>
(konkrétně její hlavičkový soubor .h), která obsahuje právě tuto funkci definovanou stejně jako v případě printf()
. Jinak by náš program nemohl fungovat a funkce scanf()
by byla nenalezena, což by mělo za následek chybu programu nebo nemožnost program zkompilovat.