Funkce výstupu (2) Funkce printf: deklarována v: stdio.h prototyp: int printf(const char *format,…); funkce: vypíše na standardní výstup posloupnost dat specifikova-nou parametrem format za parametrem format očekává alespoň tolik dalších argumentů, kolik je specifikováno parametrem format vrácená hodnota: při úspěšném výpisu vrací počet vypsaných znaků při neúspěšném výpisu vrací záporné číslo 02/06/2018
Funkce výstupu (3) Formátovací značka: parametr format: obecný tvar: řetězec obsahující text, který se má vypsat může obsahovat formátovací značky, za něž jsou do-sazeny a podle nichž jsou odpovídajícím způsobem formátovány hodnoty uvedené v následujících argu-mentech Formátovací značka: obecný tvar: %[příznaky][šířka][.přesnost][délka]specifikátor šířka: určuje minimální šířku pole pro výpis argumentu argument s méně znaky bude zleva, popř. zprava doplněn výplňovými znaky (obvykle mezera) 02/06/2018
Funkce výstupu (4) přesnost: u reálných čísel určuje počet číslic, které budou vypsány za desetinnou čárkou (implicitně 6) příklady specifikátorů pro výpis číselných hodnot: d, i celé číslo se znaménkem v desítkové soustavě o celé číslo bez znaménka v osmičkové soustavě x, X celé číslo bez znaménka v šestnáctkové soustavě u celé číslo bez znaménka v desítkové soustavě f reálné číslo v desítkové soustavě počet desetinných míst je dán částí přesnost e, E reálné číslo v desítkové soustavě v semilogarit- mickém (exponenciálním) tvaru počet desetinných míst je dán částí přesnost % vypíše znak % 02/06/2018
Úprava programu Znaky { a } psát pod sebe Příkazy mezi { a } odsadit o dvě až čtyři me-zery Středník psát bezprostředně za příkaz Záhlaví programu opatřit komentářem, který obsahuje zadání problému, jehož řešení pro-gram představuje 02/06/2018
Konstanty (1) Pevně dané hodnoty určitého typu (např. číslo): čísla v jazyce C: celá (int): 264, –1, 8765 reálná (double): 3.14159, –427.8123, 1.0, 4E–5, 1.2E3 Pojmenované konstanty: lze definovat pomocí direktivy preprocesoru obecný tvar: #define IDENTIFIKÁTOR hodnota např: #define PI 3.1415926 02/06/2018
Konstanty (2) takto definované konstanty nemají specifikovaný datový typ preprocesor provede textové nahrazení všech výsky-tů identifikátoru IDENTIFIKÁTOR hodnotou hodnota poznámka – konvence: identifikátory za direktivou #define zapisovat vždy velkými písmeny 02/06/2018
Výrazy (1) Tvořeny pomocí operátorů a operandů Příklady aritmetických operátorů: + součet – rozdíl * součin / podíl (reálný i celočíselný) % zbytek po celočíselném dělení Při vyhodnocování je respektována běžná prio-rita operátorů (podobně jako v matematice) Změnu priority operátorů je možné provést pomocí kulatých závorek – (, ) 02/06/2018
Výrazy (2) Příklady operandů: Příklady výrazů: konstanty pojmenované konstanty proměnné volání funkcí: funkce je vyhodnocena a výsledná hodnota je použita jako operand Příklady výrazů: 20+30*5–8/2 2*sin(PI/2)+6 4*(2+5)*(8.5+4.32) 02/06/2018
Proměnné (1) Proměnná: Definice proměnných: identifikátor, který může být v různých okam-žicích realizace programu spojen s různými hodnotami (téhož nebo kompatibilního) typu Definice proměnných: datový_typ1 id11, id12, …, id1n; datový_typ2 id21, id22, …, id2m; Např.: int i, j, k; double x, y; 02/06/2018
Proměnné (2) V zápisu definice proměnné je možné pro-vést i její inicializaci (nastavení její počá-teční hodnoty) Např.: int i = 0, j = 1, k; double x, y = 315.25; Jazyk C povoluje také použití tzv. konstant-ních proměnných const int i = 1000, j = 50; 02/06/2018
Proměnné (3) Hodnota konstantní proměnné je pevně dá-na její definicí a nemůže se v průběhu prog-ramu nijak měnit Konvence: identifikátory všech proměnných a funkcí zapi-sovat jako lower camel case: první písmeno vždy malé jestliže identifikátor je složen z více slov, pak každé slovo (vyjma prvního) začíná velkým písmenem Příklady: i, j, m, tlak, teplota, x1, x2, maxHodnota, nactiCislo, vypisPrvniZnak 02/06/2018
Funkce vstupu (1) Funkce scanf: deklarována v: stdio.h prototyp: int scanf(const char *format,…); funkce: načítá znaky ze standardního vstupu (klávesnice po-čítače) a převádí je podle řídícího řetězce format převedené znaky jsou po řadě ukládány do proměn-ných, jejichž adresy (ukazatele na ně) jsou zapsány jako další argumenty funkce scanf poznámka: adresu proměnné získáme zápisem: &identifikátor_proměnné (např. &x) 02/06/2018
Funkce vstupu (2) vrácená hodnota: parametr format: počet převedených a přiřazených (uložených) hodnot jestliže dojde k chybě nebo vyčerpání vstupních zna-ků dříve, než je přiřazena nějaká hodnota, pak funkce scanf vrací hodnotu EOF parametr format: může obsahovat: mezery nebo tabulátory, které jsou ignorovány obyčejné znaky (vyjma %), které by měly odpovídat násle-dujícím znakům na vstupu – používané zřídka konverzní specifikace 02/06/2018
Funkce vstupu (3) Konverzní specifikace: obecný tvar: %[potlačení_dosazení][šířka][velikost]operace operace: d celé číslo se znaménkem v desítkové soustavě i celé číslo se znaménkem, které může být v: desítkové soustavě osmičkové soustavě (s 0 na začátku) šestnáctkové soustavě (s 0x nebo 0X na začátku) o celé číslo se znaménkem v osmičkové soustavě (s nulou na začátku nebo bez ní) 02/06/2018
Funkce vstupu (4) u celé číslo bez znaménka v desítkové soustavě x celé číslo se znaménkem v šestnáctkové soustavě (s 0x nebo 0X na začátku, popř. bez nich) f, e, g reálné číslo float (i v semilogaritmic- kém) tvaru pro načítání čísel typu double je nezbytné na místě velikost zapsat l, tj.: lf, le, lg reálné číslo double (i v semilogarit- mickém) tvaru 02/06/2018