Programování v jazyce C: Kompletní Průvodce pro Studenty
Klepni pro otočení · Swipni pro navigaci
33 kartiček
Otázka: Co dělá funkce getchar(void) a jakou vrací hodnotu při konci souboru?
Odpověď: Čte jeden znak ze stdin; při konci souboru vrací EOF. Ekvivalent getc(stdin).
Otázka: Jaký je prototyp a chování funkce putchar?
Odpověď: int putchar(char c); zapíše jeden znak do stdout; při chybě vrací EOF, jinak vrací c. Ekvivalent putc(c, stdout).
Otázka: Uveď příklad jednoduchého filtru, který převádí vstup na malá písmena pomocí getchar/putchar.
Odpověď: while((c=getchar())!=EOF) putchar(tolower(c)); (s vhodným #include <stdio.h> a #include <ctype.h>)
Otázka: Jak se liší fgets od deprecated gets?
Odpověď: char *fgets(char *s,int size,FILE *stream) čte řádek včetně '\n' a kontroluje velikost bufferu; gets(char *s) není v ISO C11 a nekontroluje délku vstu
Otázka: Co dělá puts a čím se liší od fputs?
Odpověď: int puts(const char *s); zapíše řetězec do stdout a přejde na nový řádek. Na rozdíl od fputs automaticky přidá nový řádek. Vrací EOF při chybě, jinak
Otázka: Jaký je prototyp funkce printf a k čemu slouží formátovací řetězec fmt?
Odpověď: int printf(const char *fmt, ...); fmt obsahuje formát tisku s prefixem % pro specifikátory typu (d, o, x, u, c, s, e, f, g apod.).
Otázka: Jaké základní formátovací specifikátory se používají v printf pro celá čísla a řetězce?
Odpověď: d — desítkové celé číslo; o — oktalové; x — šestnáctkové; u — bez znaménka; c — znak; s — řetězec.
Otázka: Co znamená formátové pole %5.2lf ve výstupu?
Odpověď: Minimální šířka 5 znaků, 2 desetinná místa, long float (double s l).
Otázka: Jak zajistíte v printf zarovnání doleva nebo minimální délku řetězce?
Odpověď: %-10s zarovná doleva; %10s nastaví minimální délku 10 (vpravo doplní mezerami).
Otázka: Co dělá specifikátor %#g v printf?
Odpověď: Vynutí vždy desetinnou tečku a ponechá koncové nuly (zachovává desetinnou formu pokud je to možné).