Proměnné
K čemu by nám byly programy,kdyľ by to byl jen sloupec daných příkazů?Program musí být interaktivní,a jedna z z věcí,které k tomu potřebujeme znát,jsou bezpochyby proměnné.(Dále pak např. práce s podmínkami).
Proměnná je místo v operační paměti,kam se ukládají informace.Ty mohou mít různý formát.Základní typy proměnných v C jsou tyto:
bool true/false
int -2 147 483 a� 2 147 483 647
char 256 znakových hodnot
float -1,2x10^38 aľ 3,4x10^38
Proměnná bool slouľí k uchování binární hodnoty.Jestli je něco pravda,či leľ.(k jejímu pouľití později).Proměná int slouľí k uchování CELÉHO čísla ve výąe vypsanem rozsahu.Proměnná char slouľí k uchování jednoho znaku.Proměnná float slouľí k uchování čísla z danného rozsahu s plovoucí desetinnou čárkou(tečkou).Proměnné kromě bool mohou být signed(se znaménkem) nebo unsigned(bez znaménka).Výąe jsou popsané signed proměnné.Proměnné unsigned znamená,ľe nemůľe nabývat záporných hodnot,alr můľe nabývat kladných hodnot o dvojnásobném rozsahu.Příklad
unsigned int 0 aľ 4 294 967 295
Podobně je to u float,char a daląích.Proměnné mohou být globální či lokální.Globální proměnné je viditelná z celého programu,lokální jen v určité funkci resp. bloku příkazů(my známe zatím pouze hlavní funkci programu tj. main() ).
Tolik zatím k teorii.Následuje příklad pou�ití.
#include <stdio.h> /*vlozim soubor se standardnimi funkcemi pro textovy rezim*/
int main() { /*hlavni funkce programu*/
int cislo; /*lokalni promena,ktera bude uchovavat cislo*/
printf("Zadejte cele cislo:");
scanf("%d
",&cislo); /*nactu cislo do promene cislo*/
cislo=cislo * 10; /*vynasobim cislo deseti a opet ulozim do promene cislo*/
printf("Desetinasobek zadaneho cisla je %d.
",cislo);/*vytisknu vysledek*/
puts("Konec");
return 0; /*ukoncim program*/
}
Základní stavba programu je doufám jasná.Zastavím se u deklarace proměnné cislo.Proměnná se v C deklaruje následovně:typ název; Pokud deklaruji unsigned proměnnou,deklaruji logicky unsigned int MojeCislo;
Dále tu máme funkci printf.Je to roz�íření funkce puts.Funkce printf vypí�e řetězec na obrazovku,neodřádkuje a znaky formátování nahradí proměnnými,která jsou vypsané oddělená čárkami za textem(viz příklad).Formátovací znaky:
%d - celé číslo
%s - řetězec
%c - znak
%i - signed int
%u- unsigned int
%x - hexadecimální cislo
...
Podobně je tomu i u funkce scanf,kde du úvozovek zadáte formátovacá znaky,a za ně oddělené čárkami proměnné,do kterých chcete získaná data ukládat.Funkce scanf v�dy ulo�í do jedné proměnné po stisknutí klávesy enter.
Řádek cislo=cislo*10; znamená do proměnné cislo ulozo výsledek operace cislo * 10.Původní obsah proměnné se přepí�e.
Dále vytisknu pomocí funkce printf výsledek(číslo je zastoupeno formátovacím znakem a proměnná,ze která se má číst je za textem oddělená čárkou).Potomo jen vytisknu konec pomocí jednoduąąí funkce puts a ukončím program pomocí příkazu return 0;
Dotazy pi�tě na mage@soom.cz.
Mage