Obecné vlastnosti programu v jazyce C
int cislo, x, y; z = x * y / 2 / PI; printf("Výsledek je: %d", cislo);
Jednoduché programy, které budete v několika prvních cvičeních psát, se budou vždy skládat pouze z tzv. hlavní funkce programu. Veškeré příkazy budete psát do této funkce.
#include <stdio.h> int main() { /* Tady bude vlastni posloupnost prikazu. */ return 0; }
Základní datové typy jazyka C můžeme rozdělit na celočíselné datové typy a reálné datové typy. U celočíselných datových typů pak navíc rozlišujeme, zda se jedná o typ znaménkový (pro kladná i záporná čísla) nebo neznaménkový (pouze pro nezáporná čísla).
Jazyk C nemá datový typ odpovídající logické hodnotě (pravda nebo nepravda), místo něj je možné použít některý z celočíselných datových typů, přičemž hodnota 0 je brána jako nepravda a jakákoli jiná hodnota jako pravda. honz4: bool
Seřazeny vzestupně podle rozsahu reprezentovaných čísel:
Všechny výše uvedené typy mohou být specifikovány jako signed nebo unsigned (např. signed short int, unsigned char), přičemž signed je implicitní a tudíž se většinou vynechává.
h0nza: myslí se tím čísla v plovoucí čárce (Fortran REAL) Seřazeny vzestupně podle rozsahu a přesnosti reprezentovaných čísel:
h0nza: literál (doslovná) hodnota určitého typu
V jazyku C jsou celočíselné konstanty vnitřně reprezenttovány implicitně typem int, uvedením znaku L (resp. l) za konstantu lze tento typ změnit na long int. Uvedením znaku U (resp. u) za konstantu lze změnit vnitřní reprezentaci na unsigned.
Základní číselnou soustavou pro zápis konstant v jazyku C je soustava desítková. Dále je možné využít osmičkový zápis (uvedením znaku '0' na začátku konstanty) a šestnáctkový zápis (uvedením dvojice znaků '0x' nebo '0X' na začátku konstanty).
V šestnáctkové soustavě pak kromě číslic '0' až '9' používáme číslice 'A' až 'F' (resp. 'a' až 'f').
Znakové konstanty jsou tvořeny libovolným znakem uzavřeným do apostrofů. Příklady:
V jazyku C jsou reálné konstanty vnitřně reprezentovány implicitně typem double, uvedením znaku 'L' (resp. 'l') za konstantu lze tento typ změnit na long double a uvedením znaku 'F' (resp. 'f') za konstantu na typ float. Reálné konstanty je možné psát také v semilogaritmickém tvaru, kde mantisa a exponent jsou odděleny znakem 'E' (resp. 'e'). Příklady:
Definice proměnné v jazyku C povinně obsahuje specifikaci datového typu a identifikátoru proměnné, který je tvořen libovolnou posloupností písmen, číslic a znaku podtržítko. Volitelně je možné uvést také inicializační hodnotu proměnné. Přestože pro větší přehlednost zdrojového kódu obvykle definujeme každou proměnnou novým příkazem, je syntakticky možné zapsat definici více proměnných stejného typu do jediného příkazu. Příklady:
int moje_cislo; unsigned short int male_kladne_cislo; char muj_znak = '*'; /* definice s inicializací */ int c1, c2 = 3, c3; /* definice více proměnných */
Vstup a výstup na obrazovku
je v jazyku C řešen standardními funkcemi standardní knihovny scanf a printf.
Prvním parametrem obou funkcí je tzv. řídící textový řetězec, který určuje co se má vypisovat či načítat,
a za ním následují hodnoty, které se budou vypisovat,
nebo proměnné, do nichž se budou uživatelem zadávané hodnoty vkládat.
Použití funkcí obecně:
printf("řídící řetězec", hodnota1, ...); scanf("řídící řetězec", &promenna1, ...);
Konkrétní příklady: printf(“Součet je %d”, suma); printf(“Součet je %d”, x + y); printf(“Součet je %d\t Součin je %d\n”, x + y, x * y); printf(“Plán jsme splnili na 100%%.”); printf(“Dekadicky %d je oktalově %o a hexadecimálně %x.\n”, cislo, cislo, cislo); scanf(“%d”, &cislo); scanf(“%d %o %x”, &cislo1, &cislo2, &cislo3); </code> Základní možnosti řídícího řetězce:
cc,upol