<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PatrikC</id>
	<title>Kiwiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PatrikC"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/PatrikC"/>
	<updated>2026-05-01T18:42:06Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_polia&amp;diff=12767</id>
		<title>Jazyk C - polia</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_polia&amp;diff=12767"/>
		<updated>2020-05-26T13:47:34Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Dvojrozmerné polia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
'''Polia''' sa používajú na ukladanie kolekcie údajov, ale často je užitočnejšie myslieť na pole ako kolekciu premenných rovnakého typu.&lt;br /&gt;
Namiesto deklarovania jednotlivých premenných, ako napríklad číslo 0, číslo 1, ... a číslo 99, deklarujete jednu premennú poľa, ako sú čísla a na reprezentáciu použite čísla [0], čísla [1] a ..., čísla [99]. jednotlivé premenné. &lt;br /&gt;
Konkrétny prvok v poli je prístupný indexom.&lt;br /&gt;
&lt;br /&gt;
==Jednorozmerné polia==&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia jednorozmerného poľa'''&lt;br /&gt;
&lt;br /&gt;
Na deklarovanie poľa v C programátor špecifikuje typ prvkov a počet prvkov požadovaných poľom takto &lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
typ menoPola[veľkosť];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Toto sa nazýva jednorozmerné pole. Veľkosť musí byť celočíselná konštanta väčšia ako nula a typ môže byť akýkoľvek platný typ v jazyku C.&lt;br /&gt;
Napríklad deklarácia pola o veľkosti 10:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
int pole[10];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Iniciálizácia'''&lt;br /&gt;
&lt;br /&gt;
Prvky pola môžeme inicializovať po jednom alebo pomocou jedného príkazu nasledovne.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
int pole[5] = {1000,5,70,64,1};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Počet hodnôt medzi zátvorkami {} nemôže byť väčší ako počet prvkov(veľkosť pola), ktoré uvádzame pre pole medzi hranatými zátvorkami [].&lt;br /&gt;
Ak vynecháte veľkosť poľa, vytvorí sa pole ktoré je dostatočne veľké na to aby mohlo udržať inicializáciu. &lt;br /&gt;
&lt;br /&gt;
Preto, ak napíšeme&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
int pole[] = {1000,5,70,64,1};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vytvorí sa rovnaké pole ako v predchádzajúcom príkladne.&lt;br /&gt;
&lt;br /&gt;
'''Prístup k prvkom poľa'''&lt;br /&gt;
&lt;br /&gt;
K prvku sa pristupuje indexovaním názvu poľa. To sa dosiahne umiestnením indexu prvku do hranatých zátvoriek za názvom poľa. &lt;br /&gt;
&lt;br /&gt;
Napríklad &lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
int cislo = n[8] ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Do premennej cislo sa priradí hodnota(číslo) z pola n ktoré sa nachádza na indexe 8.&lt;br /&gt;
&lt;br /&gt;
Nasledujúci príklad ukazuje, ako používať všetky tri vyššie uvedené koncepty, viď. deklaráciu, priradenie a prístup k poliam &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main () {&lt;br /&gt;
&lt;br /&gt;
   int n[ 10 ]; /* n je pole o veľkosti 10 prvkov  */&lt;br /&gt;
   int i,j;&lt;br /&gt;
 &lt;br /&gt;
   /* inicializácia pola n od 0 po 10 */         &lt;br /&gt;
   for ( i = 0; i &amp;lt; 10; i++ ) {&lt;br /&gt;
      n[ i ] = i + 100; /* zapíše prvok na mieste i hodnotou i + 100 */&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   /* výstup hodnoty každého prvku z pola  */&lt;br /&gt;
   for (j = 0; j &amp;lt; 10; j++ ) {&lt;br /&gt;
      printf(&amp;quot;Prvok[%d] = %d\n&amp;quot;, j, n[j] );&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Prvok[0] = 100&lt;br /&gt;
Prvok[1] = 101&lt;br /&gt;
Prvok[2] = 102&lt;br /&gt;
Prvok[3] = 103&lt;br /&gt;
Prvok[4] = 104&lt;br /&gt;
Prvok[5] = 105&lt;br /&gt;
Prvok[6] = 106&lt;br /&gt;
Prvok[7] = 107&lt;br /&gt;
Prvok[8] = 108&lt;br /&gt;
Prvok[9] = 109&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Viacrozmerné polia==&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia viacrozmerného poľa'''&lt;br /&gt;
&lt;br /&gt;
Programovací jazyk C umožňuje vytvárať aj viacrozmerné polia. Toto je všeobecná deklarácia viacrozmerného poľa.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
typ menoPola[veľkosť_1][veľkosť_2]...[veľkosť_N];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Nasledujúca deklarácia je pre inicializáciu trojrozmerného pola&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
typ trojrozmerne[2][5][4];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Dvojrozmerné polia==&lt;br /&gt;
Najjednoduchšou formou viacrozmerného poľa je dvojrozmerné pole. Dvojrozmerné pole je v podstate zoznam jednorozmerných polí. Na deklarovanie dvojrozmerného celočíselného poľa veľkosti [ROZMER1][ROZMER2] by ste napísali takto.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
typ menoPola[ROZMER1][ROZMER2];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde typ môže byť akýkoľvek platný typ údajov C a menoPolabude platný identifikátor C. Dvojrozmerné pole možno považovať za tabuľku, ktorá bude mať x počet riadkov a počet stĺpcov y. Taktiež môžme považovať dvojrozmerné pole za maticu čísel. Dvojrozmerné pole maticaA, ktoré obsahuje tri riadky a štyri stĺpce, je možné zobraziť takto.&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
!  !! Stĺpec 0 !! Stĺpec 1 !! Stĺpec 2 !! Stĺpec 3  &lt;br /&gt;
|-&lt;br /&gt;
| Riadok 0 || maticaA[0][0] || maticaA[0][1] || maticaA[0][2] || maticaA[0][3]&lt;br /&gt;
|-&lt;br /&gt;
| Riadok 1 || maticaA[1][0] || maticaA[1][1] || maticaA[1][2] || maticaA[1][3]&lt;br /&gt;
|-&lt;br /&gt;
| Riadok 2 || maticaA[2][0] || maticaA[2][1] || maticaA[2][2] || maticaA[2][3] &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Každý prvok v poli a je teda identifikovaný názvom prvku vo forme a[i][j], kde „a“ je názov poľa a „i“ a „j“ sú indfexy „bunky“ kde sa daný prvok nachádza.&lt;br /&gt;
&lt;br /&gt;
'''Inicializácia dvojrozmerných polí'''&lt;br /&gt;
&lt;br /&gt;
Viacrozmerné polia sa môžu inicializovať zadaním hodnôt v zátvorkách pre každý riadok. Nasleduje pole s 3 riadkami a každý riadok má 4 stĺpce.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
int a[3][4] = {  &lt;br /&gt;
   {0, 1, 2, 3} ,   /*  inicializácia pre riadok 0 */&lt;br /&gt;
   {4, 5, 6, 7} ,   /*  inicializácia pre riadok 1 */&lt;br /&gt;
   {8, 9, 10, 11}   /*  inicializácia pre riadok 2 */&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Alebo môžme napísať inicializáciu aj do jedného riadka. Nasledujúca inicializácia je ekvivalentná s predchádzajúcim príkladom.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
int a[3][4] = {  &lt;br /&gt;
   {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Prístup k prvkom dvojrozmerného poľa'''&lt;br /&gt;
&lt;br /&gt;
K prvku v dvojrozmernom poli sa pristupuje pomocou indexu riadka a  indexu stĺpca poľa. Napríklad&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
int val = a[2][3];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Práca z dvojrozmerným polom''' &lt;br /&gt;
&lt;br /&gt;
Ukážme si príklad pre vypísanie dvojrozmerného pola.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main () {&lt;br /&gt;
&lt;br /&gt;
   /* inicializácia dvojrozmerného pola ktoré má 5 riadkov a 2 stĺpce*/&lt;br /&gt;
   int maticaA[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};&lt;br /&gt;
   int i, j;&lt;br /&gt;
 &lt;br /&gt;
   /* výstup každého prvku pola, najprv sa vypíšu všetky stĺpce daného riadku až potom sa prejde na ďalší riadok */&lt;br /&gt;
   for ( i = 0; i &amp;lt; 5; i++ ) {&lt;br /&gt;
      for ( j = 0; j &amp;lt; 2; j++ ) {&lt;br /&gt;
         printf(&amp;quot;maticaA[%d][%d] = %d\n&amp;quot;, i,j, maticaA[i][j] );&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu sa získa nasledujúci výsledok.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
maticaA[0][0]: 0&lt;br /&gt;
maticaA[0][1]: 0&lt;br /&gt;
maticaA[1][0]: 1&lt;br /&gt;
maticaA[1][1]: 2&lt;br /&gt;
maticaA[2][0]: 2&lt;br /&gt;
maticaA[2][1]: 4&lt;br /&gt;
maticaA[3][0]: 3&lt;br /&gt;
maticaA[3][1]: 6&lt;br /&gt;
maticaA[4][0]: 4&lt;br /&gt;
maticaA[4][1]: 8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=%C5%A0abl%C3%B3na:Funkcie_jazyka_c&amp;diff=12759</id>
		<title>Šablóna:Funkcie jazyka c</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=%C5%A0abl%C3%B3na:Funkcie_jazyka_c&amp;diff=12759"/>
		<updated>2020-05-26T13:43:28Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Jazyk C]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:480px&amp;quot;&lt;br /&gt;
|+ Rozdelenie funkcií jazyka C podľa knižníc, v ktorých sú definované&lt;br /&gt;
|-&lt;br /&gt;
! [[C standard library - ctype.h|&amp;lt;ctype.h&amp;gt;]]&lt;br /&gt;
!&amp;lt;limits.h&amp;gt;&lt;br /&gt;
!&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
!&amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
!&amp;lt;math.h&amp;gt;&lt;br /&gt;
!&amp;lt;string.h&amp;gt;&lt;br /&gt;
!&amp;lt;time.h&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
isalnum&amp;lt;br/&amp;gt;&lt;br /&gt;
isalpha&amp;lt;br/&amp;gt;&lt;br /&gt;
isdigit&amp;lt;br/&amp;gt;&lt;br /&gt;
isgraph&amp;lt;br/&amp;gt;&lt;br /&gt;
islower&amp;lt;br/&amp;gt;&lt;br /&gt;
isprint&amp;lt;br/&amp;gt;&lt;br /&gt;
ispunct&amp;lt;br/&amp;gt;&lt;br /&gt;
isspace&amp;lt;br/&amp;gt;&lt;br /&gt;
isupper&amp;lt;br/&amp;gt;&lt;br /&gt;
isxdigit&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[printf (jazyk C)|printf]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[scanf (jazyk C)|scanf]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[getc (jazyk C)|getc]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[putc (jazyk C)|putc]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[getchar(jazyk C)|getchar]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[putchar(jazyk C)|putchar]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fprintf (jazyk C)|fprintf]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fscanf (jazyk C)|fscanf]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fgetc (jazyk C)|fgetc]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fputc (jazyk C)|fputc]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fopen (jazyk C)|fopen]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fclose (jazyk C)|fclose]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[feof (jazyk C)|feof]]&amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[system (jazyk C)|system]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[malloc (jazyk C)|malloc]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[qsort (jazyk C)|qsort]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[rand (jazyk C)|rand]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[srand (jazyk C)|srand]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[atoi (jazyk C)|atoi]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[atol (jazyk C)|atol]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[atof (jazyk C)|atof]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[itoa (jazyk C)|itoa]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[div (jazyk C)|div]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[abs (jazyk C)|abs]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[labs (jazyk C)|labs]]&amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[pow (jazyk C)|pow]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[fabs (jazyk C)|fabs]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[exp (jazyk C)|exp]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[log(jazyk C)|log]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[log10(jazyk C)|log10]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[sqrt (jazyk C)|sqrt]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[ceil (jazyk C)|ceil]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[sin (jazyk C)|sin]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[cos (jazyk C)|cos]]&amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[strlen (jazyk C)|strlen]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strcmp (jazyk C)|strcmp]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strchr (jazyk C)|strchr]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strcpy (jazyk C)|strcpy]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strstr (jazyk C)|strstr]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strcat (jazyk C)|strcat]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[strncat (jazyk C)|strncat]]&amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot;|&lt;br /&gt;
[[clock (jazyk C)|clock ]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[time (jazyk C)|time ]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12758</id>
		<title>Jazyk C - vstupno/výstupné operácie</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12758"/>
		<updated>2020-05-26T13:43:26Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Funkcie getchar(), putchar() */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
Keď povieme '''Vstup''' , znamená to, že niektoré údaje vložíme do programu. Vstup môže byť zadaný vo forme súboru alebo z príkazového riadku. Programovanie C poskytuje sadu vstavaných funkcií na čítanie daného vstupu a jeho posielanie do programu podľa potreby.&lt;br /&gt;
&lt;br /&gt;
Keď povieme '''Výstup''' , znamená to zobraziť niektoré údaje na obrazovke, tlačiarni alebo v akomkoľvek súbore. Programovanie v jazyku C poskytuje sadu vstavaných funkcií na výstup údajov na obrazovke počítača a ich ukladanie do textových alebo binárnych súborov.&lt;br /&gt;
 &lt;br /&gt;
Pre prácu zo vstupom a výstupom je potrebné vložiť knižnicu &amp;lt;stdio.h&amp;gt;&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/stdio_h.htm&amp;lt;/ref&amp;gt; hlavičky definuje tri typy premenných, niekoľko makrá a rôzne funkcie pre vykonávanie vstupu a výstupu. &lt;br /&gt;
&lt;br /&gt;
==Štandardné súbory &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_input_output.htm&amp;lt;/ref&amp;gt; == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style = &amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |  Štandardný súbor &lt;br /&gt;
! Ukazovateľ súboru &lt;br /&gt;
! Zariadenie&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný vstup	 || stdin || klávesnica&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný výstup	 || stdout || obrazovka&lt;br /&gt;
|-&lt;br /&gt;
| Štandardná chyba || stderr|| Vaša obrazovka&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Funkcie [[getchar (jazyk C)|putc]], [[putchar(jazyk C)|putchar]]==&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
int getchar(void) // pre vstup znaku&lt;br /&gt;
int putchar(int)  // pre výstup znaku&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''getchar()''' dokáže načítať  znak z klávesnice a vráti ho ako celé číslo. Táto funkcia dokáže načítať naraz iba jeden znak. &lt;br /&gt;
&lt;br /&gt;
Funkcia '''putchar()''' dokáže vypísať jeden znak z klávesnice a vráti rovnaký znak. &lt;br /&gt;
Pre načítanie alebo vypísanie viacerých znakov je potrebné použiť cyklus.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main( ) {&lt;br /&gt;
   int c;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Vstup:&amp;quot;);&lt;br /&gt;
   c = getchar( );&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nVýstup: &amp;quot;);&lt;br /&gt;
   putchar(c);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu čaká na vloženie textu. Keď zadáte text a stlačíte Enter, program pokračuje a načíta iba jeden znak a zobrazí ho nasledovne -&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Vstup: Toto je test.&lt;br /&gt;
Výstup: T&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Funkcie [[getc (jazyk C)|getc]],[[putc (jazyk C)|putc]]&amp;lt;ref&amp;gt;https://www.javatpoint.com/c-gets-puts&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
char* gets(char[]);  &lt;br /&gt;
int puts(char[])  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Funkcia '''get()''' umožňuje užívateľovi zadať niektoré znaky, za ktorými nasleduje kláves Enter. Všetky zadané znaky sa uložia do poľa znakov.Na koniec poľa sa pridá nulový znak aby sa vytvoril retazec. Get() umožňuje užívateľovi zadať reťazce oddelené medzerami. Funkcia vracia string/retazec.&lt;br /&gt;
Priklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
void main ()  {  &lt;br /&gt;
    char s[30];&lt;br /&gt;
  &lt;br /&gt;
    printf(&amp;quot;Zadajte retazec: &amp;quot;);  &lt;br /&gt;
    gets(s); &lt;br /&gt;
 &lt;br /&gt;
    printf(&amp;quot;Zadaný retazec: %s&amp;quot;,s);  &lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Zadajte retazec: Toto je test.&lt;br /&gt;
Zadaný retazec: Toto je test.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''puts()''' je veľmi podobná funkcii printf(). Funkcia puts() sa používa na výpis reťazca na obrazovku, ktorý sa predtým čítal pomocou funkcie gets () alebo scanf (). Funkcia puts () vracia celočíselnú hodnotu predstavujúcu počet vypísaných znakov. Ak je úspešná, vráti sa nezáporná hodnota. Pri chybe funkcia vráti EOF.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
#include &amp;lt;string.h&amp;gt;    &lt;br /&gt;
void main () {    &lt;br /&gt;
     znak char  [50];    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Zadajte svoje meno:&amp;quot; );    &lt;br /&gt;
     gets (meno); // prečíta reťazec od používateľa    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Vaše meno je:&amp;quot; );    &lt;br /&gt;
     puts (názov);  // zobrazuje reťazec    &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source &amp;gt;&lt;br /&gt;
Zadajte svoje meno: Ferko Mrkvička &lt;br /&gt;
Vaše meno je: Ferko Mrkvička&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Funkcie [[printf (jazyk C)|printf]], [[scanf (jazyk C)|scanf]]==&lt;br /&gt;
Funkcie printf () a scanf () sa používajú na formátovaný  vstup a výstup v jazyku C. Obe funkcie sú vstavané knižničné funkcie definované v stdio.h (súbor hlavičky).&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
printf ( &amp;quot;formátovací reťazec&amp;quot; , premenná); &lt;br /&gt;
scanf ( &amp;quot;formátovací reťazec&amp;quot; , premenná);   &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''Formátovací reťazec''' môže byť %d (celé číslo), %c (znak), %s (reťazec), %f (float) atď.&lt;br /&gt;
&lt;br /&gt;
'''Premenná''' je miesto odkiaľ alebo kam sa čísla, znaky, reťazce zapisujú alebo odkiaľ sa čítajú.&lt;br /&gt;
Funkcia '''scanf()''' načítava znaky z klávesnice ako formátovaný vstup a ukladá ich do premennej či už ako reťazec, číslo, znak.&lt;br /&gt;
Funkcia '''printf()''' vypíše na obrazovku formátovaný výstup premennej či už ako reťazec, číslo, znak, atď.&lt;br /&gt;
&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main( ) {&lt;br /&gt;
   char str[100];&lt;br /&gt;
   int i;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Zadajte text:&amp;quot;);&lt;br /&gt;
   scanf(&amp;quot;%s %d&amp;quot;, str, &amp;amp;i);&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nZadali ste: %s %d &amp;quot;, str, i);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Zadajte text: sedem 7 &lt;br /&gt;
Zadali ste: sedem 7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12751</id>
		<title>Jazyk C - vstupno/výstupné operácie</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12751"/>
		<updated>2020-05-26T13:42:12Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Funkcie gets(), puts()https://www.javatpoint.com/c-gets-puts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
Keď povieme '''Vstup''' , znamená to, že niektoré údaje vložíme do programu. Vstup môže byť zadaný vo forme súboru alebo z príkazového riadku. Programovanie C poskytuje sadu vstavaných funkcií na čítanie daného vstupu a jeho posielanie do programu podľa potreby.&lt;br /&gt;
&lt;br /&gt;
Keď povieme '''Výstup''' , znamená to zobraziť niektoré údaje na obrazovke, tlačiarni alebo v akomkoľvek súbore. Programovanie v jazyku C poskytuje sadu vstavaných funkcií na výstup údajov na obrazovke počítača a ich ukladanie do textových alebo binárnych súborov.&lt;br /&gt;
 &lt;br /&gt;
Pre prácu zo vstupom a výstupom je potrebné vložiť knižnicu &amp;lt;stdio.h&amp;gt;&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/stdio_h.htm&amp;lt;/ref&amp;gt; hlavičky definuje tri typy premenných, niekoľko makrá a rôzne funkcie pre vykonávanie vstupu a výstupu. &lt;br /&gt;
&lt;br /&gt;
==Štandardné súbory &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_input_output.htm&amp;lt;/ref&amp;gt; == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style = &amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |  Štandardný súbor &lt;br /&gt;
! Ukazovateľ súboru &lt;br /&gt;
! Zariadenie&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný vstup	 || stdin || klávesnica&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný výstup	 || stdout || obrazovka&lt;br /&gt;
|-&lt;br /&gt;
| Štandardná chyba || stderr|| Vaša obrazovka&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Funkcie getchar(), putchar()==&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
int getchar(void) // pre vstup znaku&lt;br /&gt;
int putchar(int)  // pre výstup znaku&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''getchar()''' dokáže načítať  znak z klávesnice a vráti ho ako celé číslo. Táto funkcia dokáže načítať naraz iba jeden znak. &lt;br /&gt;
&lt;br /&gt;
Funkcia '''putchar()''' dokáže vypísať jeden znak z klávesnice a vráti rovnaký znak. &lt;br /&gt;
Pre načítanie alebo vypísanie viacerých znakov je potrebné použiť cyklus.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main( ) {&lt;br /&gt;
   int c;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Vstup:&amp;quot;);&lt;br /&gt;
   c = getchar( );&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nVýstup: &amp;quot;);&lt;br /&gt;
   putchar(c);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu čaká na vloženie textu. Keď zadáte text a stlačíte Enter, program pokračuje a načíta iba jeden znak a zobrazí ho nasledovne -&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Vstup: Toto je test.&lt;br /&gt;
Výstup: T&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Funkcie [[getc (jazyk C)|getc]],[[putc (jazyk C)|putc]]&amp;lt;ref&amp;gt;https://www.javatpoint.com/c-gets-puts&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
char* gets(char[]);  &lt;br /&gt;
int puts(char[])  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Funkcia '''get()''' umožňuje užívateľovi zadať niektoré znaky, za ktorými nasleduje kláves Enter. Všetky zadané znaky sa uložia do poľa znakov.Na koniec poľa sa pridá nulový znak aby sa vytvoril retazec. Get() umožňuje užívateľovi zadať reťazce oddelené medzerami. Funkcia vracia string/retazec.&lt;br /&gt;
Priklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
void main ()  {  &lt;br /&gt;
    char s[30];&lt;br /&gt;
  &lt;br /&gt;
    printf(&amp;quot;Zadajte retazec: &amp;quot;);  &lt;br /&gt;
    gets(s); &lt;br /&gt;
 &lt;br /&gt;
    printf(&amp;quot;Zadaný retazec: %s&amp;quot;,s);  &lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Zadajte retazec: Toto je test.&lt;br /&gt;
Zadaný retazec: Toto je test.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''puts()''' je veľmi podobná funkcii printf(). Funkcia puts() sa používa na výpis reťazca na obrazovku, ktorý sa predtým čítal pomocou funkcie gets () alebo scanf (). Funkcia puts () vracia celočíselnú hodnotu predstavujúcu počet vypísaných znakov. Ak je úspešná, vráti sa nezáporná hodnota. Pri chybe funkcia vráti EOF.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
#include &amp;lt;string.h&amp;gt;    &lt;br /&gt;
void main () {    &lt;br /&gt;
     znak char  [50];    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Zadajte svoje meno:&amp;quot; );    &lt;br /&gt;
     gets (meno); // prečíta reťazec od používateľa    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Vaše meno je:&amp;quot; );    &lt;br /&gt;
     puts (názov);  // zobrazuje reťazec    &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source &amp;gt;&lt;br /&gt;
Zadajte svoje meno: Ferko Mrkvička &lt;br /&gt;
Vaše meno je: Ferko Mrkvička&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Funkcie [[printf (jazyk C)|printf]], [[scanf (jazyk C)|scanf]]==&lt;br /&gt;
Funkcie printf () a scanf () sa používajú na formátovaný  vstup a výstup v jazyku C. Obe funkcie sú vstavané knižničné funkcie definované v stdio.h (súbor hlavičky).&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
printf ( &amp;quot;formátovací reťazec&amp;quot; , premenná); &lt;br /&gt;
scanf ( &amp;quot;formátovací reťazec&amp;quot; , premenná);   &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''Formátovací reťazec''' môže byť %d (celé číslo), %c (znak), %s (reťazec), %f (float) atď.&lt;br /&gt;
&lt;br /&gt;
'''Premenná''' je miesto odkiaľ alebo kam sa čísla, znaky, reťazce zapisujú alebo odkiaľ sa čítajú.&lt;br /&gt;
Funkcia '''scanf()''' načítava znaky z klávesnice ako formátovaný vstup a ukladá ich do premennej či už ako reťazec, číslo, znak.&lt;br /&gt;
Funkcia '''printf()''' vypíše na obrazovku formátovaný výstup premennej či už ako reťazec, číslo, znak, atď.&lt;br /&gt;
&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main( ) {&lt;br /&gt;
   char str[100];&lt;br /&gt;
   int i;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Zadajte text:&amp;quot;);&lt;br /&gt;
   scanf(&amp;quot;%s %d&amp;quot;, str, &amp;amp;i);&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nZadali ste: %s %d &amp;quot;, str, i);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Zadajte text: sedem 7 &lt;br /&gt;
Zadali ste: sedem 7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12750</id>
		<title>Jazyk C - vstupno/výstupné operácie</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_vstupno/v%C3%BDstupn%C3%A9_oper%C3%A1cie&amp;diff=12750"/>
		<updated>2020-05-26T13:40:50Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Funkcie scanf(), printf() */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
Keď povieme '''Vstup''' , znamená to, že niektoré údaje vložíme do programu. Vstup môže byť zadaný vo forme súboru alebo z príkazového riadku. Programovanie C poskytuje sadu vstavaných funkcií na čítanie daného vstupu a jeho posielanie do programu podľa potreby.&lt;br /&gt;
&lt;br /&gt;
Keď povieme '''Výstup''' , znamená to zobraziť niektoré údaje na obrazovke, tlačiarni alebo v akomkoľvek súbore. Programovanie v jazyku C poskytuje sadu vstavaných funkcií na výstup údajov na obrazovke počítača a ich ukladanie do textových alebo binárnych súborov.&lt;br /&gt;
 &lt;br /&gt;
Pre prácu zo vstupom a výstupom je potrebné vložiť knižnicu &amp;lt;stdio.h&amp;gt;&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/stdio_h.htm&amp;lt;/ref&amp;gt; hlavičky definuje tri typy premenných, niekoľko makrá a rôzne funkcie pre vykonávanie vstupu a výstupu. &lt;br /&gt;
&lt;br /&gt;
==Štandardné súbory &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_input_output.htm&amp;lt;/ref&amp;gt; == &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style = &amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |  Štandardný súbor &lt;br /&gt;
! Ukazovateľ súboru &lt;br /&gt;
! Zariadenie&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný vstup	 || stdin || klávesnica&lt;br /&gt;
|-&lt;br /&gt;
| Štandardný výstup	 || stdout || obrazovka&lt;br /&gt;
|-&lt;br /&gt;
| Štandardná chyba || stderr|| Vaša obrazovka&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Funkcie getchar(), putchar()==&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
int getchar(void) // pre vstup znaku&lt;br /&gt;
int putchar(int)  // pre výstup znaku&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''getchar()''' dokáže načítať  znak z klávesnice a vráti ho ako celé číslo. Táto funkcia dokáže načítať naraz iba jeden znak. &lt;br /&gt;
&lt;br /&gt;
Funkcia '''putchar()''' dokáže vypísať jeden znak z klávesnice a vráti rovnaký znak. &lt;br /&gt;
Pre načítanie alebo vypísanie viacerých znakov je potrebné použiť cyklus.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
main( ) {&lt;br /&gt;
   int c;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Vstup:&amp;quot;);&lt;br /&gt;
   c = getchar( );&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nVýstup: &amp;quot;);&lt;br /&gt;
   putchar(c);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu čaká na vloženie textu. Keď zadáte text a stlačíte Enter, program pokračuje a načíta iba jeden znak a zobrazí ho nasledovne -&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Vstup: Toto je test.&lt;br /&gt;
Výstup: T&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Funkcie gets(), puts()&amp;lt;ref&amp;gt;https://www.javatpoint.com/c-gets-puts&amp;lt;/ref&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
char* gets(char[]);  &lt;br /&gt;
int puts(char[])  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Funkcia '''get()''' umožňuje užívateľovi zadať niektoré znaky, za ktorými nasleduje kláves Enter. Všetky zadané znaky sa uložia do poľa znakov.Na koniec poľa sa pridá nulový znak aby sa vytvoril retazec. Get() umožňuje užívateľovi zadať reťazce oddelené medzerami. Funkcia vracia string/retazec.&lt;br /&gt;
Priklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
void main ()  {  &lt;br /&gt;
    char s[30];&lt;br /&gt;
  &lt;br /&gt;
    printf(&amp;quot;Zadajte retazec: &amp;quot;);  &lt;br /&gt;
    gets(s); &lt;br /&gt;
 &lt;br /&gt;
    printf(&amp;quot;Zadaný retazec: %s&amp;quot;,s);  &lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source  &amp;gt;&lt;br /&gt;
Zadajte retazec: Toto je test.&lt;br /&gt;
Zadaný retazec: Toto je test.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funkcia '''puts()''' je veľmi podobná funkcii printf(). Funkcia puts() sa používa na výpis reťazca na obrazovku, ktorý sa predtým čítal pomocou funkcie gets () alebo scanf (). Funkcia puts () vracia celočíselnú hodnotu predstavujúcu počet vypísaných znakov. Ak je úspešná, vráti sa nezáporná hodnota. Pri chybe funkcia vráti EOF.&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
#include &amp;lt;string.h&amp;gt;    &lt;br /&gt;
void main () {    &lt;br /&gt;
     znak char  [50];    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Zadajte svoje meno:&amp;quot; );    &lt;br /&gt;
     gets (meno); // prečíta reťazec od používateľa    &lt;br /&gt;
     &lt;br /&gt;
     printf ( &amp;quot;Vaše meno je:&amp;quot; );    &lt;br /&gt;
     puts (názov);  // zobrazuje reťazec    &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source &amp;gt;&lt;br /&gt;
Zadajte svoje meno: Ferko Mrkvička &lt;br /&gt;
Vaše meno je: Ferko Mrkvička&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Funkcie [[printf (jazyk C)|printf]], [[scanf (jazyk C)|scanf]]==&lt;br /&gt;
Funkcie printf () a scanf () sa používajú na formátovaný  vstup a výstup v jazyku C. Obe funkcie sú vstavané knižničné funkcie definované v stdio.h (súbor hlavičky).&lt;br /&gt;
&lt;br /&gt;
'''Deklarácia:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
printf ( &amp;quot;formátovací reťazec&amp;quot; , premenná); &lt;br /&gt;
scanf ( &amp;quot;formátovací reťazec&amp;quot; , premenná);   &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
'''Formátovací reťazec''' môže byť %d (celé číslo), %c (znak), %s (reťazec), %f (float) atď.&lt;br /&gt;
&lt;br /&gt;
'''Premenná''' je miesto odkiaľ alebo kam sa čísla, znaky, reťazce zapisujú alebo odkiaľ sa čítajú.&lt;br /&gt;
Funkcia '''scanf()''' načítava znaky z klávesnice ako formátovaný vstup a ukladá ich do premennej či už ako reťazec, číslo, znak.&lt;br /&gt;
Funkcia '''printf()''' vypíše na obrazovku formátovaný výstup premennej či už ako reťazec, číslo, znak, atď.&lt;br /&gt;
&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; &amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main( ) {&lt;br /&gt;
   char str[100];&lt;br /&gt;
   int i;&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;Zadajte text:&amp;quot;);&lt;br /&gt;
   scanf(&amp;quot;%s %d&amp;quot;, str, &amp;amp;i);&lt;br /&gt;
&lt;br /&gt;
   printf( &amp;quot;\nZadali ste: %s %d &amp;quot;, str, i);&lt;br /&gt;
&lt;br /&gt;
   return 0;&lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Zadajte text: sedem 7 &lt;br /&gt;
Zadali ste: sedem 7&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12729</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12729"/>
		<updated>2020-05-26T13:31:23Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Priraďovací operátor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vľavo &amp;lt;&amp;lt;: Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vpravo &amp;gt;&amp;gt;: Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčin &amp;amp;: Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčet |: Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový exkluzívny súčet ^:Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitová negácia ~: Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
;Menšie ako &amp;lt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie ako &amp;gt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Menšie alebo rovné ako &amp;lt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie alebo rovné ako &amp;gt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rovná sa ==: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nerovná sa !=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
;Priradenie =: Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
;Operátor a následné priradenie: Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
;Veľkosť premennej sizeof(x): Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12728</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12728"/>
		<updated>2020-05-26T13:31:07Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Priraďovací operátor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vľavo &amp;lt;&amp;lt;: Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vpravo &amp;gt;&amp;gt;: Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčin &amp;amp;: Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčet |: Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový exkluzívny súčet ^:Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitová negácia ~: Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
;Menšie ako &amp;lt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie ako &amp;gt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Menšie alebo rovné ako &amp;lt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie alebo rovné ako &amp;gt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rovná sa ==: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nerovná sa !=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
;Priradenie =:&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
;Operátor a následné priradenie: Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
;Veľkosť premennej sizeof(x): Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12727</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12727"/>
		<updated>2020-05-26T13:30:20Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Miskuidné operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vľavo &amp;lt;&amp;lt;: Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vpravo &amp;gt;&amp;gt;: Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčin &amp;amp;: Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčet |: Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový exkluzívny súčet ^:Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitová negácia ~: Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
;Menšie ako &amp;lt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie ako &amp;gt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Menšie alebo rovné ako &amp;lt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie alebo rovné ako &amp;gt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rovná sa ==: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nerovná sa !=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
;Veľkosť premennej sizeof(x): Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12726</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12726"/>
		<updated>2020-05-26T13:29:55Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Relačné operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vľavo &amp;lt;&amp;lt;: Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vpravo &amp;gt;&amp;gt;: Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčin &amp;amp;: Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčet |: Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový exkluzívny súčet ^:Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitová negácia ~: Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
;Menšie ako &amp;lt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie ako &amp;gt;: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Menšie alebo rovné ako &amp;lt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Väčšie alebo rovné ako &amp;gt;=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rovná sa ==: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nerovná sa !=: Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Veľkosť premennej sizeof(x)'''&lt;br /&gt;
Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12725</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12725"/>
		<updated>2020-05-26T13:28:54Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Bitové operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vľavo &amp;lt;&amp;lt;: Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
;Bitový posun vpravo &amp;gt;&amp;gt;: Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčin &amp;amp;: Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový súčet |: Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitový exkluzívny súčet ^:Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. &lt;br /&gt;
&lt;br /&gt;
Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Bitová negácia ~: Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&lt;br /&gt;
 Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Menšie ako &amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie ako &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Menšie alebo rovné ako &amp;lt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie alebo rovné ako &amp;gt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rovná sa == '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nerovná sa != '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Veľkosť premennej sizeof(x)'''&lt;br /&gt;
Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12721</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12721"/>
		<updated>2020-05-26T13:26:55Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Logické operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
;Logický súčin &amp;amp;&amp;amp;: Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Logický súčet ||: Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Negácia !: Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Poznámka: Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vľavo &amp;lt;&amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vpravo &amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčin &amp;amp;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčet |'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový exkluzívny súčet ^'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitová negácia ~'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Menšie ako &amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie ako &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Menšie alebo rovné ako &amp;lt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie alebo rovné ako &amp;gt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rovná sa == '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nerovná sa != '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Veľkosť premennej sizeof(x)'''&lt;br /&gt;
Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12718</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12718"/>
		<updated>2020-05-26T13:26:22Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Aritmetické operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++: Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --: Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
'''Logický súčin &amp;amp;&amp;amp;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logický súčet ||'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Negácia !'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vľavo &amp;lt;&amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vpravo &amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčin &amp;amp;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčet |'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový exkluzívny súčet ^'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitová negácia ~'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Menšie ako &amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie ako &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Menšie alebo rovné ako &amp;lt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie alebo rovné ako &amp;gt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rovná sa == '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nerovná sa != '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Veľkosť premennej sizeof(x)'''&lt;br /&gt;
Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12716</id>
		<title>Jazyk C - operátory</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_oper%C3%A1tory&amp;diff=12716"/>
		<updated>2020-05-26T13:26:08Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Aritmetické operátory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
__TOC__&lt;br /&gt;
Operátor je symbol, ktorý hovorí kompilátoru, aby vykonával konkrétne matematické alebo logické funkcie. &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_operators.htm&amp;lt;/ref&amp;gt; Jeho návratový typ určený podľa typu vstupných hodnôt.&lt;br /&gt;
&lt;br /&gt;
Operátory sa dajú podľa počtu vstupov rozdeliť na unárne, binárne a ternárne.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Unárne&lt;br /&gt;
| ++, --, -(zmena znamienka), !, ~, sizeof&lt;br /&gt;
|-&lt;br /&gt;
! Binárne&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;+, -, *, /, %, &amp;amp;&amp;amp;, ||, &amp;lt;&amp;lt;, &amp;gt;&amp;gt;, &amp;amp;, |, ^, &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=, =&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Ternárne&lt;br /&gt;
| ? :&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Aritmetické operátory==&lt;br /&gt;
&lt;br /&gt;
;Sčítanie +: Tento operátor slúži na sčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčet daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A + B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Rozdiel: Tento operátor slúži na odčítanie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je rozdiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A - B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Súčin *: Tento operátor slúži na násobenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je súčin daných čísiel. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Podiel /: Tento operátor slúži na delenie dvoch celých alebo reálnych čísiel. Jeho návratová hodnota je podiel ľavého a pravého čísla. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A / B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zvyšok po delení %: Tento operátor slúži na vypočítanie celočíselného zvyšku po delení celých čísiel. Jeho návratová hodnota sa nazýva '''modulo'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A * B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Zmena znamienka -: Tento operátor slúži na zmenu znamienka daného čísla. Jeho návratová hodnota je dané číslo krát -1.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = -A;&lt;br /&gt;
y = A * (-1); //ekvivalent&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Inkrementácia ++:&lt;br /&gt;
&lt;br /&gt;
Tento unárny operátor slúži na zväčšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A++; //hodnota A sa zväčší o 1.&lt;br /&gt;
++A; //Hodnota A sa tiež zväčší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A++); //zväčší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(++A); //najprv zväčší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Dekrementácia --:&lt;br /&gt;
&lt;br /&gt;
Tento unárny operátor slúži na zmenšenie daného čísla o 1. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A--; //hodnota A sa zmenší o 1.&lt;br /&gt;
--A; //Hodnota A sa tiež zmenší o 1.&lt;br /&gt;
&lt;br /&gt;
vypis(A--); //zmenší hodnotu i o 1, ale vráti originálnu hodnotu, ktorú potom vypíše&lt;br /&gt;
vypis(--A); //najprv zmenší hodnotu i o 1, potom toto číslo vypíše&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Logické operátory==&lt;br /&gt;
&lt;br /&gt;
'''Logický súčin &amp;amp;&amp;amp;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie logického súčinu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A &amp;amp;&amp;amp; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Logický súčet ||'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie logického súčtu dvoch čísiel. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = A || B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Negácia !'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na vypočítanie negácie jedného čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;x = !A;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' Vstupné hodnoty logických operátorov môžu byť len '''TRUE (1)''' alebo '''FALSE (0)''', avšak v jazyku C/C++ sú všetky hodnoty okrem 0 považované za '''TRUE'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bitové operátory==&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vľavo &amp;lt;&amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vľavo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj násobením daného čísla násobkami 2 (napr. A &amp;lt;&amp;lt; '''3''' = A * 2 * '''3'''). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;lt;&amp;lt; 2;&lt;br /&gt;
//A = B11010100&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ poznáme viac foriem zápisu čísiel, buď napíšeme číslo v dekadickej sústave napr. 125, alebo v binárnej sústave napr. B01111101, alebo v hexadecimálnej sústave napr. 0x7D.&lt;br /&gt;
&lt;br /&gt;
'''Bitový posun vpravo &amp;gt;&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor slúži na posunutie bitov jedného čísla vpravo o zadaný počet (chýbajúce bity sa nahradia 0). Rovnaký výsledok sa dá dosiahnuť aj delením daného čísla násobkami 2 (napr. A &amp;gt;&amp;gt; '''3''' = A /( 2 * '''3''')). Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
//A = B00110101&lt;br /&gt;
x = A &amp;gt;&amp;gt; 2;&lt;br /&gt;
//A = B00001101&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčin &amp;amp;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčin každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
&amp;amp;10100110&lt;br /&gt;
---------&lt;br /&gt;
 00100100&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A &amp;amp; B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový súčet |'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logický súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
|10100110&lt;br /&gt;
---------&lt;br /&gt;
 10110111&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä ak chceme zmeniť alebo získať určitý bit v čísle.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A | B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitový exkluzívny súčet ^'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta exkluzívny súčet každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
^10100110&lt;br /&gt;
---------&lt;br /&gt;
 10010011&lt;br /&gt;
&amp;lt;/source&amp;gt; Využíva sa najmä pri šifrovaní.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = A ^ B;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bitová negácia ~'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor vypočíta logická negáciu každého jedného bitu v čísle. Vyhodnocuje sa zľava doprava. Napr.:&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
 00110101&lt;br /&gt;
~&lt;br /&gt;
---------&lt;br /&gt;
 11001010&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = ~A;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Relačné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Menšie ako &amp;lt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie ako &amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt; B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Menšie alebo rovné ako &amp;lt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo menšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;lt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Väčšie alebo rovné ako &amp;gt;= '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo väčšie alebo rovné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A &amp;gt;= B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rovná sa == '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo rovnaké ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A == B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nerovná sa != '''&lt;br /&gt;
&lt;br /&gt;
Tento operátor porovnáva dve zadané čísla. Jeho návratová hodnota môže byť len '''TRUE''' alebo '''FALSE'''. Ak je ľavé číslo iné ako pravé, tak vráti '''TRUE''', inak '''FALSE'''. Vyhodnocuje sa zľava doprava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A != B;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Priraďovací operátor==&lt;br /&gt;
&lt;br /&gt;
'''Priradenie = '''&lt;br /&gt;
&lt;br /&gt;
Operátor priradenia slúži na priradenie hodnoty do premennej. Môže byť použitý na akýkoľvek datový typ s jedinou podmienkou, že prvý parameter (ľava strana), musí byť prijímač hodnoty, napríklad premenná. v závislosti na programovací jazyk môžu byť rozdielne podmienky pre priradenie hodnoty do premenných, napríklad na základe závislosti na type.&amp;lt;ref&amp;gt;http://ctp.mkprog.eu/sk/c/priradenie/&amp;lt;/ref&amp;gt; Priradenie, rovnako ako ostatné operátory, má taktiež návratovú hodnotu a ňou je hodnota, ktorá bola priradená. Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;A = B + 1&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Poznámka:''' V jazyku C/C++ sa pri používaní operátorov postupuje podľa priority operátorov, inak sa zväčša postupuje zľava doprava, napr.: A = A + 5 + B * 6 bude vypočítané ako x = B * 6; y = 5 + x; A = A + y.&lt;br /&gt;
&lt;br /&gt;
'''Operátor a následné priradenie'''&lt;br /&gt;
&lt;br /&gt;
Pre zjednodušenie programovania sa takmer všetky aritmetické a bitové operátory dajú nahradiť operátormi spojenými s priradením:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
A = A + 2;  //A += 2;&lt;br /&gt;
A = A - 2;  //A -= 2;&lt;br /&gt;
A = A * 2;  // A *= 2;&lt;br /&gt;
A = A / 2;  //A /= 2;&lt;br /&gt;
A = A % 2;  //A %= 2;&lt;br /&gt;
&lt;br /&gt;
A = A &amp;lt;&amp;lt; 2; //A &amp;lt;&amp;lt;= 2;&lt;br /&gt;
A = A &amp;gt;&amp;gt; 2; //A &amp;gt;&amp;gt;= 2;&lt;br /&gt;
A = A &amp;amp; 2;  //A &amp;amp;= 2;&lt;br /&gt;
A = A | 2;  //A |= 2;&lt;br /&gt;
A = A ^ 2;  //A ^= 2;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Vyhodnocuje sa sprava doľava.&lt;br /&gt;
&lt;br /&gt;
==Miskuidné operátory==&lt;br /&gt;
&lt;br /&gt;
'''Veľkosť premennej sizeof(x)'''&lt;br /&gt;
Tento operátor vráti počet bajtov, ktoré daný dátový typ zaberá v pamäti RAM.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = sizeof(int); //Zvyčajne vráti hodnotu 4 (závisí od architektúry procesora)&lt;br /&gt;
byte a;&lt;br /&gt;
x = sizeof(a); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
byte b[5];&lt;br /&gt;
x = sizeof(b); //Vráti hodnotu 5, pretože pole b zaberá 5 bajtov&lt;br /&gt;
x = sizeof(b[0]); //Vráti hodnotu 1, pretože byte zaberá iba jeden bajt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Podmienený operátor ? :'''&lt;br /&gt;
Tento operátor najprv zistí, či podmienka pred ? platí. Ak áno, tak vráti hodnotu medzi ? a :, inak vráti hodnotu za : .&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
x = (1 &amp;gt; 2)?5:6; //Vráti hodnotu 6&lt;br /&gt;
x = (1 &amp;lt; 2)?5:6; //Vráti hodnotu 5&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Ostatné operátory'''&lt;br /&gt;
Poznáme ešte dva operátory: referenciu (&amp;amp;) a dereferenciu (*). Tieto operátory sú bližšie vysvetlené v sekii [[Jazyk C - smerník (pointer)]].&lt;br /&gt;
&lt;br /&gt;
==Priorita operátorov==&lt;br /&gt;
&lt;br /&gt;
Tabuľka nižšie zobrazuje prioritu operátorov a smer zápisu v jazyku C.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Prednosť&lt;br /&gt;
! Operátor&lt;br /&gt;
! Popis&lt;br /&gt;
! Zápis&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 1&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - prípona&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| ''()''&lt;br /&gt;
| Volanie funkcie&lt;br /&gt;
|-&lt;br /&gt;
| ''[]''&lt;br /&gt;
| Indexovanie poľa&lt;br /&gt;
|-&lt;br /&gt;
| ''.''&lt;br /&gt;
| Prístup do štruktúry alebo do union&lt;br /&gt;
|-&lt;br /&gt;
| ''-&amp;gt;''&lt;br /&gt;
| Prístup do štruktúry alebo do union cez smerník&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | 2&lt;br /&gt;
| ''++ --''&lt;br /&gt;
| Inkrementácia a dekrementácia - predpona&lt;br /&gt;
| rowspan=&amp;quot;7&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Unárne plus a mínus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''! ~''&lt;br /&gt;
| logické alebo bitové NOT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-style:italic;&amp;quot; | ''(type)''&lt;br /&gt;
| Konverzia dátového typu&lt;br /&gt;
|-&lt;br /&gt;
| ''*''&lt;br /&gt;
| Dereferencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Referencia ([[Jazyk C - smerník (pointer)|smerník]])&lt;br /&gt;
|-&lt;br /&gt;
| ''sizeof''&lt;br /&gt;
| Veľkosť premennej&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| ''* / %''&lt;br /&gt;
| Násobenie, delenie a modulo&lt;br /&gt;
| rowspan=&amp;quot;11&amp;quot; | zľava doprava&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| ''+ -''&lt;br /&gt;
| Súčet, rozdieľ&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| ''&amp;lt;&amp;lt; &amp;gt;&amp;gt;''&lt;br /&gt;
| Bitový posun vľavo a vpravo&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
| ''&amp;lt; &amp;lt;=''&lt;br /&gt;
| Relačný operátor väčšie ako a väčšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;gt; &amp;gt;=''&lt;br /&gt;
| Relačný operátor menšie ako a menšie alebo rovné ako&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| ''== !=''&lt;br /&gt;
| Relačný operátor rovná sa a nerovná sa&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| ''&amp;amp;''&lt;br /&gt;
| Bitový súčin&lt;br /&gt;
|-&lt;br /&gt;
| 9&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;^&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový exkluzívny súčet&lt;br /&gt;
|-&lt;br /&gt;
| 10&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Bitový súčet&lt;br /&gt;
|-&lt;br /&gt;
| 11&lt;br /&gt;
| ''&amp;amp;&amp;amp;''&lt;br /&gt;
| Logický súčin&lt;br /&gt;
|-&lt;br /&gt;
| 12&lt;br /&gt;
| ''&amp;lt;nowiki&amp;gt;||&amp;lt;/nowiki&amp;gt;''&lt;br /&gt;
| Logický súčet&lt;br /&gt;
|-&lt;br /&gt;
| 13&lt;br /&gt;
| ''? :''&lt;br /&gt;
| Ternárna podmienka&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | sprava doľava&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | 14&lt;br /&gt;
| ''=''&lt;br /&gt;
| Priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''+= -=''&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | Operátor a následné priradenie&lt;br /&gt;
|-&lt;br /&gt;
| ''*= /= %=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;lt;&amp;lt;= &amp;gt;&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| ''&amp;amp;= ^= &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;=''&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| '',''&lt;br /&gt;
| Čiarka&lt;br /&gt;
| zľava doprava&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_d%C3%A1tov%C3%A9_typy,_premenn%C3%A9&amp;diff=12709</id>
		<title>Jazyk C - dátové typy, premenné</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_d%C3%A1tov%C3%A9_typy,_premenn%C3%A9&amp;diff=12709"/>
		<updated>2020-05-26T13:24:32Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Automatická premenná */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dátove Typy==&lt;br /&gt;
Typy údajov v jazyku C označujú rozsiahly systém, ich typ premenných sa určuje pri deklaracií a následne sa nedá meniť. Typ premennej určuje, koľko miesta zaberá v úložisku a ako sa interpretuje uložený bitový vzor.&lt;br /&gt;
&lt;br /&gt;
===Základné dátové typy===&lt;br /&gt;
&amp;lt;ref&amp;gt;https://www.geeksforgeeks.org/data-types-in-c/&amp;lt;/ref&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
!Dátovy typ&lt;br /&gt;
!Pamäť&lt;br /&gt;
!Velkosť&lt;br /&gt;
|-&lt;br /&gt;
|char&lt;br /&gt;
|1 byte&lt;br /&gt;
|od -128 do 127 alebo od 0 do 255&lt;br /&gt;
|-&lt;br /&gt;
|unsigned char&lt;br /&gt;
|1 byte&lt;br /&gt;
|od -127 do 128&lt;br /&gt;
|-&lt;br /&gt;
|signed char&lt;br /&gt;
|1 byte&lt;br /&gt;
|od 0 do 255&lt;br /&gt;
|-&lt;br /&gt;
|short int&lt;br /&gt;
|2 byte&lt;br /&gt;
|od -32 768 do 32 767&lt;br /&gt;
|-&lt;br /&gt;
|unsigned short int&lt;br /&gt;
|2 byte&lt;br /&gt;
|od 0 do 62535&lt;br /&gt;
|-&lt;br /&gt;
|unsigned int&lt;br /&gt;
|4 byte&lt;br /&gt;
|od 0 do 4 294 967 295&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|4 byte&lt;br /&gt;
|od -2 147 483 648 &lt;br /&gt;
do 2 147 483 647&lt;br /&gt;
|-&lt;br /&gt;
|long int&lt;br /&gt;
|4 byte&lt;br /&gt;
|od -2 147 483 648&lt;br /&gt;
do 2 147 483 64&lt;br /&gt;
|-&lt;br /&gt;
|unsigned long int&lt;br /&gt;
|4 byte&lt;br /&gt;
|od 0 po 4 294 967 295&lt;br /&gt;
|-&lt;br /&gt;
|long long int&lt;br /&gt;
|8 byte&lt;br /&gt;
|od -(2&amp;lt;sup&amp;gt;63&amp;lt;/sup&amp;gt;) do (2&amp;lt;sup&amp;gt;63&amp;lt;/sup&amp;gt;)-1&lt;br /&gt;
|-&lt;br /&gt;
|unsigned long long int&lt;br /&gt;
|8 byte&lt;br /&gt;
|od 0 do 18,446,744,073,709,551,615&lt;br /&gt;
|-&lt;br /&gt;
|float&lt;br /&gt;
|4 byte&lt;br /&gt;
|od 1.12 x 10&amp;lt;sup&amp;gt;-38&amp;lt;/sup&amp;gt; do 3.4 x 10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|double&lt;br /&gt;
|8 byte&lt;br /&gt;
|od 2.3 x 10&amp;lt;sup&amp;gt;-308&amp;lt;/sup&amp;gt; do 1.8 x 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|long double&lt;br /&gt;
|12 byte&lt;br /&gt;
|od 3.4 x 10&amp;lt;sup&amp;gt;-4932&amp;lt;/sup&amp;gt; do 1.1 x 10&amp;lt;sup&amp;gt;4932&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Integer====&lt;br /&gt;
'''Integer''' je označenie celočíselného dátoveho typu, ktorý predstavuje konečnú podmnožinu celých čísel&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
//súčet 3 čísel&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
int a,b,c,sucet;&lt;br /&gt;
scanf(&amp;quot;%d %d %d&amp;quot;,a,b,c);&lt;br /&gt;
sucet=a+b+c;&lt;br /&gt;
printf(&amp;quot;%d&amp;quot;,sucet);&lt;br /&gt;
&lt;br /&gt;
return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Char====&lt;br /&gt;
'''Char'''(znak) je základný typ údajov v C. Ukladá jeden znak a vyžaduje jediný bajt pamäte takmer vo všetkých kompilátoroch.&lt;br /&gt;
Aby počítač mohol reprezentovať znaky, musí mapovať každé celé číslo zodpovedajúcim znakom pomocou číselného kódu. Najbežnejším číselným kódom je ASCII, čo znamená americký štandardný kód pre výmenu informácií. Nasledujúca tabuľka ilustruje kód ASCII:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ASCII Tabuľka'''&lt;br /&gt;
Hodnoty a význam znakov ASCII(American Standard Code for Information Interchange) tabuľky od 32 po 127&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
! Kód  !! Znak  !! Kód !! Znak !! Kód !! Znak !! Kód !! Znak !!Kód !!Znak !!Kód !!Znak !!Kód !!Znak !!Kód !!Znak&lt;br /&gt;
|-&lt;br /&gt;
| 32 || '''SPACE'''  ||  44  ||  ,  || 56 || 8 || 68 || D || 80 || P || 92 || \ || 104 || h || 116 || t&lt;br /&gt;
|-&lt;br /&gt;
| 33 ||  !  ||  45  ||  -  || 57 || 9 || 69 || E || 81 || Q || 93 || ] || 105 || i || 117 || u &lt;br /&gt;
|-&lt;br /&gt;
| 34 ||  &amp;quot;  ||  46  ||  .  || 58 || : || 70 || F || 82 || R || 94 || ^ || 106 || j || 118 || v &lt;br /&gt;
|-&lt;br /&gt;
| 35 ||  #  ||  47  ||  /  || 59 || ; || 71 || G || 83 || S || 95 || _ || 107 || k || 119 || w &lt;br /&gt;
|-&lt;br /&gt;
| 36 ||  $  ||  48  ||  0  || 60 || &amp;lt; || 72 || H || 84 || T || 96 || ` || 108 || l || 120 || x &lt;br /&gt;
|-&lt;br /&gt;
| 37 ||  %  ||  49  ||  1  || 61 || = || 73 || I || 85 || U || 97 || a || 109 || m || 121 || y &lt;br /&gt;
|-&lt;br /&gt;
| 38 ||  &amp;amp;  ||  50  ||  2  || 62 || &amp;gt; || 74 || J || 86 || V || 98 || b || 110 || n || 122 || z &lt;br /&gt;
|-&lt;br /&gt;
| 39 ||  ´  ||  51  ||  3  || 63 || ? || 75 || K || 87 || W || 99 || c || 111 || o || 123 || { &lt;br /&gt;
|-&lt;br /&gt;
| 40 ||  (  ||  52  ||  4  || 64 || @ || 76 || L || 88 || X || 100 || d|| 112 || p || 124 || |&lt;br /&gt;
|-&lt;br /&gt;
| 41 ||  )  ||  53  ||  5  || 65 || A || 77 || M || 89 || Y || 101 || e|| 113 || q || 125 || } &lt;br /&gt;
|- &lt;br /&gt;
| 42 ||  *  ||  54  ||  6  || 66 || B || 78 || N || 90 || Z || 102 || f|| 114 || r || 126 || ~ &lt;br /&gt;
|-&lt;br /&gt;
| 43 ||  +  ||  55  ||  7  || 67 || C || 79 || O || 91 || [ || 103 || g|| 115 || s || 127 || '''DEL'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Zobrazenie char v jazyku C'''&lt;br /&gt;
&lt;br /&gt;
Ak chcete vypísať znaky v jazyku C, použite funkciu printf () s%. &lt;br /&gt;
Nasledujúci príklad ukazuje, ako zobraziť celočíselnú reprezentáciu znaku v C podla ASCII tabulky&amp;lt;ref&amp;gt;https://www.zentut.com/c-tutorial/c-character-type/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    char ch = 'A';&lt;br /&gt;
    printf(&amp;quot;ch = %c\n&amp;quot;,ch);&lt;br /&gt;
    printf(&amp;quot;ch = %d, prevod na integer\n&amp;quot;,ch);&lt;br /&gt;
 &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Float====&lt;br /&gt;
'''Float''' sa používa na ukladanie desatinných čísel (čísla s hodnotou s desatinnou čiarkou) s presnosťou na 7 desatinných miest. Podľa definície je to základný dátový typ zabudovaný do kompilátora, ktorý sa používa na definovanie číselných hodnôt s desatinnými desatinnými miestami. C, C ++, C # a mnoho ďalších programovacích jazykov rozpoznáva float ako typ údajov.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//Príklad na podiel 2 čísel&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  //Podiel 2 čísel&lt;br /&gt;
  int a,b;&lt;br /&gt;
  float podiel;&lt;br /&gt;
  printf(&amp;quot;vloz cislo 1:&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;,&amp;amp;a); //vložíme číslo 15&lt;br /&gt;
  printf(&amp;quot;vloz cislo 2:&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;,&amp;amp;b); //vložíme číslo 2&lt;br /&gt;
  podiel=a/b;&lt;br /&gt;
  printf(&amp;quot;podiel je:%f&amp;quot;,podiel); //konzola vypíše 7,5&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Double====&lt;br /&gt;
'''Double''' sa používa na ukladanie desatinných čísel (čísla s hodnotou s desatinnou čiarkou) s presnosťou na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
==Premenné==&lt;br /&gt;
&lt;br /&gt;
'''Premenná''' je názov oblasti úložiska, s ktorou môžu naše programy manipulovať. Každá premenná v jazyku C má špecifický typ, ktorý určuje veľkosť a rozloženie pamäte premennej; rozsah hodnôt, ktoré môžu byť uložené v tejto pamäti; a súbor operácií, ktoré možno použiť na premennú.&lt;br /&gt;
&lt;br /&gt;
===Deklarácia premenných===&lt;br /&gt;
&lt;br /&gt;
Pravidlá pre deklarovanie premenných v jazyku C&lt;br /&gt;
*Názov premennej musí začínať písmenom alebo znakom podčiarknutia.&lt;br /&gt;
*U premenných sa rozlišujú malé a veľké písmená&lt;br /&gt;
*Môžu byť obsahovať číslice a písmená.&lt;br /&gt;
*Okrem podčiarknutia nie sú povolené žiadne špeciálne symboly.&lt;br /&gt;
*Premenné by sa mali pred použitím deklarovať v programe C.&lt;br /&gt;
*Pamäťový priestor nie je pri deklarovaní pridelený premennej. Stáva sa to iba pri definícii premennej.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Deklarácia a inicializácia premenných v jazyku C&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obecný tvar deklarácie premennej v C:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
popis typu   deklarované objekty  [=počiatočné hodnoty]&lt;br /&gt;
&lt;br /&gt;
int a=1;&lt;br /&gt;
char o='p';&lt;br /&gt;
double g,j,h;&lt;br /&gt;
float e=2.4e+2,    f=2.2154;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;https://fresh2refresh.com/c-programming/c-variables/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Definícia vs Deklarácia====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definica !! Deklarácia&lt;br /&gt;
|-&lt;br /&gt;
| Definícia alokuje pamäť pre premennú. || Deklarácia hovorí kompilátoru o dátovom type a veľkosti premennej.&lt;br /&gt;
|-&lt;br /&gt;
| Môže sa to stať iba raz pre premennú v programe. || Premennú je možné v programe mnohokrát deklarovať&lt;br /&gt;
|-&lt;br /&gt;
| Priradenie úložného priestoru k premennej. || Priradenie vlastností a identifikácia premennej.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Názov premennej môže pozostávať z písmen, číslic a znaku podčiarknutia. Musí začínať písmenom alebo znakom podčiarknutia. Veľké a malé písmená sú zreteľné, pretože v jazyku C sa rozlišujú malé a veľké písmená. Na základe základných typov vysvetlených v predchádzajúcej kapitole budú nasledovať tieto základné typy premenných&lt;br /&gt;
&lt;br /&gt;
===Typy premenných v jazyku C===&lt;br /&gt;
*Lokálne premenné&lt;br /&gt;
*Globálne premenné&lt;br /&gt;
*Statické premenné&lt;br /&gt;
*Automatické premenné&lt;br /&gt;
*Vonkajšie premenné&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Lokálna premenná====&lt;br /&gt;
&lt;br /&gt;
Premenná, ktorá je deklarovaná vo funkcii alebo bloku, sa nazýva lokálna premenná. &lt;br /&gt;
&lt;br /&gt;
Musí sa uviesť na začiatku bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;void function1()&lt;br /&gt;
{  &lt;br /&gt;
    int x=10;//lokálna premenná  &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Globálna premenná====&lt;br /&gt;
Premenná, ktorá je deklarovaná mimo funkcie alebo blok, sa nazýva globálna premenná. Akákoľvek funkcia môže zmeniť hodnotu globálnej premennej. Je k dispozícii pre všetky funkcie.&lt;br /&gt;
&lt;br /&gt;
Musí sa uviesť na začiatku bloku.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int value=20;//globalná premenná&lt;br /&gt;
void function1(){  &lt;br /&gt;
    int x=10;//lokálna premenná  &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Statická premenná====&lt;br /&gt;
Statické premenné majú tú vlastnosť, že si zachovajú svoju hodnotu aj po tom, ako sú mimo ich rozsah. Preto si statické premenné zachovávajú svoju predchádzajúcu hodnotu v ich predchádzajúcom rozsahu a nie sú znovu inicializované v novom.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
static data_type var_name = var_value; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Počas chodu programu zostáva statická premenná int v pamäti. Automatická premenná zanikne keď sa skončí volanie funkcie kde bola deklarovaná.&lt;br /&gt;
&lt;br /&gt;
Napríklad statickú premennú int môžeme použiť na spočítanie koľko krát bola funkcia volaná, v tomto prípade by sme nemohli použiť automatickú premennú.&lt;br /&gt;
Tento program vypíše &amp;quot;1 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt; &lt;br /&gt;
int fun() &lt;br /&gt;
{ &lt;br /&gt;
  static int count = 0; &lt;br /&gt;
  count++; &lt;br /&gt;
  return count; &lt;br /&gt;
} &lt;br /&gt;
   &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  printf(&amp;quot;%d &amp;quot;, fun()); // vypíše 1 &lt;br /&gt;
  printf(&amp;quot;%d &amp;quot;, fun()); // vypíše 2&lt;br /&gt;
  return 0; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nasledujúci program vypíše &amp;quot;1 1&amp;quot;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt; &lt;br /&gt;
int fun() &lt;br /&gt;
{ &lt;br /&gt;
  int count = 0; &lt;br /&gt;
  count++; &lt;br /&gt;
  return count; &lt;br /&gt;
} &lt;br /&gt;
   &lt;br /&gt;
int main() &lt;br /&gt;
{ &lt;br /&gt;
  printf(&amp;quot;%d &amp;quot;, fun()); //vypíše 1&lt;br /&gt;
  printf(&amp;quot;%d &amp;quot;, fun()); //vypíše 1&lt;br /&gt;
  return 0; &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Statické premenné sú alokované pamäte v segmente údajov, nie v segmente zásobníkov. &lt;br /&gt;
*Statické premenné sú inicializované ako 0, ak nie sú inicializované explicitne.&lt;br /&gt;
*V C môžu byť statické premenné inicializované iba pomocou konštanty.&lt;br /&gt;
*Statické globálne premenné a funkcie je tiež možné vytvoriť v C/C++. Ich účelom je obmedziť rozsah premennej alebo funckie.&lt;br /&gt;
*Statické premenné by sa nemali deklarovať vo vnútri štruktúry. Dôvodom je, že kompilátor C vyžaduje, aby boli všetky prvky štruktúry umiestnené spolu.&lt;br /&gt;
&lt;br /&gt;
====Automatická premenná====&lt;br /&gt;
&lt;br /&gt;
Toto je predvolená trieda úložiska pre všetky premenné deklarované vo funkcii alebo bloku. Pri písaní programov v jazyku C sa preto kľúčové slovo auto používa zriedka. K automatickým premenným sa dá pristupovať iba v rámci bloku / funkcie, ktoré boli deklarované, a nie mimo nich. Prístup k nim je samozrejme možný vo vnútri vnorených blokov funkcie, v ktorej bola deklarovaná automatická premenná.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
void main(){  &lt;br /&gt;
    int x=10;//lokálna premenná (tiež automatická)  &lt;br /&gt;
    auto int y=20;//automatická premenná  &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Vonkajšia premenná====&lt;br /&gt;
Môžeme zdieľať premennú vo viacerých zdrojových súboroch C pomocou externej premennej. Ak chcete deklarovať externú premennú, musíte použiť externé kľúčové slovo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''mojsubor.h''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
extern int x=10;//externá premenná (tiež globálna)  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''program1.c''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;mojsubor.h&amp;quot;  &lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;  &lt;br /&gt;
void printValue(){  &lt;br /&gt;
    printf(&amp;quot;Global variable: %d&amp;quot;, global_variable);  &lt;br /&gt;
}  &lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;ref&amp;gt;https://www.javatpoint.com/variables-in-c&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12696</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12696"/>
		<updated>2020-05-26T13:16:23Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametrizované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny dátum ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) ((x)*(x))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) ((a)*(a)*(a))&lt;br /&gt;
#define VALEC(v,p) (PI*(p)*(p)*(v))&lt;br /&gt;
#define GULA(r)  (4/3*PI*(r)*(r)*(r))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
Zápis makra ako je uvedené na nasledujúcom príklade je chybné, pretože pri dosadení parametrov môže nastať chybná interpretácia:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) a*a*a&lt;br /&gt;
// pouzitie&lt;br /&gt;
cout&amp;lt;&amp;lt; KOCKA(5-4);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Makro KOCKA sa interpretuje ako:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
  5-4*5-4*5-4&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A tento výraz má hodnotu: 5-20-20-4=-39, čo je chyba.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12693</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12693"/>
		<updated>2020-05-26T13:12:22Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametrizované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny dátum ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) (x*x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) ((a)*(a)*(a))&lt;br /&gt;
#define VALEC(v,p) (PI*(p)*(p)*(v))&lt;br /&gt;
#define GULA(r)  (4/3*PI*(r)*(r)*(r))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12692</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12692"/>
		<updated>2020-05-26T13:11:45Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametrizované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny dátum ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) (x*x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) ((a)*(a)*(a))&lt;br /&gt;
#define VALEC(v,p) (PI*(p)*(p)*(v))&lt;br /&gt;
#define GULA(r)  (4/3*PI*(r)*(r)*(r))&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12691</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12691"/>
		<updated>2020-05-26T13:11:06Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametrizované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny dátum ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) (x*x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) ((a)*(a)*(a))&lt;br /&gt;
#define VALEC(v,p) (PI*(p)*(p)*(v))&lt;br /&gt;
#define GULA(r)  (4*PI/3*(r)*(r)*(r))&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12685</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12685"/>
		<updated>2020-05-26T07:55:24Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Preddefinované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny dátum ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) (x*x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) (a*a*a)&lt;br /&gt;
#define VALEC(v,p) (PI*p*p*v)&lt;br /&gt;
#define GULA(r)  (4*PI/3*r*r*r)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12684</id>
		<title>Jazyk C - príkazy preprocesora</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_-_pr%C3%ADkazy_preprocesora&amp;diff=12684"/>
		<updated>2020-05-26T07:55:00Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Preddefinované makrá */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==Príkazy preprocesora &amp;lt;ref&amp;gt; http://people.tuke.sk/igor.podlubny/C/Kap2.htm#vkladanie &amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkazy preprocesora umožňujú vkladanie a  skladanie textu z rôznych súborov, podmienený preklad a definíciu symbolických konštánt a makier.&lt;br /&gt;
Každý príkaz pre preprocesor sa začína znakom #, za ktorým nasleduje príkaz a jeho parametre.&lt;br /&gt;
&lt;br /&gt;
V nasledujúcej časti sú vymenované všetky dôležité makrá.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! Popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || #define || Definuje makro procesora.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || #include  || Vloží konkrétnu hlavičku z iného súboru.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || #undef || Zruší definiciu makra predprocesora.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || #ifdef  || Vráti true, ak je toto makro definované.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || #ifndef || Vráti true, ak toto makro nie je definované.&lt;br /&gt;
|-&lt;br /&gt;
| 6 || #if || Testuje, či je splnená podmienka.&lt;br /&gt;
|-&lt;br /&gt;
| 7 || #else || Vykoná sa ak neplatí podmienka if.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || #elif || Vykoná sa ak neplatí podmienka if a zároveň obsahuje ďalšiu podmienku.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || #endif || Ukončí podmieneneneho spracovania (použiva sa len s if ).&lt;br /&gt;
|-&lt;br /&gt;
| 10 || #error || Vypíše chybové hlásenie na stderr.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || #pragma || Vydáva špeciálne príkazy kompilátoru pomocou štandardizovanej metódy.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Definícia symbolických konštánt a makier &amp;lt;ref&amp;gt;https://www.tutorialspoint.com/cprogramming/c_preprocessors.htm&amp;lt;/ref&amp;gt;==&lt;br /&gt;
Príkaz na definíciu symbolických konštánt má tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define NAME konštantný_výraz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Kde NAME je názov symbolickej konštanty a konštantný_výraz je hodnota, ktorú symbolická konštanta nadobúda.&lt;br /&gt;
Príklad symbolickej konštanty:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define MAX 100&lt;br /&gt;
#define LINE 80&lt;br /&gt;
#define PI 3.14&lt;br /&gt;
#define NAME1 Pavel&lt;br /&gt;
#define NAME2 &amp;quot;Peter&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvé tri sú číselné symbolické konštanty. MAX nadobudne hodnotu 100, LINE hodnotu 80, PI 3,14. NAME1 je znaková konštanta s hodnotou Pavel (všade namiesto NAME1 sa dosadí Pavel), NAME2 je reťazec &amp;quot;Peter&amp;quot;.&lt;br /&gt;
Symbolické konštanty sa používajú napríklad na definovanie polí z konštantnou veľkostnou napr: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define M 10&lt;br /&gt;
#define N 5&lt;br /&gt;
...&lt;br /&gt;
int a[M];&lt;br /&gt;
float b[N], c[M][N];&lt;br /&gt;
char d[M+1];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Vkladanie textu==&lt;br /&gt;
Príkaz na vkladanie textu #include [meno súboru] spôsobí vloženie obsahu súboru &amp;quot;meno súboru&amp;quot; pred prekladom do zdrojového súboru, v ktorom sa vyššie uvedený príkaz nachádza.&lt;br /&gt;
To umožňuje vkladanie tak systémových súborov (tzv. hlavičkových súborov, s príponou .h, napr. &amp;lt;stdio.h&amp;gt;), ako aj vlastných užívateľských súborov, čo predstavuje jednu z možností modulárnej výstavby programu.Príkaz na vloženie môže mať dva tvary (v prvom prípade je názov súboru uvedený v lomených zátvorkách, v druhom prípade v dvojitých úvodzovkách):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;file.h&amp;gt;&lt;br /&gt;
#include &amp;quot;path_file&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prvý tvar sa používa pre vkladanie systémových súborov, ktoré sú uložené v príslušnom systémovom podadresári (INCLUDE).Všetky štandardné funkcie, konštanty a makrá v jazyku C sú deklasované v takýchto súboroch. Pri popise danej funkcie je vždy uvedená adresár v ktorom sa daná funkcia nachádza. Vloženie daného súboru umožňuje kompilátoru kontrolu správnosti volania štandardnej funkcie.&lt;br /&gt;
Druhý tvar sa používa pre vkladanie užívateľských súborov, pričom sa prehľadáva aktuálny adresár, resp. adresár, uvedený v špecifikácii vkladaného súboru.&lt;br /&gt;
&lt;br /&gt;
==Podmienený preklad==&lt;br /&gt;
Príkazy pre podmienený preklad majú tvar:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#undef  FILE_SIZE&lt;br /&gt;
#define FILE_SIZE 42&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Tieto príkazy povedia preprocesoru aby nedefinoval existujúci FILE_SIZE a definuj ho ako FILE_SIZE s hodnotou 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef SPRAVA&lt;br /&gt;
   #define SPRAVA &amp;quot;Čo potrebuješ?&amp;quot;&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Povie CPP, aby definoval SPRAVA , iba ak SPRAVA ešte nie je definovaná.&lt;br /&gt;
Každý z príkazov #if, #ifdef, resp. #ifndef musí byť ukončený príkazom #endif.&lt;br /&gt;
&lt;br /&gt;
==Preddefinované makrá==&lt;br /&gt;
ANSI C definuje niekoľko makier. Aj keď je každé z nich k dispozícii na použitie v programovaní, preddefinované makrá by sa nemali priamo upravovať.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&lt;br /&gt;
|-&lt;br /&gt;
! !! Makro !! popis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || __DATE__ || Aktuálny date ako znakový literál vo formáte „MMM DD RRRR“.&lt;br /&gt;
|-&lt;br /&gt;
| 2 || __TIME__  || Aktuálny čas ako znakový literál vo formáte „HH: MM: SS“.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || __FILE__ || Toto obsahuje aktuálny názov súboru ako reťazcový literál.&lt;br /&gt;
|-&lt;br /&gt;
| 4 || __LINE__ || Toto obsahuje aktuálne číslo riadku ako desatinnú konštantu.&lt;br /&gt;
|-&lt;br /&gt;
| 5 || __STDC__ || Definovaný ako 1, keď kompilátor vyhovuje štandardu ANSI.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Vyskúšajte nasledujúci príklad -&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;File :%s\n&amp;quot;, __FILE__ );&lt;br /&gt;
   printf(&amp;quot;Date :%s\n&amp;quot;, __DATE__ );&lt;br /&gt;
   printf(&amp;quot;Time :%s\n&amp;quot;, __TIME__ );&lt;br /&gt;
   printf(&amp;quot;Line :%d\n&amp;quot;, __LINE__ );&lt;br /&gt;
   printf(&amp;quot;ANSI :%d\n&amp;quot;, __STDC__ );&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Po skompilovaní a spustení vyššie uvedeného kódu v súbore test.c sa získa nasledujúci výsledok -&lt;br /&gt;
 File :test.c&lt;br /&gt;
 Date :Jun 2 2012&lt;br /&gt;
 Time :03:36:24&lt;br /&gt;
 Line :8&lt;br /&gt;
 ANSI :1&lt;br /&gt;
&lt;br /&gt;
==Parametrizované makrá==&lt;br /&gt;
Na výpočet obsahu štvorca môžeme použiť napr. nasledovnú funkciu: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int štvorec(int x) {&lt;br /&gt;
   return x * x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Táto funkcia nám načíta rozmer štvorca x a vráti nám jeho obsah. Avšak túto funkciu môžme nahradiť nasledovným makrom:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define štvorec(x) (x*x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definícia makra spočíva v pridaní jedného či viacerých parametrov k názvu symbolickej konštanty (symbolickú konštantu je možné pokladať za makro bez parametrov) a doplnení výrazu pre jeho výpočet napr:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#define KOCKA(a) (a*a*a)&lt;br /&gt;
#define VALEC(v,p) (PI*p*p*v)&lt;br /&gt;
#define GULA(r)  (4*PI/3*r*r*r)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uvedené makrá slúžia pre výpočet objemu príslušných geometrických telies. Identifikátory v hlavičke makra a, v, p, r predstavujú formálne parametre, ktoré sú pri vyvolaní makra textovo nahradené skutočnými. Počet formálnych a skutočných parametrov musí byť rovnaký. Poradie vykonávania jednotlivých operácií v rámci makra možno riadiť zátvorkami.&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12682</id>
		<title>Algoritmus</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12682"/>
		<updated>2020-05-26T07:52:16Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Vlasnosti algoritmu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Algoritmus&amp;lt;/big&amp;gt;==&lt;br /&gt;
'''Algoritmus''' znamená proces alebo súbor pravidiel ktoré sa majú dodržiavať pri operáciach alebo riešení problémov. Algoritmus sa preto týka súboru pravidiel,pokynov ktoré postupne definujú, ako sa má práca vykonať, aby sa dosiahli očakávané výsledky.&amp;lt;ref&amp;gt;&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Práca počítača je presne determinovaná. Počítač je absolútne neiniciatívny a všetko, čo chceme, aby urobil mu musíme nariadiť. Prácu počítaču nariaďujeme programom. K tomu aby sme mohli program zostaviť potrebujeme vytvoriť postupnosť krokov, ktorá v každom okamihu určuje ako postupovať ďalej, tzv. algoritmus. Jedna z definícií algoritmu hovorí, že algoritmus je presný popis definujúci výpočtový proces, vedúci od meniteľných vstupných údajov až k žiadaným výsledkom. Táto definícia síce presne vystihuje podstatu a účel algoritmu, je však úzko špecializovaná Obmedzuje sa len na výpočtový proces. Algoritmy však nepoužívame len pri počítačoch pri príprave programov, ale ich použitie je všeobecné. Pomocou algoritmu totiž môžeme presne definovať akýkoľvek determinovaný proces. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Univerzalny algoritmus.png|none|240px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navrhnutý algoritmus je nezávislý od jazyka, tzn. že ide iba o jednoduché pokyny, ktoré je možné implementovať v akomkoľvek jazyku, a napriek tomu bude výstup rovnaký, ako sa očakávalo.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Vlasnosti algoritmu&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
;Jasný a jednoznačný: Každý z jeho krokov by mal byť jasný vo všetkých aspektoch a musí viesť iba k jednému významu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Dobre definované vstupy: Algoritmus zvyčajne pracuje s nejakými vstupmi, veličinami, ktoré sú mu odovzdané pred začatím jeho vykonávania, alebo v priebehu jeho činnosti. Vstupy majú definované množiny hodnôt, ktoré môžu nadobúdať.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Efektivita: Všeobecne požadujeme, aby algoritmus bol efektívny, v tom zmysle, že požadujeme, aby každá operácia požadovaná algoritmom, bola dostatočne jednoduchá na to, aby mohla byť aspoň v princípe prevedená v konečnom čase iba s použitím ceruzky a papiera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Všeobecnosť: Algoritmus nerieši jeden konkrétny problém (napr. „ako vypočítať 3×7“), ale rieši všeobecnú triedu obdobných problémov (napr. „ako vypočítať súčin dvoch celých čísel“ &amp;lt;ref&amp;gt;https://spseke.sk/tutor/projekt/algoritmy.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Riešenie problému pomocou algorimtu==&lt;br /&gt;
'''1.''' Problém, ktorý má tento algoritmus vyriešiť.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Obmedzenia problému, ktoré je potrebné zohľadniť pri jeho riešení.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Vstup, ktorý sa má prijať na vyriešenie problému.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Výstup, ktorý možno očakávať, keď sa problém vyrieši.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Riešenie tohto problému v daných obmedzeniach.&amp;lt;ref&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Značky vývojových diagramov==&lt;br /&gt;
[[Súbor:začiatok.png|100px|none]] Značka sa využíva na začatie alebo ukončenie vývojového diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram.png|100px|none]] Výkonný blok na program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Vstuo.png|100px|none]] Služi na zápis vstup a výstupov vývojoveého diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram (3).png|160px|none]] Rozhodovací blok s jedným vstupom a viacerými výstupmi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojka.png|none|30px]]  Spojka&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojnica.png|none|160px]]  Spojnica&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
'''Príklady''' na tvorbu vývojových diagramov nájdete v sekcií:&lt;br /&gt;
[http://www.kiwiki.info/index.php/Jazyk_C_(príklady)_-_Algoritmy[Príklady algoritmus]]&lt;br /&gt;
&lt;br /&gt;
=Referencie=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12681</id>
		<title>Algoritmus</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12681"/>
		<updated>2020-05-26T07:52:03Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Vlasnosti algoritmu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Algoritmus&amp;lt;/big&amp;gt;==&lt;br /&gt;
'''Algoritmus''' znamená proces alebo súbor pravidiel ktoré sa majú dodržiavať pri operáciach alebo riešení problémov. Algoritmus sa preto týka súboru pravidiel,pokynov ktoré postupne definujú, ako sa má práca vykonať, aby sa dosiahli očakávané výsledky.&amp;lt;ref&amp;gt;&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Práca počítača je presne determinovaná. Počítač je absolútne neiniciatívny a všetko, čo chceme, aby urobil mu musíme nariadiť. Prácu počítaču nariaďujeme programom. K tomu aby sme mohli program zostaviť potrebujeme vytvoriť postupnosť krokov, ktorá v každom okamihu určuje ako postupovať ďalej, tzv. algoritmus. Jedna z definícií algoritmu hovorí, že algoritmus je presný popis definujúci výpočtový proces, vedúci od meniteľných vstupných údajov až k žiadaným výsledkom. Táto definícia síce presne vystihuje podstatu a účel algoritmu, je však úzko špecializovaná Obmedzuje sa len na výpočtový proces. Algoritmy však nepoužívame len pri počítačoch pri príprave programov, ale ich použitie je všeobecné. Pomocou algoritmu totiž môžeme presne definovať akýkoľvek determinovaný proces. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Univerzalny algoritmus.png|none|240px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navrhnutý algoritmus je nezávislý od jazyka, tzn. že ide iba o jednoduché pokyny, ktoré je možné implementovať v akomkoľvek jazyku, a napriek tomu bude výstup rovnaký, ako sa očakávalo.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Vlasnosti algoritmu&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
;Jasný a jednoznačný: Každý z jeho krokov by mal byť jasný vo všetkých aspektoch a musí viesť iba k jednému významu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Dobre definované vstupy: Algoritmus zvyčajne pracuje s nejakými vstupmi, veličinami, ktoré sú mu odovzdané pred začatím jeho vykonávania, alebo v priebehu jeho činnosti.&lt;br /&gt;
Vstupy majú definované množiny hodnôt, ktoré môžu nadobúdať.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Efektivita: Všeobecne požadujeme, aby algoritmus bol efektívny, v tom zmysle, že požadujeme, aby každá operácia požadovaná algoritmom,&lt;br /&gt;
bola dostatočne jednoduchá na to, aby mohla byť aspoň v princípe prevedená v konečnom čase iba s použitím ceruzky a papiera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Všeobecnosť: Algoritmus nerieši jeden konkrétny problém (napr. „ako vypočítať 3×7“), ale rieši všeobecnú triedu obdobných problémov (napr. „ako vypočítať súčin dvoch celých čísel“ &amp;lt;ref&amp;gt;https://spseke.sk/tutor/projekt/algoritmy.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Riešenie problému pomocou algorimtu==&lt;br /&gt;
'''1.''' Problém, ktorý má tento algoritmus vyriešiť.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Obmedzenia problému, ktoré je potrebné zohľadniť pri jeho riešení.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Vstup, ktorý sa má prijať na vyriešenie problému.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Výstup, ktorý možno očakávať, keď sa problém vyrieši.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Riešenie tohto problému v daných obmedzeniach.&amp;lt;ref&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Značky vývojových diagramov==&lt;br /&gt;
[[Súbor:začiatok.png|100px|none]] Značka sa využíva na začatie alebo ukončenie vývojového diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram.png|100px|none]] Výkonný blok na program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Vstuo.png|100px|none]] Služi na zápis vstup a výstupov vývojoveého diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram (3).png|160px|none]] Rozhodovací blok s jedným vstupom a viacerými výstupmi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojka.png|none|30px]]  Spojka&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojnica.png|none|160px]]  Spojnica&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
'''Príklady''' na tvorbu vývojových diagramov nájdete v sekcií:&lt;br /&gt;
[http://www.kiwiki.info/index.php/Jazyk_C_(príklady)_-_Algoritmy[Príklady algoritmus]]&lt;br /&gt;
&lt;br /&gt;
=Referencie=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12680</id>
		<title>Algoritmus</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Algoritmus&amp;diff=12680"/>
		<updated>2020-05-26T07:51:48Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Vlasnosti algoritmu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Skripta_ZI}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Algoritmus&amp;lt;/big&amp;gt;==&lt;br /&gt;
'''Algoritmus''' znamená proces alebo súbor pravidiel ktoré sa majú dodržiavať pri operáciach alebo riešení problémov. Algoritmus sa preto týka súboru pravidiel,pokynov ktoré postupne definujú, ako sa má práca vykonať, aby sa dosiahli očakávané výsledky.&amp;lt;ref&amp;gt;&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Práca počítača je presne determinovaná. Počítač je absolútne neiniciatívny a všetko, čo chceme, aby urobil mu musíme nariadiť. Prácu počítaču nariaďujeme programom. K tomu aby sme mohli program zostaviť potrebujeme vytvoriť postupnosť krokov, ktorá v každom okamihu určuje ako postupovať ďalej, tzv. algoritmus. Jedna z definícií algoritmu hovorí, že algoritmus je presný popis definujúci výpočtový proces, vedúci od meniteľných vstupných údajov až k žiadaným výsledkom. Táto definícia síce presne vystihuje podstatu a účel algoritmu, je však úzko špecializovaná Obmedzuje sa len na výpočtový proces. Algoritmy však nepoužívame len pri počítačoch pri príprave programov, ale ich použitie je všeobecné. Pomocou algoritmu totiž môžeme presne definovať akýkoľvek determinovaný proces. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Univerzalny algoritmus.png|none|240px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navrhnutý algoritmus je nezávislý od jazyka, tzn. že ide iba o jednoduché pokyny, ktoré je možné implementovať v akomkoľvek jazyku, a napriek tomu bude výstup rovnaký, ako sa očakávalo.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Vlasnosti algoritmu&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
;Jasný a jednoznačný: Každý z jeho krokov by mal byť jasný vo všetkých aspektoch a musí viesť iba k jednému významu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Dobre definované vstupy: Algoritmus zvyčajne pracuje s nejakými vstupmi, veličinami, ktoré sú mu odovzdané pred začatím jeho vykonávania, alebo v priebehu jeho činnosti.&lt;br /&gt;
Vstupy majú definované množiny hodnôt, ktoré môžu nadobúdať.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Efektivita: Všeobecne požadujeme, aby algoritmus bol efektívny, v tom zmysle, že požadujeme, aby každá operácia požadovaná algoritmom,&lt;br /&gt;
bola dostatočne jednoduchá na to, aby mohla byť aspoň v princípe prevedená v konečnom čase iba s použitím ceruzky a papiera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Všeobecnosť: Algoritmus nerieši jeden konkrétny problém (napr. „ako vypočítať 3×7“), ale rieši všeobecnú triedu obdobných problémov (napr. „ako vypočítať súčin dvoch celých čísel“).&lt;br /&gt;
&amp;lt;ref&amp;gt;https://spseke.sk/tutor/projekt/algoritmy.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Riešenie problému pomocou algorimtu==&lt;br /&gt;
'''1.''' Problém, ktorý má tento algoritmus vyriešiť.&lt;br /&gt;
&lt;br /&gt;
'''2.''' Obmedzenia problému, ktoré je potrebné zohľadniť pri jeho riešení.&lt;br /&gt;
&lt;br /&gt;
'''3.''' Vstup, ktorý sa má prijať na vyriešenie problému.&lt;br /&gt;
&lt;br /&gt;
'''4.''' Výstup, ktorý možno očakávať, keď sa problém vyrieši.&lt;br /&gt;
&lt;br /&gt;
'''5.''' Riešenie tohto problému v daných obmedzeniach.&amp;lt;ref&amp;gt;https://www.geeksforgeeks.org/introduction-to-algorithms/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Značky vývojových diagramov==&lt;br /&gt;
[[Súbor:začiatok.png|100px|none]] Značka sa využíva na začatie alebo ukončenie vývojového diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram.png|100px|none]] Výkonný blok na program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Vstuo.png|100px|none]] Služi na zápis vstup a výstupov vývojoveého diagramu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Untitled Diagram (3).png|160px|none]] Rozhodovací blok s jedným vstupom a viacerými výstupmi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojka.png|none|30px]]  Spojka&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:Spojnica.png|none|160px]]  Spojnica&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
'''Príklady''' na tvorbu vývojových diagramov nájdete v sekcií:&lt;br /&gt;
[http://www.kiwiki.info/index.php/Jazyk_C_(príklady)_-_Algoritmy[Príklady algoritmus]]&lt;br /&gt;
&lt;br /&gt;
=Referencie=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_S%C3%BAbor&amp;diff=12678</id>
		<title>Jazyk C (príklady) - Súbor</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_S%C3%BAbor&amp;diff=12678"/>
		<updated>2020-05-26T07:47:51Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* fopen, fclose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto časti bude ukázaná práca so súbormi v jazyku C. Pre prácu so súborom budeme používať funkcie pre prácu so štandardným vstupom­/výstupom definovanými v knižninci stdio.h. Pre zvládnutie týchto príkladov sa predpokladá znalosť funkcií fopen, fclose, fprintf, fscanf, feof, putc, getc a práca s dátovým typom FILE*.&lt;br /&gt;
&lt;br /&gt;
===FILE===&lt;br /&gt;
Dátový typ FILE sa používa na identifikovanie súboru, s ktorým budeme pracovať. Tento dátový typ sa nikdy neoužíva priamo (napr: FILE subor0;), ale vždy sa používa premenná typu ukazovateľ na súbor: FILE *subor;. S premennou subor sa potom robia všetky operácie so súborom (otvorenie, zápis, čítanie, zatvorenie).&lt;br /&gt;
&lt;br /&gt;
===fopen, fclose===&lt;br /&gt;
;Otvorenie súboru: FILE *fopen(&amp;quot;nazov_suboru&amp;quot;,mod);&lt;br /&gt;
Funkcia fopen má 2 argumenty: prvý argument je názov súboru, ktorý chceme otvoriť. Názov súboru môže obsahovať relatívnu alebo absulútnu cestu k súboru. Druhý argument je (textový reťazec) mód otvorenia súboru: &amp;quot;r&amp;quot; – na čítanie, &amp;quot;w&amp;quot; – na zápis, &amp;quot;a&amp;quot; – pridávanie na koniec súboru. Funkcia vracia ukazateľ na premennú typu FILE. Premenná typu FILE obsahuje informácie o otváranom súbore ako sú: deskriptor súboru, stavové príznaky, veľkosť buffera, … Ak sa súbor podarilo otvoriť, fopen vráti ukazovateľ na otvorený súbor, v opačnom prípade vráti konštantu NULL.&lt;br /&gt;
&lt;br /&gt;
;Zatvorenie súboru: int fclose(FILE *fp); Argument funkcie fclose je ukazovateľ na otvorený súbor. Ak sa súbor podarí zatvoriť, funkcia vráti 0, v opačnom prípade vráti konštantu EOF.&lt;br /&gt;
&lt;br /&gt;
===Vstup/výstup znaku===&lt;br /&gt;
int getc(FILE *stream);&lt;br /&gt;
Funkcia getc vracia prečítaný znak zo súboru identifikovaným ukazovateľom stream.&lt;br /&gt;
int putc(int c,FILE *stream);&lt;br /&gt;
Funkcie putc zapíše znak c do súboru identifikovaným ukazovateľom na otvorený súbor stream.&lt;br /&gt;
&lt;br /&gt;
===Formátovaný vstup/výstup===&lt;br /&gt;
Funkcie pre formátovaný vstup/výstup (fprintf, fscanf) majú rovnaké použitie ako funkcie printf a scanf. Jediný rozdiel v použití je pridanie prvého argumentu do funkcie (FILE *stream), ktorý nám určuje, s ktorým súborom budeme pracovať.&lt;br /&gt;
int fprintf(FILE *stream,char *format,arg1,arg2,...,argn);&lt;br /&gt;
int fscanf(FILE *stream,char *format, &amp;amp;arg1,&amp;amp;arg2,...,&amp;amp;argn);&lt;br /&gt;
&lt;br /&gt;
==Programy==&lt;br /&gt;
===Čítanie po slovách===&lt;br /&gt;
;Zadanie: V textovom súbore data.txt je uložený nejaký text. Vytvorte program, ktorý tento text vypíše na monitor. Ak sa súbor nepodarí otvoriť, vypíšte chybové hlásenie a program ukončite.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Úloha je jednoduchá, stačí zo súboru postupne čítať slová a vypisovať ich na monitor. Zo súboru budeme čítať, pokiaľ nenarazíme na koniec súboru.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    FILE *fp;&lt;br /&gt;
    char c[20];&lt;br /&gt;
    fp = fopen(&amp;quot;data.txt&amp;quot;,&amp;quot;r&amp;quot;);  // subor, z ktoreho budem citat&lt;br /&gt;
    if(fp == NULL)&lt;br /&gt;
    printf(&amp;quot;Subor data.txt neexistuje\n&amp;quot;);&lt;br /&gt;
    else  // ak subor existuje&lt;br /&gt;
    {&lt;br /&gt;
        do  // v cykle&lt;br /&gt;
        {&lt;br /&gt;
            fscanf(fp,&amp;quot;%s&amp;quot;,c); // citaj retazce po slovach&lt;br /&gt;
            printf(&amp;quot;%s &amp;quot;,c);  // a vypis na monitor&lt;br /&gt;
        } while (!feof(fp));  // pokial nenarazis na koniec suboru&lt;br /&gt;
        fclose(fp);  // nakoniec zatvor subor&lt;br /&gt;
    }    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Počet viet v súbore===&lt;br /&gt;
;Zadanie: V textovom súbore data.txt je uložený nejaký text. Vytvorte program, ktorý zistí koľko je v súbore viet.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Ak budeme predpokladať, že za každou vetou je bodka, potom počet viet je zhodný s počtom bodiek. V tomto prípade sa čítanie po slovách neukazuje vhodné. Budeme čítať po znakoch a budeme počítať všetky výskyty bodiek.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    FILE *fp;&lt;br /&gt;
    int vety=0;&lt;br /&gt;
    char c;&lt;br /&gt;
    fp = fopen(&amp;quot;data.txt&amp;quot;,&amp;quot;r&amp;quot;);&lt;br /&gt;
    if (fp == NULL) printf(&amp;quot;Subor data.txt neexistuje\n&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        do&lt;br /&gt;
        {&lt;br /&gt;
            c = getc(fp);  //precita jeden znak zo suboru&lt;br /&gt;
            if(c=='.')&lt;br /&gt;
                vety++;&lt;br /&gt;
        } while (c != EOF);  // opakuj cyklus pokial sa nenarazi na koniec suboru&lt;br /&gt;
        fclose(fp);&lt;br /&gt;
        printf(&amp;quot;V subore je %d viet&amp;quot;,vety);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tlač súboru===&lt;br /&gt;
;Zadanie: V textovom súbore je uložený nejaký text. Vytvorte program, ktorý vytlačí tento súbor (odošle ho na tlačiareň). Program sa spýta na názov súboru. Po zadaní názvu súboru, tento vytlačí.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Zo súboru budeme čítať po znaku, pokiaľ nenarazíme na koniec súboru. Prečítaný znak ihneď odošleme na tlačiareň. Tlačiareň si možno predstaviť ako jednoduchý textový súbor, do ktorého budeme zapisovať. Jediná vec, čím sa líši od textového súboru je špeciálny názov tlačiarne. V prostredí Windows má tlačiareň názov $LPT. Tento súbor si otvoríme na zápis a budeme doňho zapisovať. To, čo tam zapíšeme, sa vytlačí.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main(void)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    FILE *fp,*printer;&lt;br /&gt;
    char filename[25];&lt;br /&gt;
    char c;&lt;br /&gt;
    printf(&amp;quot;Zadaj nazov suboru: &amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;,filename);&lt;br /&gt;
    fp = fopen(filename,&amp;quot;r&amp;quot;);&lt;br /&gt;
    printer=fopen(&amp;quot;$LPT&amp;quot;,&amp;quot;w&amp;quot;);&lt;br /&gt;
    /*  printer=fopen(&amp;quot;PRN&amp;quot;,&amp;quot;w&amp;quot;); pre DOS  */&lt;br /&gt;
    if (fp == NULL) printf(&amp;quot;Zadany subor (%s) neexistuje\n&amp;quot;,filename);&lt;br /&gt;
    else if (printer==NULL)printf(&amp;quot;Tlaciaren neexistuje\n&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
        c = fgetc(fp);  /* nacitaj 1 znak zo suboru */&lt;br /&gt;
        if (c != EOF)&lt;br /&gt;
        {&lt;br /&gt;
            putchar(c);&lt;br /&gt;
            putc(c,printer);&lt;br /&gt;
        }&lt;br /&gt;
    } while (c != EOF);  /* opakuje az po koniec suboru */&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    fclose(fp);&lt;br /&gt;
    fclose(printer);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Kopírovanie súboru===&lt;br /&gt;
;Zadanie: Vytvorte program, ktorý skopíruje obsah jedného súboru do druhého súboru. Názvy súborov načítajte v programe z klávesnice. Pri kopírovaní zmeňte všetky malé písmená na veľké.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Zo súboru budeme čítať po slovách (mohli by sme aj po znakoch) a každé prečítané slovo skonvertujeme na slovo s veľkými písmenami. Na toto nám poslúži funkcia strupr definovaná v knižnici string.h, ktorá skonvertuje malé písmená na veľké. Funkcia strupr vracia ukazovateľ na char, preto si musíme definovať pomocnú premennú (char *slovo_upr;), v ktorej bude slovo skonvertované na veľké písmená.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    FILE *f1,*f2;&lt;br /&gt;
    int c;&lt;br /&gt;
    char zdroj[20],ciel[20];&lt;br /&gt;
    printf(&amp;quot;\nZadaj nazov zdrojoveho suboru: &amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;,zdroj);&lt;br /&gt;
    printf(&amp;quot;\nZadaj nazov cieloveho suboru: &amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;,ciel);&lt;br /&gt;
    f1 = fopen(zdroj,&amp;quot;r&amp;quot;);  // subor z ktoreho budem citat&lt;br /&gt;
    f2 = fopen(ciel,&amp;quot;w&amp;quot;);  // subor zo ktoreho budem zapisovat&lt;br /&gt;
    char slovo[50], *slovo_upr;&lt;br /&gt;
    if(f1==NULL)&lt;br /&gt;
        printf(&amp;quot;Subor %s sa nepodarilo otvorit&amp;quot;, zdroj);&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        do  // v cykle&lt;br /&gt;
        {&lt;br /&gt;
            fscanf(f1,&amp;quot;%s&amp;quot;,slovo); // citaj retazce po slovach&lt;br /&gt;
            slovo_upr =strupr(slovo);  //konvertuj na velke pismena&lt;br /&gt;
            fprintf(f2,&amp;quot;%s &amp;quot;, slovo_upr);  // a zapis do suboru&lt;br /&gt;
        } while (!feof(f1));  // pokial nenarazis na koniec suboru&lt;br /&gt;
        fclose(f1);  // nakoniec zatvor subory&lt;br /&gt;
        fclose(f2);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Analýza dát===&lt;br /&gt;
;Zadanie: V súbore udaje.txt sa nachádzajú celé čísla oddelené od seba medzerou alebo znakom ‘\n’ (nový riadok). Tieto čísla by mali byť v rozsahu 0 až 100. Avšak môže sa stať, že sú tam aj väčšie čísla. Úlohou je skopírovať tieto čísla zo súboru udaje.txt do súboru upravene.txt. Avšak len tie, ktoré sú v dovolenom intervale – t.j. v rozsahu 0 až 100.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže vieme, že v súbore sú len čísla, budeme zo súboru čítať len celé čísla (formát %d). Ak bude prečítané číslo v dovolenom intervale, tak ho zapíšeme do súboru upravene.txt.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    FILE *fp,*upr;&lt;br /&gt;
    int c;&lt;br /&gt;
    fp =fopen(&amp;quot;udaje.txt&amp;quot;,&amp;quot;r&amp;quot;);  // subor, z ktoreho budem citat&lt;br /&gt;
    if (fp == NULL) printf(&amp;quot;Subor udaje.txt neexistuje\n&amp;quot;);&lt;br /&gt;
    else  // ak subor existuje&lt;br /&gt;
    {&lt;br /&gt;
        upr =fopen(&amp;quot;upravene.txt&amp;quot;,&amp;quot;w&amp;quot;); //subor, do ktoreho budem zapisovat&lt;br /&gt;
        do  // v cykle&lt;br /&gt;
        {&lt;br /&gt;
            fscanf(fp,&amp;quot;%d&amp;quot;,&amp;amp;c); // citaj cisla&lt;br /&gt;
            if( (c&amp;gt;0) &amp;amp;&amp;amp; (c&amp;lt;101) ) // ak je cislo v danom intervale&lt;br /&gt;
                fprintf(upr,&amp;quot;%d &amp;quot;,c);  // a zapis do suboru&lt;br /&gt;
        } while (!feof(fp));  // pokial nenarazis na koniec suboru&lt;br /&gt;
        fclose(fp);  // nakoniec zatvor subory&lt;br /&gt;
        fclose(upr);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12665</id>
		<title>Jazyk C (príklady) - Cykly</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12665"/>
		<updated>2020-05-19T21:24:46Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Test na prvočíslo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.&lt;br /&gt;
&lt;br /&gt;
===Cyklus while===&lt;br /&gt;
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus do while===&lt;br /&gt;
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
do&lt;br /&gt;
    prikaz;&lt;br /&gt;
while(podmienka); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus for===&lt;br /&gt;
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
    prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.&lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
===Faktúra===&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý zráta celkovú sumu položiek faktúry. Prvý údaj, ktorý načítate bude číselný údaj pocet, ktoré nám hovorí o počte položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcich cenu položky).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže dopredu nikdy nevieme, koľko položiek je na faktúre, musíme použiť cyklus. Po načítaní hodnoty počet, vieme koľko položiek budeme načítavať – teda vieme, koľkokrát sa bude cyklus opakovať. V každom opakovaní cyklu načítame jednu hodnotu a zároveň ju pripočítame do celkovej sumy všetkých položiek. V príklade bude ukázané použitie troch základných typov cyklov.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main(){&lt;br /&gt;
    int suma=0,polozka,pocet;&lt;br /&gt;
    printf(“Zadaj pocet nacitavanych poloziek”);&lt;br /&gt;
    scanf(“%d”,&amp;amp;pocet);   &lt;br /&gt;
    &lt;br /&gt;
   /* cyklus pre nacitanie vsetkych poloziek */&lt;br /&gt;
&lt;br /&gt;
    printf(“Suma vsetkych poloziek=%d “,suma);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nasledujúce časti kódov treba doplniť po jednom do programu vyššie.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
/* cyklus while */&lt;br /&gt;
while(pocet!=0)  // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet--;     // v kazdom cykle znizime pocet o 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
/* cyklus do-while */&lt;br /&gt;
do{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet–-;          // v kazdom cykle znizime pocet o 1&lt;br /&gt;
} while(pocet!=0)     // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
/* cyklus for */&lt;br /&gt;
// i je pomocna premenna, na zaciatku ma hodnotu 0, kazdy cyklus zvysi&lt;br /&gt;
for(int i=0 ; i&amp;lt;pocet ; i++){&lt;br /&gt;
    // svoju hodnotu o 1, a cyklus opakujeme pokial je i mensie ako pocet&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
/* cyklus for (2) */&lt;br /&gt;
for( ; pocet&amp;gt;0 ; pocet –-)  // pozri komentar k cyklu while&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
;Zadanie: Úlohou je vynásobiť 2 celé čísla x a y, ale bez použitia operátora *. Dovolené je použiť len operátor sčítania +.&lt;br /&gt;
;Analýza problému: Úloha nájdenia súčinu x*y len pomocou operátora sčítavania sa dá jednoducho naprogramovať, pretože súčin x*y=x+x+...+x, kde x sčítavame y krát. Teda stačí nám vytvoriť cyklus, ktorý sa bude opakovať y krát a v každom cykle sa hodnota x pripočíta do čiastočného výsledku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main(){&lt;br /&gt;
    int vysledok=0,x,y,pom_y;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    pom_y=y;&lt;br /&gt;
    while(y&amp;gt;0){&lt;br /&gt;
         vysledok+=x;&lt;br /&gt;
          y--;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,x,pom_y,vysledok);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ako alternatívu môžeme (riadky 7-10) použiť cyklus for:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
for( ; y&amp;gt;0 ; y--){&lt;br /&gt;
    vysledok+=x;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Umocňovanie===&lt;br /&gt;
;Zadanie:Navrhnite program, ktorý vypočíta mocninovú funkciu ab, pre a≥0, b≥0. Vstup do programu budú dve kladné nezáporné čísla a a b. Výstup bude hodnota ab. Príklad urobte pomocou príkazu while a for.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Tento príklad je veľmi podobný s predchádzajúcim, pretože ab=a*a*…*a, kde a budeme násobiť b krát.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=1,a,b,tmp_b;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d”,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    tmp_b=b;&lt;br /&gt;
    while(b&amp;gt;0)&lt;br /&gt;
    {    vysledok*=a;&lt;br /&gt;
         b–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,a,tmp_b,vysledok);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // pouzitie prikazu for&lt;br /&gt;
         for(int i=0 ; i&amp;lt;b ; i++)&lt;br /&gt;
              vysledok*=a;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Najväčší spoločný deliteľ===&lt;br /&gt;
;Zadanie: Pri mnohých matematických operáciách je potrebné poznať najväčší spoločný deliteľ (NSD) dvoch čísel. Navrhnite algoritmus pre nájdenie NSD pomocou Euklidovho algoritmu. (Euklidov algoritmus pracuje na princípe opakovaného vzájomného odčítavania vstupných hodnôt a to vždy menší od väčšieho pokiaľ nie sú obe hodnoty rovnaké. Toto číslo je potom NSD.)&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na lepšiu predstavivosť funkcionality tohto algoritmu nám poslúži nasledujúci vývojový diagram. Prvý krok v algoritme (okrem načítania vstupných hodnôt) je urobiť cyklus, ktorý sa bude opakovať, pokiaľ je a a b rôzne. V tele cyklu bude podmienka, kde budeme zisťovať, ktoré z dvoch (a,b) čísel je väčšie. Potom od väčšieho odčítame menšie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int a,b;&lt;br /&gt;
    int pa=a, pb=b; // pomocne premenne, nie su nutne&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    while(a!=b){ &lt;br /&gt;
        if(a&amp;gt;b)&lt;br /&gt;
            a=a-b;&lt;br /&gt;
        else&lt;br /&gt;
            b=b-a;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;nsd(%d, %d) = %d &amp;quot;,pa,pb,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test na prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite program, ktorý zistí či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Číslo a budeme postupne celočíselne deliť číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok, povieme že číslo a je prvočíslo. Hodnotu čísla n určíme nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. Túto podmienku si dokážeme ľahko odvodiť. Majme napr. a=37. podiel=(37/2)=18. Teda pri zvyšovaní premennej del už nemusíme ísť za hranicu 18, lebo číslo 37 určite nie je deliteľné bezo zvyšku číslom väčším ako 18. Ďalej delíme podiel=(37/3)=10. Tento krok algoritmu nám teda povedal že horná hranica zvyšovania premennej del je 10, lebo neexistuje číslo väčšie ako 10, ktoré by delilo číslo 37 bezo zvyšku. Postupne sa dopracujeme k hranici 6. Na začiatku programu predpokladáme, že číslo a je prvočíslo (prvocislo=1) , čo sa snažíme v programe vyvrátiť (prvocislo=0). Výstup z algoritmu nám bude hovoriť, či a je prvočíslo. Ak áno, výstup bude 1, ak nie potom bude výstup 0. (Možná úprava: číslo n sa dá vypočítať jednoducho. n=celá časť z a1/2 ). Algoritmus naznačuje nasledujúci vývojový diagram.&lt;br /&gt;
&lt;br /&gt;
;Ukážka: &lt;br /&gt;
*a=23&lt;br /&gt;
*a del podiel&lt;br /&gt;
*23 / 2 = 11 zv 1&lt;br /&gt;
*23 / 3 = 7 zv 2&lt;br /&gt;
*23 / 4 = 5 zv 3&lt;br /&gt;
*23 / 5 = 4 zv 3 del &amp;gt; podiel, koniec, a je prvočíslo&lt;br /&gt;
*23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int a;&lt;br /&gt;
    printf(“Zadaj cislo, ktore chces testovat na prvocislo\n”);&lt;br /&gt;
&lt;br /&gt;
    scanf(&amp;quot;%d&amp;quot;,&amp;amp;a);&lt;br /&gt;
    int del=2,prvocislo=1,podiel,zv;&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
        podiel=a/del;&lt;br /&gt;
        zv=a%del;&lt;br /&gt;
        del++;&lt;br /&gt;
        if(zv==0){&lt;br /&gt;
            del=podiel+1;&lt;br /&gt;
            prvocislo=0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }while(podiel&amp;gt;del);&lt;br /&gt;
    if(prvocislo==1)&lt;br /&gt;
        printf(&amp;quot;%d je prvocislo“,a);&lt;br /&gt;
    else&lt;br /&gt;
        printf(&amp;quot;%d nie je prvocislo“,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Výpočet čísla pí===&lt;br /&gt;
;Zadanie: Existuje nekonečný rad, ktorého súčtom je číslo PÍ. (vzťah PI.1). Ak budeme i zväčšovať až do nekonečna, dostaneme presnú hodnotu čísla PÍ. Vypočítajte číslo PI čo najpresnejšie. Presnosť výpočtu závisí od toho, pokiaľ budeme zväčšovať číslo i. Nájdite také n (i=0…n) , pri ktorom je výsledok presný na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Rozpísaním vzťahu PI.1 dostaneme vzťah PI.2. Úlohou je zvoliť vhodné n. Program urobíme tak, že na začiatku sa načíta číslo n a program vypočíta číslo PÍ s daným n. Číslo n musí byť dostatočne veľké, aby hodnota PÍ bola dostatočne presná. V samotnom výpočte sčítavame zlomky, ktorých menovatele sú iba nepárne čísla. To, aby boli čísla nepárne zabezpečíme tak, že menovateľ bude: 2*i+1. Ak dosadíme ľubovoľné i, dostaneme nepárne číslo. Druh[ vec, ktorú musíme vyriešiť je striedanie znamienok v súčte. Vytvoríme si premennú znamienko, ktorá bude mať hodnotu 1 alebo -1. V každom cykle budeme túto hodnotu meniť.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    double pi=0;&lt;br /&gt;
    int znamienko=1;&lt;br /&gt;
    long int n;&lt;br /&gt;
    scanf(&amp;quot;%ld&amp;quot;,&amp;amp;n);&lt;br /&gt;
    for(int i=0;i&amp;lt;n ;i++)&lt;br /&gt;
    {&lt;br /&gt;
        pi+=znamienko*4.0/(2*i+1);&lt;br /&gt;
        znamienko=-znamienko;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;PI=%.15f\n&amp;quot;,pi);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12648</id>
		<title>Jazyk C (príklady) - Cykly</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12648"/>
		<updated>2020-05-19T21:19:10Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Test na prvočíslo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.&lt;br /&gt;
&lt;br /&gt;
===Cyklus while===&lt;br /&gt;
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus do while===&lt;br /&gt;
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
do&lt;br /&gt;
    prikaz;&lt;br /&gt;
while(podmienka); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus for===&lt;br /&gt;
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
    prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.&lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
===Faktúra===&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý zráta celkovú sumu položiek faktúry. Prvý údaj, ktorý načítate bude číselný údaj pocet, ktoré nám hovorí o počte položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcich cenu položky).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže dopredu nikdy nevieme, koľko položiek je na faktúre, musíme použiť cyklus. Po načítaní hodnoty počet, vieme koľko položiek budeme načítavať – teda vieme, koľkokrát sa bude cyklus opakovať. V každom opakovaní cyklu načítame jednu hodnotu a zároveň ju pripočítame do celkovej sumy všetkých položiek. V príklade bude ukázané použitie troch základných typov cyklov.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int suma=0,polozka,pocet;&lt;br /&gt;
printf(“Zadaj pocet nacitavanych poloziek”);&lt;br /&gt;
scanf(“%d”,&amp;amp;pocet);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* cyklus pre nacitanie vsetkych poloziek */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(“Suma vsetkych poloziek=%d “,suma);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// nasledujuce casti kodov treba doplnit (po jednom) do programu&lt;br /&gt;
&lt;br /&gt;
// cyklus while&lt;br /&gt;
&lt;br /&gt;
while(pocet!=0)  // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet--;     // v kazdom cykle znizime pocet o 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus do-while&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
pocet–-; // v kazdom cykle znizime pocet o 1&lt;br /&gt;
&lt;br /&gt;
} while(pocet!=0)// cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
&lt;br /&gt;
//cyklus for&lt;br /&gt;
for(int i=0 ; i&amp;lt;pocet ; i++)  // i je pomocna premenna, na zaciatku ma hodnotu 0, kazdy cyklus zvysi&lt;br /&gt;
{                            // svoju hodnotu o 1, a cyklus opakujeme pokial je i mensie ako pocet&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus for (2)&lt;br /&gt;
for( ; pocet&amp;gt;0 ; pocet –-)  // pozri komentar k cyklu while&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
;Zadanie: Úlohou je vynásobiť 2 celé čísla x a y, ale bez použitia operátora *. Dovolené je použiť len operátor sčítania +.&lt;br /&gt;
;Analýza problému: Úloha nájdenia súčinu x*y len pomocou operátora sčítavania sa dá jednoducho naprogramovať, pretože súčin x*y=x+x+...+x, kde x sčítavame y krát. Teda stačí nám vytvoriť cyklus, ktorý sa bude opakovať y krát a v každom cykle sa hodnota x pripočíta do čiastočného výsledku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=0,x,y,pom_y;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    pom_y=y;&lt;br /&gt;
    while(y&amp;gt;0)&lt;br /&gt;
    {    vysledok+=x;&lt;br /&gt;
          y–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,x,pom_y,vysledok);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// pouzitie prikazu for&lt;br /&gt;
for( ; y&amp;gt;0 ; y–-)&lt;br /&gt;
    vysledok+=x;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Umocňovanie===&lt;br /&gt;
;Zadanie:Navrhnite program, ktorý vypočíta mocninovú funkciu ab, pre a≥0, b≥0. Vstup do programu budú dve kladné nezáporné čísla a a b. Výstup bude hodnota ab. Príklad urobte pomocou príkazu while a for.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Tento príklad je veľmi podobný s predchádzajúcim, pretože ab=a*a*…*a, kde a budeme násobiť b krát.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=1,a,b,tmp_b;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d”,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    tmp_b=b;&lt;br /&gt;
    while(b&amp;gt;0)&lt;br /&gt;
    {    vysledok*=a;&lt;br /&gt;
         b–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,a,tmp_b,vysledok);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // pouzitie prikazu for&lt;br /&gt;
         for(int i=0 ; i&amp;lt;b ; i++)&lt;br /&gt;
              vysledok*=a;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Najväčší spoločný deliteľ===&lt;br /&gt;
;Zadanie: Pri mnohých matematických operáciách je potrebné poznať najväčší spoločný deliteľ (NSD) dvoch čísel. Navrhnite algoritmus pre nájdenie NSD pomocou Euklidovho algoritmu. (Euklidov algoritmus pracuje na princípe opakovaného vzájomného odčítavania vstupných hodnôt a to vždy menší od väčšieho pokiaľ nie sú obe hodnoty rovnaké. Toto číslo je potom NSD.)&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na lepšiu predstavivosť funkcionality tohto algoritmu nám poslúži nasledujúci vývojový diagram. Prvý krok v algoritme (okrem načítania vstupných hodnôt) je urobiť cyklus, ktorý sa bude opakovať, pokiaľ je a a b rôzne. V tele cyklu bude podmienka, kde budeme zisťovať, ktoré z dvoch (a,b) čísel je väčšie. Potom od väčšieho odčítame menšie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int a,b;&lt;br /&gt;
    int pa=a, pb=b; // pomocne premenne, nie su nutne&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    while(a!=b){ &lt;br /&gt;
        if(a&amp;gt;b)&lt;br /&gt;
            a=a-b;&lt;br /&gt;
        else&lt;br /&gt;
            b=b-a;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;nsd(%d, %d) = %d &amp;quot;,pa,pb,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test na prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite program, ktorý zistí či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Číslo a budeme postupne celočíselne deliť číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok, povieme že číslo a je prvočíslo. Hodnotu čísla n určíme nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. Túto podmienku si dokážeme ľahko odvodiť. Majme napr. a=37. podiel=(37/2)=18. Teda pri zvyšovaní premennej del už nemusíme ísť za hranicu 18, lebo číslo 37 určite nie je deliteľné bezo zvyšku číslom väčším ako 18. Ďalej delíme podiel=(37/3)=10. Tento krok algoritmu nám teda povedal že horná hranica zvyšovania premennej del je 10, lebo neexistuje číslo väčšie ako 10, ktoré by delilo číslo 37 bezo zvyšku. Postupne sa dopracujeme k hranici 6. Na začiatku programu predpokladáme, že číslo a je prvočíslo (prvocislo=1) , čo sa snažíme v programe vyvrátiť (prvocislo=0). Výstup z algoritmu nám bude hovoriť, či a je prvočíslo. Ak áno, výstup bude 1, ak nie potom bude výstup 0. (Možná úprava: číslo n sa dá vypočítať jednoducho. n=celá časť z a1/2 ). Algoritmus naznačuje nasledujúci vývojový diagram.&lt;br /&gt;
&lt;br /&gt;
;Ukážka: &lt;br /&gt;
*a=23&lt;br /&gt;
*a del podiel&lt;br /&gt;
*23 / 2 = 11 zv 1&lt;br /&gt;
*23 / 3 = 7 zv 2&lt;br /&gt;
*23 / 4 = 5 zv 3&lt;br /&gt;
*23 / 5 = 4 zv 3 del &amp;gt; podiel, koniec, a je prvočíslo&lt;br /&gt;
*23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int a;&lt;br /&gt;
    printf(“Zadaj cislo, ktore chces testovat na prvocislo\n”);&lt;br /&gt;
&lt;br /&gt;
    scanf(&amp;quot;%d&amp;quot;,&amp;amp;a);&lt;br /&gt;
    int del=2,prvocislo=1,podiel,zv;&lt;br /&gt;
    do&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
    podiel=a/del;&lt;br /&gt;
    zv=a%del;&lt;br /&gt;
    del++;&lt;br /&gt;
    if(zv==0)&lt;br /&gt;
    {&lt;br /&gt;
        del=podiel+1;&lt;br /&gt;
        prvocislo=0;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    }while(podiel&amp;gt;del);&lt;br /&gt;
    if(prvocislo==1)&lt;br /&gt;
        printf(&amp;quot;%d je prvocislo“,a);&lt;br /&gt;
    else&lt;br /&gt;
        printf(&amp;quot;%d nie je prvocislo“,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Výpočet čísla pí===&lt;br /&gt;
;Zadanie: Existuje nekonečný rad, ktorého súčtom je číslo PÍ. (vzťah PI.1). Ak budeme i zväčšovať až do nekonečna, dostaneme presnú hodnotu čísla PÍ. Vypočítajte číslo PI čo najpresnejšie. Presnosť výpočtu závisí od toho, pokiaľ budeme zväčšovať číslo i. Nájdite také n (i=0…n) , pri ktorom je výsledok presný na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Rozpísaním vzťahu PI.1 dostaneme vzťah PI.2. Úlohou je zvoliť vhodné n. Program urobíme tak, že na začiatku sa načíta číslo n a program vypočíta číslo PÍ s daným n. Číslo n musí byť dostatočne veľké, aby hodnota PÍ bola dostatočne presná. V samotnom výpočte sčítavame zlomky, ktorých menovatele sú iba nepárne čísla. To, aby boli čísla nepárne zabezpečíme tak, že menovateľ bude: 2*i+1. Ak dosadíme ľubovoľné i, dostaneme nepárne číslo. Druh[ vec, ktorú musíme vyriešiť je striedanie znamienok v súčte. Vytvoríme si premennú znamienko, ktorá bude mať hodnotu 1 alebo -1. V každom cykle budeme túto hodnotu meniť.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    double pi=0;&lt;br /&gt;
    int znamienko=1;&lt;br /&gt;
    long int n;&lt;br /&gt;
    scanf(&amp;quot;%ld&amp;quot;,&amp;amp;n);&lt;br /&gt;
    for(int i=0;i&amp;lt;n ;i++)&lt;br /&gt;
    {&lt;br /&gt;
        pi+=znamienko*4.0/(2*i+1);&lt;br /&gt;
        znamienko=-znamienko;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;PI=%.15f\n&amp;quot;,pi);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12644</id>
		<title>Jazyk C (príklady) - Cykly</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12644"/>
		<updated>2020-05-19T21:18:26Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Najväčší spoločný deliteľ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.&lt;br /&gt;
&lt;br /&gt;
===Cyklus while===&lt;br /&gt;
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus do while===&lt;br /&gt;
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
do&lt;br /&gt;
    prikaz;&lt;br /&gt;
while(podmienka); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus for===&lt;br /&gt;
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
    prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.&lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
===Faktúra===&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý zráta celkovú sumu položiek faktúry. Prvý údaj, ktorý načítate bude číselný údaj pocet, ktoré nám hovorí o počte položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcich cenu položky).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže dopredu nikdy nevieme, koľko položiek je na faktúre, musíme použiť cyklus. Po načítaní hodnoty počet, vieme koľko položiek budeme načítavať – teda vieme, koľkokrát sa bude cyklus opakovať. V každom opakovaní cyklu načítame jednu hodnotu a zároveň ju pripočítame do celkovej sumy všetkých položiek. V príklade bude ukázané použitie troch základných typov cyklov.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int suma=0,polozka,pocet;&lt;br /&gt;
printf(“Zadaj pocet nacitavanych poloziek”);&lt;br /&gt;
scanf(“%d”,&amp;amp;pocet);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* cyklus pre nacitanie vsetkych poloziek */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(“Suma vsetkych poloziek=%d “,suma);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// nasledujuce casti kodov treba doplnit (po jednom) do programu&lt;br /&gt;
&lt;br /&gt;
// cyklus while&lt;br /&gt;
&lt;br /&gt;
while(pocet!=0)  // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet--;     // v kazdom cykle znizime pocet o 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus do-while&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
pocet–-; // v kazdom cykle znizime pocet o 1&lt;br /&gt;
&lt;br /&gt;
} while(pocet!=0)// cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
&lt;br /&gt;
//cyklus for&lt;br /&gt;
for(int i=0 ; i&amp;lt;pocet ; i++)  // i je pomocna premenna, na zaciatku ma hodnotu 0, kazdy cyklus zvysi&lt;br /&gt;
{                            // svoju hodnotu o 1, a cyklus opakujeme pokial je i mensie ako pocet&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus for (2)&lt;br /&gt;
for( ; pocet&amp;gt;0 ; pocet –-)  // pozri komentar k cyklu while&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
;Zadanie: Úlohou je vynásobiť 2 celé čísla x a y, ale bez použitia operátora *. Dovolené je použiť len operátor sčítania +.&lt;br /&gt;
;Analýza problému: Úloha nájdenia súčinu x*y len pomocou operátora sčítavania sa dá jednoducho naprogramovať, pretože súčin x*y=x+x+...+x, kde x sčítavame y krát. Teda stačí nám vytvoriť cyklus, ktorý sa bude opakovať y krát a v každom cykle sa hodnota x pripočíta do čiastočného výsledku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=0,x,y,pom_y;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    pom_y=y;&lt;br /&gt;
    while(y&amp;gt;0)&lt;br /&gt;
    {    vysledok+=x;&lt;br /&gt;
          y–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,x,pom_y,vysledok);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// pouzitie prikazu for&lt;br /&gt;
for( ; y&amp;gt;0 ; y–-)&lt;br /&gt;
    vysledok+=x;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Umocňovanie===&lt;br /&gt;
;Zadanie:Navrhnite program, ktorý vypočíta mocninovú funkciu ab, pre a≥0, b≥0. Vstup do programu budú dve kladné nezáporné čísla a a b. Výstup bude hodnota ab. Príklad urobte pomocou príkazu while a for.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Tento príklad je veľmi podobný s predchádzajúcim, pretože ab=a*a*…*a, kde a budeme násobiť b krát.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=1,a,b,tmp_b;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d”,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    tmp_b=b;&lt;br /&gt;
    while(b&amp;gt;0)&lt;br /&gt;
    {    vysledok*=a;&lt;br /&gt;
         b–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,a,tmp_b,vysledok);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // pouzitie prikazu for&lt;br /&gt;
         for(int i=0 ; i&amp;lt;b ; i++)&lt;br /&gt;
              vysledok*=a;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Najväčší spoločný deliteľ===&lt;br /&gt;
;Zadanie: Pri mnohých matematických operáciách je potrebné poznať najväčší spoločný deliteľ (NSD) dvoch čísel. Navrhnite algoritmus pre nájdenie NSD pomocou Euklidovho algoritmu. (Euklidov algoritmus pracuje na princípe opakovaného vzájomného odčítavania vstupných hodnôt a to vždy menší od väčšieho pokiaľ nie sú obe hodnoty rovnaké. Toto číslo je potom NSD.)&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na lepšiu predstavivosť funkcionality tohto algoritmu nám poslúži nasledujúci vývojový diagram. Prvý krok v algoritme (okrem načítania vstupných hodnôt) je urobiť cyklus, ktorý sa bude opakovať, pokiaľ je a a b rôzne. V tele cyklu bude podmienka, kde budeme zisťovať, ktoré z dvoch (a,b) čísel je väčšie. Potom od väčšieho odčítame menšie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int a,b;&lt;br /&gt;
    int pa=a, pb=b; // pomocne premenne, nie su nutne&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    while(a!=b){ &lt;br /&gt;
        if(a&amp;gt;b)&lt;br /&gt;
            a=a-b;&lt;br /&gt;
        else&lt;br /&gt;
            b=b-a;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;nsd(%d, %d) = %d &amp;quot;,pa,pb,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test na prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite program, ktorý zistí či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Číslo a budeme postupne celočíselne deliť číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok, povieme že číslo a je prvočíslo. Hodnotu čísla n určíme nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. Túto podmienku si dokážeme ľahko odvodiť. Majme napr. a=37. podiel=(37/2)=18. Teda pri zvyšovaní premennej del už nemusíme ísť za hranicu 18, lebo číslo 37 určite nie je deliteľné bezo zvyšku číslom väčším ako 18. Ďalej delíme podiel=(37/3)=10. Tento krok algoritmu nám teda povedal že horná hranica zvyšovania premennej del je 10, lebo neexistuje číslo väčšie ako 10, ktoré by delilo číslo 37 bezo zvyšku. Postupne sa dopracujeme k hranici 6. Na začiatku programu predpokladáme, že číslo a je prvočíslo (prvocislo=1) , čo sa snažíme v programe vyvrátiť (prvocislo=0). Výstup z algoritmu nám bude hovoriť, či a je prvočíslo. Ak áno, výstup bude 1, ak nie potom bude výstup 0. (Možná úprava: číslo n sa dá vypočítať jednoducho. n=celá časť z a1/2 ). Algoritmus naznačuje nasledujúci vývojový diagram.&lt;br /&gt;
&lt;br /&gt;
Ukážka: a=23&lt;br /&gt;
a del podiel&lt;br /&gt;
23 / 2 = 11 zv 1&lt;br /&gt;
23 / 3 = 7 zv 2&lt;br /&gt;
23 / 4 = 5 zv 3&lt;br /&gt;
23 / 5 = 4 zv 3 del &amp;gt; podiel, koniec, a je prvočíslo&lt;br /&gt;
23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int a;&lt;br /&gt;
printf(“Zadaj cislo, ktore chces testovat na prvocislo\n”);&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;%d&amp;quot;,&amp;amp;a);&lt;br /&gt;
int del=2,prvocislo=1,podiel,zv;&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
podiel=a/del;&lt;br /&gt;
zv=a%del;&lt;br /&gt;
del++;&lt;br /&gt;
if(zv==0)&lt;br /&gt;
{&lt;br /&gt;
    del=podiel+1;&lt;br /&gt;
    prvocislo=0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}while(podiel&amp;gt;del);&lt;br /&gt;
if(prvocislo==1)&lt;br /&gt;
    printf(&amp;quot;%d je prvocislo“,a);&lt;br /&gt;
else&lt;br /&gt;
    printf(&amp;quot;%d nie je prvocislo“,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Výpočet čísla pí===&lt;br /&gt;
;Zadanie: Existuje nekonečný rad, ktorého súčtom je číslo PÍ. (vzťah PI.1). Ak budeme i zväčšovať až do nekonečna, dostaneme presnú hodnotu čísla PÍ. Vypočítajte číslo PI čo najpresnejšie. Presnosť výpočtu závisí od toho, pokiaľ budeme zväčšovať číslo i. Nájdite také n (i=0…n) , pri ktorom je výsledok presný na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Rozpísaním vzťahu PI.1 dostaneme vzťah PI.2. Úlohou je zvoliť vhodné n. Program urobíme tak, že na začiatku sa načíta číslo n a program vypočíta číslo PÍ s daným n. Číslo n musí byť dostatočne veľké, aby hodnota PÍ bola dostatočne presná. V samotnom výpočte sčítavame zlomky, ktorých menovatele sú iba nepárne čísla. To, aby boli čísla nepárne zabezpečíme tak, že menovateľ bude: 2*i+1. Ak dosadíme ľubovoľné i, dostaneme nepárne číslo. Druh[ vec, ktorú musíme vyriešiť je striedanie znamienok v súčte. Vytvoríme si premennú znamienko, ktorá bude mať hodnotu 1 alebo -1. V každom cykle budeme túto hodnotu meniť.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    double pi=0;&lt;br /&gt;
    int znamienko=1;&lt;br /&gt;
    long int n;&lt;br /&gt;
    scanf(&amp;quot;%ld&amp;quot;,&amp;amp;n);&lt;br /&gt;
    for(int i=0;i&amp;lt;n ;i++)&lt;br /&gt;
    {&lt;br /&gt;
        pi+=znamienko*4.0/(2*i+1);&lt;br /&gt;
        znamienko=-znamienko;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;PI=%.15f\n&amp;quot;,pi);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12641</id>
		<title>Jazyk C (príklady) - Cykly</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12641"/>
		<updated>2020-05-19T21:17:52Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Umocňovanie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.&lt;br /&gt;
&lt;br /&gt;
===Cyklus while===&lt;br /&gt;
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus do while===&lt;br /&gt;
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
do&lt;br /&gt;
    prikaz;&lt;br /&gt;
while(podmienka); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus for===&lt;br /&gt;
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
    prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.&lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
===Faktúra===&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý zráta celkovú sumu položiek faktúry. Prvý údaj, ktorý načítate bude číselný údaj pocet, ktoré nám hovorí o počte položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcich cenu položky).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže dopredu nikdy nevieme, koľko položiek je na faktúre, musíme použiť cyklus. Po načítaní hodnoty počet, vieme koľko položiek budeme načítavať – teda vieme, koľkokrát sa bude cyklus opakovať. V každom opakovaní cyklu načítame jednu hodnotu a zároveň ju pripočítame do celkovej sumy všetkých položiek. V príklade bude ukázané použitie troch základných typov cyklov.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int suma=0,polozka,pocet;&lt;br /&gt;
printf(“Zadaj pocet nacitavanych poloziek”);&lt;br /&gt;
scanf(“%d”,&amp;amp;pocet);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* cyklus pre nacitanie vsetkych poloziek */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(“Suma vsetkych poloziek=%d “,suma);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// nasledujuce casti kodov treba doplnit (po jednom) do programu&lt;br /&gt;
&lt;br /&gt;
// cyklus while&lt;br /&gt;
&lt;br /&gt;
while(pocet!=0)  // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet--;     // v kazdom cykle znizime pocet o 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus do-while&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
pocet–-; // v kazdom cykle znizime pocet o 1&lt;br /&gt;
&lt;br /&gt;
} while(pocet!=0)// cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
&lt;br /&gt;
//cyklus for&lt;br /&gt;
for(int i=0 ; i&amp;lt;pocet ; i++)  // i je pomocna premenna, na zaciatku ma hodnotu 0, kazdy cyklus zvysi&lt;br /&gt;
{                            // svoju hodnotu o 1, a cyklus opakujeme pokial je i mensie ako pocet&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus for (2)&lt;br /&gt;
for( ; pocet&amp;gt;0 ; pocet –-)  // pozri komentar k cyklu while&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
;Zadanie: Úlohou je vynásobiť 2 celé čísla x a y, ale bez použitia operátora *. Dovolené je použiť len operátor sčítania +.&lt;br /&gt;
;Analýza problému: Úloha nájdenia súčinu x*y len pomocou operátora sčítavania sa dá jednoducho naprogramovať, pretože súčin x*y=x+x+...+x, kde x sčítavame y krát. Teda stačí nám vytvoriť cyklus, ktorý sa bude opakovať y krát a v každom cykle sa hodnota x pripočíta do čiastočného výsledku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=0,x,y,pom_y;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    pom_y=y;&lt;br /&gt;
    while(y&amp;gt;0)&lt;br /&gt;
    {    vysledok+=x;&lt;br /&gt;
          y–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,x,pom_y,vysledok);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// pouzitie prikazu for&lt;br /&gt;
for( ; y&amp;gt;0 ; y–-)&lt;br /&gt;
    vysledok+=x;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Umocňovanie===&lt;br /&gt;
;Zadanie:Navrhnite program, ktorý vypočíta mocninovú funkciu ab, pre a≥0, b≥0. Vstup do programu budú dve kladné nezáporné čísla a a b. Výstup bude hodnota ab. Príklad urobte pomocou príkazu while a for.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Tento príklad je veľmi podobný s predchádzajúcim, pretože ab=a*a*…*a, kde a budeme násobiť b krát.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=1,a,b,tmp_b;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d”,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    tmp_b=b;&lt;br /&gt;
    while(b&amp;gt;0)&lt;br /&gt;
    {    vysledok*=a;&lt;br /&gt;
         b–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,a,tmp_b,vysledok);&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // pouzitie prikazu for&lt;br /&gt;
         for(int i=0 ; i&amp;lt;b ; i++)&lt;br /&gt;
              vysledok*=a;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Najväčší spoločný deliteľ===&lt;br /&gt;
;Zadanie: Pri mnohých matematických operáciách je potrebné poznať najväčší spoločný deliteľ (NSD) dvoch čísel. Navrhnite algoritmus pre nájdenie NSD pomocou Euklidovho algoritmu. (Euklidov algoritmus pracuje na princípe opakovaného vzájomného odčítavania vstupných hodnôt a to vždy menší od väčšieho pokiaľ nie sú obe hodnoty rovnaké. Toto číslo je potom NSD.)&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na lepšiu predstavivosť funkcionality tohto algoritmu nám poslúži nasledujúci vývojový diagram. Prvý krok v algoritme (okrem načítania vstupných hodnôt) je urobiť cyklus, ktorý sa bude opakovať, pokiaľ je a a b rôzne. V tele cyklu bude podmienka, kde budeme zisťovať, ktoré z dvoch (a,b) čísel je väčšie. Potom od väčšieho odčítame menšie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int a,b;&lt;br /&gt;
int pa=a, pb=b; // pomocne premenne, nie su nutne&lt;br /&gt;
printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
while(a!=b)&lt;br /&gt;
{ if(a&amp;gt;b)&lt;br /&gt;
    a=a-b;&lt;br /&gt;
  else&lt;br /&gt;
    b=b-a;&lt;br /&gt;
}&lt;br /&gt;
printf(&amp;quot;nsd(%d, %d) = %d &amp;quot;,pa,pb,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test na prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite program, ktorý zistí či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Číslo a budeme postupne celočíselne deliť číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok, povieme že číslo a je prvočíslo. Hodnotu čísla n určíme nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. Túto podmienku si dokážeme ľahko odvodiť. Majme napr. a=37. podiel=(37/2)=18. Teda pri zvyšovaní premennej del už nemusíme ísť za hranicu 18, lebo číslo 37 určite nie je deliteľné bezo zvyšku číslom väčším ako 18. Ďalej delíme podiel=(37/3)=10. Tento krok algoritmu nám teda povedal že horná hranica zvyšovania premennej del je 10, lebo neexistuje číslo väčšie ako 10, ktoré by delilo číslo 37 bezo zvyšku. Postupne sa dopracujeme k hranici 6. Na začiatku programu predpokladáme, že číslo a je prvočíslo (prvocislo=1) , čo sa snažíme v programe vyvrátiť (prvocislo=0). Výstup z algoritmu nám bude hovoriť, či a je prvočíslo. Ak áno, výstup bude 1, ak nie potom bude výstup 0. (Možná úprava: číslo n sa dá vypočítať jednoducho. n=celá časť z a1/2 ). Algoritmus naznačuje nasledujúci vývojový diagram.&lt;br /&gt;
&lt;br /&gt;
Ukážka: a=23&lt;br /&gt;
a del podiel&lt;br /&gt;
23 / 2 = 11 zv 1&lt;br /&gt;
23 / 3 = 7 zv 2&lt;br /&gt;
23 / 4 = 5 zv 3&lt;br /&gt;
23 / 5 = 4 zv 3 del &amp;gt; podiel, koniec, a je prvočíslo&lt;br /&gt;
23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int a;&lt;br /&gt;
printf(“Zadaj cislo, ktore chces testovat na prvocislo\n”);&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;%d&amp;quot;,&amp;amp;a);&lt;br /&gt;
int del=2,prvocislo=1,podiel,zv;&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
podiel=a/del;&lt;br /&gt;
zv=a%del;&lt;br /&gt;
del++;&lt;br /&gt;
if(zv==0)&lt;br /&gt;
{&lt;br /&gt;
    del=podiel+1;&lt;br /&gt;
    prvocislo=0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}while(podiel&amp;gt;del);&lt;br /&gt;
if(prvocislo==1)&lt;br /&gt;
    printf(&amp;quot;%d je prvocislo“,a);&lt;br /&gt;
else&lt;br /&gt;
    printf(&amp;quot;%d nie je prvocislo“,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Výpočet čísla pí===&lt;br /&gt;
;Zadanie: Existuje nekonečný rad, ktorého súčtom je číslo PÍ. (vzťah PI.1). Ak budeme i zväčšovať až do nekonečna, dostaneme presnú hodnotu čísla PÍ. Vypočítajte číslo PI čo najpresnejšie. Presnosť výpočtu závisí od toho, pokiaľ budeme zväčšovať číslo i. Nájdite také n (i=0…n) , pri ktorom je výsledok presný na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Rozpísaním vzťahu PI.1 dostaneme vzťah PI.2. Úlohou je zvoliť vhodné n. Program urobíme tak, že na začiatku sa načíta číslo n a program vypočíta číslo PÍ s daným n. Číslo n musí byť dostatočne veľké, aby hodnota PÍ bola dostatočne presná. V samotnom výpočte sčítavame zlomky, ktorých menovatele sú iba nepárne čísla. To, aby boli čísla nepárne zabezpečíme tak, že menovateľ bude: 2*i+1. Ak dosadíme ľubovoľné i, dostaneme nepárne číslo. Druh[ vec, ktorú musíme vyriešiť je striedanie znamienok v súčte. Vytvoríme si premennú znamienko, ktorá bude mať hodnotu 1 alebo -1. V každom cykle budeme túto hodnotu meniť.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    double pi=0;&lt;br /&gt;
    int znamienko=1;&lt;br /&gt;
    long int n;&lt;br /&gt;
    scanf(&amp;quot;%ld&amp;quot;,&amp;amp;n);&lt;br /&gt;
    for(int i=0;i&amp;lt;n ;i++)&lt;br /&gt;
    {&lt;br /&gt;
        pi+=znamienko*4.0/(2*i+1);&lt;br /&gt;
        znamienko=-znamienko;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;PI=%.15f\n&amp;quot;,pi);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12640</id>
		<title>Jazyk C (príklady) - Cykly</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Cykly&amp;diff=12640"/>
		<updated>2020-05-19T21:17:43Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Umocňovanie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázané príklady s použitím cyklov. Na pochopenie týchto príkladov je nutné vedieť syntax a sémantiku príkazov while, do-while a for.&lt;br /&gt;
&lt;br /&gt;
===Cyklus while===&lt;br /&gt;
Cyklus while je cyklus s podmienkou na začiatku. Pri každom opakovaní cyklu sa najskôr vyhodnotí podmienka a v prípade, že je pravdivá cyklus sa vykonáva (resp. vykonáva sa príkaz v cykle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku. (Toto platí aj pre do-while)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
while(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus do while===&lt;br /&gt;
Cyklus do-while je cyklus s podmienkou na konci. Najskôr sa vykoná telo cyklu (teda prikaz) a na konci syklu sa vyhodnotí pravdivosť podmienky. V prípade ak je podmienka pravdivá, cyklus sa opäť vykoná&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
do&lt;br /&gt;
    prikaz;&lt;br /&gt;
while(podmienka); &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cyklus for===&lt;br /&gt;
Cyklus for sa používa najmä v prípadoch, ak dopredu poznáme počet opakovaní cyklu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
    prikaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pred samotným spustením cyklu sa vykoná inicializácia. Toto sa vykoná len raz. Cyklus sa bude opakovať, pokiaľ je podmienka pravdivá. Ak je teda podmienka pravdivá, vykoná sa príkaz. Na konci cyklu sa vždy ešte vykoná vyraz. Všetky tri časti (inicializacia, podmienka, vyraz ) sú nepovinné, teda nemusia sa uvádzať.&lt;br /&gt;
&lt;br /&gt;
Ak potrebujeme v rámci cyklu vykonať viacero príkazov, treba ich uzatvoriť do bloku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
for(inicializacia ; podmienka ; vyraz )&lt;br /&gt;
{&lt;br /&gt;
    prikaz1;&lt;br /&gt;
    prikaz2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
===Faktúra===&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý zráta celkovú sumu položiek faktúry. Prvý údaj, ktorý načítate bude číselný údaj pocet, ktoré nám hovorí o počte položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcich cenu položky).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Keďže dopredu nikdy nevieme, koľko položiek je na faktúre, musíme použiť cyklus. Po načítaní hodnoty počet, vieme koľko položiek budeme načítavať – teda vieme, koľkokrát sa bude cyklus opakovať. V každom opakovaní cyklu načítame jednu hodnotu a zároveň ju pripočítame do celkovej sumy všetkých položiek. V príklade bude ukázané použitie troch základných typov cyklov.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int suma=0,polozka,pocet;&lt;br /&gt;
printf(“Zadaj pocet nacitavanych poloziek”);&lt;br /&gt;
scanf(“%d”,&amp;amp;pocet);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* cyklus pre nacitanie vsetkych poloziek */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
printf(“Suma vsetkych poloziek=%d “,suma);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// nasledujuce casti kodov treba doplnit (po jednom) do programu&lt;br /&gt;
&lt;br /&gt;
// cyklus while&lt;br /&gt;
&lt;br /&gt;
while(pocet!=0)  // cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
{&lt;br /&gt;
    scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
    suma+=polozka;&lt;br /&gt;
    pocet--;     // v kazdom cykle znizime pocet o 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus do-while&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
pocet–-; // v kazdom cykle znizime pocet o 1&lt;br /&gt;
&lt;br /&gt;
} while(pocet!=0)// cyklus sa opakuje pokial je hodnota pocet rozna od nuly&lt;br /&gt;
&lt;br /&gt;
//cyklus for&lt;br /&gt;
for(int i=0 ; i&amp;lt;pocet ; i++)  // i je pomocna premenna, na zaciatku ma hodnotu 0, kazdy cyklus zvysi&lt;br /&gt;
{                            // svoju hodnotu o 1, a cyklus opakujeme pokial je i mensie ako pocet&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//cyklus for (2)&lt;br /&gt;
for( ; pocet&amp;gt;0 ; pocet –-)  // pozri komentar k cyklu while&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
scanf(“%d“,&amp;amp;polozka);&lt;br /&gt;
suma+=polozka;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
;Zadanie: Úlohou je vynásobiť 2 celé čísla x a y, ale bez použitia operátora *. Dovolené je použiť len operátor sčítania +.&lt;br /&gt;
;Analýza problému: Úloha nájdenia súčinu x*y len pomocou operátora sčítavania sa dá jednoducho naprogramovať, pretože súčin x*y=x+x+...+x, kde x sčítavame y krát. Teda stačí nám vytvoriť cyklus, ktorý sa bude opakovať y krát a v každom cykle sa hodnota x pripočíta do čiastočného výsledku.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=0,x,y,pom_y;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    pom_y=y;&lt;br /&gt;
    while(y&amp;gt;0)&lt;br /&gt;
    {    vysledok+=x;&lt;br /&gt;
          y–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,x,pom_y,vysledok);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// pouzitie prikazu for&lt;br /&gt;
for( ; y&amp;gt;0 ; y–-)&lt;br /&gt;
    vysledok+=x;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Umocňovanie===&lt;br /&gt;
;Zadanie:Navrhnite program, ktorý vypočíta mocninovú funkciu ab, pre a≥0, b≥0. Vstup do programu budú dve kladné nezáporné čísla a a b. Výstup bude hodnota ab. Príklad urobte pomocou príkazu while a for.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Tento príklad je veľmi podobný s predchádzajúcim, pretože ab=a*a*…*a, kde a budeme násobiť b krát.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int vysledok=1,a,b,tmp_b;&lt;br /&gt;
    printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d”,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
    tmp_b=b;&lt;br /&gt;
    while(b&amp;gt;0)&lt;br /&gt;
    {    vysledok*=a;&lt;br /&gt;
         b–-;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d &amp;quot;,a,tmp_b,vysledok);&lt;br /&gt;
&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
    // pouzitie prikazu for&lt;br /&gt;
         for(int i=0 ; i&amp;lt;b ; i++)&lt;br /&gt;
              vysledok*=a;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Najväčší spoločný deliteľ===&lt;br /&gt;
;Zadanie: Pri mnohých matematických operáciách je potrebné poznať najväčší spoločný deliteľ (NSD) dvoch čísel. Navrhnite algoritmus pre nájdenie NSD pomocou Euklidovho algoritmu. (Euklidov algoritmus pracuje na princípe opakovaného vzájomného odčítavania vstupných hodnôt a to vždy menší od väčšieho pokiaľ nie sú obe hodnoty rovnaké. Toto číslo je potom NSD.)&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na lepšiu predstavivosť funkcionality tohto algoritmu nám poslúži nasledujúci vývojový diagram. Prvý krok v algoritme (okrem načítania vstupných hodnôt) je urobiť cyklus, ktorý sa bude opakovať, pokiaľ je a a b rôzne. V tele cyklu bude podmienka, kde budeme zisťovať, ktoré z dvoch (a,b) čísel je väčšie. Potom od väčšieho odčítame menšie.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int a,b;&lt;br /&gt;
int pa=a, pb=b; // pomocne premenne, nie su nutne&lt;br /&gt;
printf(&amp;quot;Zadaj dve cisla&amp;quot;);&lt;br /&gt;
scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;a,&amp;amp;b);&lt;br /&gt;
while(a!=b)&lt;br /&gt;
{ if(a&amp;gt;b)&lt;br /&gt;
    a=a-b;&lt;br /&gt;
  else&lt;br /&gt;
    b=b-a;&lt;br /&gt;
}&lt;br /&gt;
printf(&amp;quot;nsd(%d, %d) = %d &amp;quot;,pa,pb,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test na prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite program, ktorý zistí či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Číslo a budeme postupne celočíselne deliť číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok, povieme že číslo a je prvočíslo. Hodnotu čísla n určíme nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. Túto podmienku si dokážeme ľahko odvodiť. Majme napr. a=37. podiel=(37/2)=18. Teda pri zvyšovaní premennej del už nemusíme ísť za hranicu 18, lebo číslo 37 určite nie je deliteľné bezo zvyšku číslom väčším ako 18. Ďalej delíme podiel=(37/3)=10. Tento krok algoritmu nám teda povedal že horná hranica zvyšovania premennej del je 10, lebo neexistuje číslo väčšie ako 10, ktoré by delilo číslo 37 bezo zvyšku. Postupne sa dopracujeme k hranici 6. Na začiatku programu predpokladáme, že číslo a je prvočíslo (prvocislo=1) , čo sa snažíme v programe vyvrátiť (prvocislo=0). Výstup z algoritmu nám bude hovoriť, či a je prvočíslo. Ak áno, výstup bude 1, ak nie potom bude výstup 0. (Možná úprava: číslo n sa dá vypočítať jednoducho. n=celá časť z a1/2 ). Algoritmus naznačuje nasledujúci vývojový diagram.&lt;br /&gt;
&lt;br /&gt;
Ukážka: a=23&lt;br /&gt;
a del podiel&lt;br /&gt;
23 / 2 = 11 zv 1&lt;br /&gt;
23 / 3 = 7 zv 2&lt;br /&gt;
23 / 4 = 5 zv 3&lt;br /&gt;
23 / 5 = 4 zv 3 del &amp;gt; podiel, koniec, a je prvočíslo&lt;br /&gt;
23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
int a;&lt;br /&gt;
printf(“Zadaj cislo, ktore chces testovat na prvocislo\n”);&lt;br /&gt;
&lt;br /&gt;
scanf(&amp;quot;%d&amp;quot;,&amp;amp;a);&lt;br /&gt;
int del=2,prvocislo=1,podiel,zv;&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
podiel=a/del;&lt;br /&gt;
zv=a%del;&lt;br /&gt;
del++;&lt;br /&gt;
if(zv==0)&lt;br /&gt;
{&lt;br /&gt;
    del=podiel+1;&lt;br /&gt;
    prvocislo=0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}while(podiel&amp;gt;del);&lt;br /&gt;
if(prvocislo==1)&lt;br /&gt;
    printf(&amp;quot;%d je prvocislo“,a);&lt;br /&gt;
else&lt;br /&gt;
    printf(&amp;quot;%d nie je prvocislo“,a);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Výpočet čísla pí===&lt;br /&gt;
;Zadanie: Existuje nekonečný rad, ktorého súčtom je číslo PÍ. (vzťah PI.1). Ak budeme i zväčšovať až do nekonečna, dostaneme presnú hodnotu čísla PÍ. Vypočítajte číslo PI čo najpresnejšie. Presnosť výpočtu závisí od toho, pokiaľ budeme zväčšovať číslo i. Nájdite také n (i=0…n) , pri ktorom je výsledok presný na 15 desatinných miest.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Rozpísaním vzťahu PI.1 dostaneme vzťah PI.2. Úlohou je zvoliť vhodné n. Program urobíme tak, že na začiatku sa načíta číslo n a program vypočíta číslo PÍ s daným n. Číslo n musí byť dostatočne veľké, aby hodnota PÍ bola dostatočne presná. V samotnom výpočte sčítavame zlomky, ktorých menovatele sú iba nepárne čísla. To, aby boli čísla nepárne zabezpečíme tak, že menovateľ bude: 2*i+1. Ak dosadíme ľubovoľné i, dostaneme nepárne číslo. Druh[ vec, ktorú musíme vyriešiť je striedanie znamienok v súčte. Vytvoríme si premennú znamienko, ktorá bude mať hodnotu 1 alebo -1. V každom cykle budeme túto hodnotu meniť.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
    double pi=0;&lt;br /&gt;
    int znamienko=1;&lt;br /&gt;
    long int n;&lt;br /&gt;
    scanf(&amp;quot;%ld&amp;quot;,&amp;amp;n);&lt;br /&gt;
    for(int i=0;i&amp;lt;n ;i++)&lt;br /&gt;
    {&lt;br /&gt;
        pi+=znamienko*4.0/(2*i+1);&lt;br /&gt;
        znamienko=-znamienko;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;PI=%.15f\n&amp;quot;,pi);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Podmienky&amp;diff=12631</id>
		<title>Jazyk C (príklady) - Podmienky</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Podmienky&amp;diff=12631"/>
		<updated>2020-05-19T21:15:30Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Teória */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
 &lt;br /&gt;
V tejto časti sú ukázané príklady s využitím podmieného príkazu. Na pochopenie týchto príkladov sa predpokladá zvládnutie syntaxe a sémantiky príkazov if a switch.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== Teória==&lt;br /&gt;
===if===&lt;br /&gt;
Príkaz if má 2 verzie.&lt;br /&gt;
&lt;br /&gt;
;1. Skrátená verzia: má len jednu vetvu.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
if(podmienka)&lt;br /&gt;
    príkaz;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;Význam: ak je podmienka pravdivá, vykoná sa príkaz.&lt;br /&gt;
&lt;br /&gt;
;2. Úplná verzia: má obe vetvy.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if(podmienka)&lt;br /&gt;
    príkaz;&lt;br /&gt;
else&lt;br /&gt;
    príkaz2;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Význam: ak je podmienka pravdivá vykoná sa príkaz1, v opačnom prípade sa vykoná príkaz2.&lt;br /&gt;
;3. Rozšírená verzia: vo vetvách má viacero príkazov.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
if(podmienka)&lt;br /&gt;
{&lt;br /&gt;
    príkaz1;&lt;br /&gt;
    príkaz2;&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
    príkaz3;&lt;br /&gt;
    príkaz4;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;Význam: Význam je rovnaký ako v druhom prípade, avšak teraz vykonávame viacero príkazov. V prípade ak cheme vykonať viacero príkazov, musíme tieto uzatvoriť do bloku {}.&lt;br /&gt;
&lt;br /&gt;
===switch===&lt;br /&gt;
switch - viacnásobný výber.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
switch(vyraz)&lt;br /&gt;
{&lt;br /&gt;
case hod_1: prikaz1; break;&lt;br /&gt;
case hod_2: prikaz2; break;&lt;br /&gt;
&lt;br /&gt;
case hod_n: prikazn; break;&lt;br /&gt;
default: prikazD;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
;Význam: vyraz môže nadobúdať celočíselné hodnoty hod_1, hod_2, ...,hod_n, alebo nejaké iné celočíselné hodnoty. V prípade že vyraz má hodnotu hod_1, vykoná sa príkaz1 a príkaz switch sa ukončí. V prípade že vyraz má hodnotu hod_2, vykoná sa príkaz2 a príkaz switch sa ukončí.  Ak nadobudne vyraz nejakú inú hodnotu, vykoná sa príkazD. Ak by sa príkaz break neuviedol, vykonajú sa všetky vetvy príkazu switch postupne.&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
&lt;br /&gt;
===Delenie nulou 1===&lt;br /&gt;
;Zadanie: Vytvorte program, ktorý načíta 2 čísla a vypíše ich podiel. Ošetrite prípad, keď deliteľ je nulový (operácia delenie 0 nie je definovaná).&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: V prípade delenia nulou sa program ukončí chybovou hláškou „delenie nulou“. Tento prípad ošetríme vhodným použítím podmieňovacieho príkazu. Operáciu delenia budeme robiť iba v prípade, ak je deliteľ rôzny od nuly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Program:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    float x,y;&lt;br /&gt;
    printf(&amp;quot;Zadajte 2 reálne čísla. \n&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%f %f&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    if(y!=0)&lt;br /&gt;
        printf(&amp;quot;podiel x/y=%.3f&amp;quot;,x/y);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Delenie nulou 2===&lt;br /&gt;
;Zadanie: Uvažujeme predchádzajúci príklad s tou zmenou, že ak má deliteľ hodnotu 0, program vypíše upozornenie „Nulou sa delit neda“. V opačnom prípade (teda, keď je všetko v poriadku) sa vypíše podiel.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: V tomto prípade použijeme rozšírenú formu príkazu if: if-else.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    float x,y;&lt;br /&gt;
    printf(&amp;quot;Zadajte 2 reálne čísla. \n&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%f %f&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    if(y==0)&lt;br /&gt;
        printf(&amp;quot;Nulou sa delit neda&amp;quot;);&lt;br /&gt;
    else&lt;br /&gt;
        printf(&amp;quot;podiel x/y=%.3f&amp;quot;,x/y);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Absolútna hodnota===&lt;br /&gt;
;Zadanie: Vytvorte program, ktorý vypočíta absolútnu hodnotu zadaného čísla.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Absolútna hodnota je definovaná ako vzdialenosť čísla od nuly. Teda ak je číslo kladné, jeho absolútna hodnota je to isté číslo. Ak je číslo záporné, jeho absolútna hodnota je toto číslo, ale kladné.&lt;br /&gt;
&lt;br /&gt;
abs(x)=&lt;br /&gt;
&lt;br /&gt;
*x,        ak je x&amp;gt;=0&lt;br /&gt;
*-1*x,   ak je x&amp;lt;0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int x;&lt;br /&gt;
    printf(&amp;quot;Zadajte 1 celé číslo. \n&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d&amp;quot;,&amp;amp;x);&lt;br /&gt;
    if(x&amp;lt;0)&lt;br /&gt;
         x=-1*x;&lt;br /&gt;
    printf(&amp;quot;abs(x)=%d&amp;quot;,x);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Minimálna hodnota===&lt;br /&gt;
;Zadanie: Máme zistiť minimálnu hodnotu z dvoch zadaných čísel x a y.&lt;br /&gt;
;Analýza problému: Menšie z dvoch čísel zistíme jednoduchým porovnaním hondôt oboch premenných.&lt;br /&gt;
&lt;br /&gt;
'''Príklad:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{    &lt;br /&gt;
&lt;br /&gt;
    int x,y,min;&lt;br /&gt;
    printf(&amp;quot;Zadajte 2 celé čísla. \n&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d %d&amp;quot;,&amp;amp;x,&amp;amp;y);&lt;br /&gt;
    if(x&amp;lt;y)&lt;br /&gt;
         min=x;&lt;br /&gt;
    else&lt;br /&gt;
         min=y;&lt;br /&gt;
    printf(&amp;quot;min(%d,%d)=%d&amp;quot;,x,y,min);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Maximálna hodnota===&lt;br /&gt;
;Zadanie: Máme zistiť maximálnu hodnotu z troch zadaných čísel x, y, a z.&lt;br /&gt;
;Analýza problému: Keďže máme zistiť maximum len z troch čísel, najjednoduchším spôsobom bude porovnať každé číslo s každým. Týmto dostaneme 3 porovnania, po ktorých vieme jednoznačne určiť najväčšie číslo. Na lepšiu predstavivosť poslúži obrázok č.9.&lt;br /&gt;
&lt;br /&gt;
'''Príklad:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a, b, c, m;&lt;br /&gt;
    scanf(&amp;quot;%d %d %d&amp;quot;,&amp;amp;a, &amp;amp;b, &amp;amp;c);&lt;br /&gt;
    if(a&amp;gt;b)&lt;br /&gt;
    {    if(a&amp;gt;c)&lt;br /&gt;
            m=a;&lt;br /&gt;
         else&lt;br /&gt;
            m=c;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {    if(b&amp;gt;c)&lt;br /&gt;
            m=b;&lt;br /&gt;
         else&lt;br /&gt;
            m=c;&lt;br /&gt;
    }&lt;br /&gt;
    printf(&amp;quot;%d&amp;quot;,m);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Slovné hodnotenie===&lt;br /&gt;
;Zadanie: Vytvorte prgram, ktorý by po zadaní známky (číselná hodnota) túto hodnotu previedol na textové hodnotenie. Známky majú takéto slovné hodnotenia: 1-výborne, 2-veľmi dobre, 3-dobre, 4-dostatočne, 5-nedostatočne.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na riešenie tohoto problému môžeme použiť príkaz if, avšak jeho použitie je v tomto prípade dosť neprehľadné. Použime teda príkaz switch.&lt;br /&gt;
'''Príklad:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;
void main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
    int zn;&lt;br /&gt;
    printf(&amp;quot;Zadaj znamku (od 1 do 5)&amp;quot;);&lt;br /&gt;
    scanf(&amp;quot;%d&amp;quot;,&amp;amp;zn);&lt;br /&gt;
    switch(zn)&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
        case 1 : printf(&amp;quot;vyborne&amp;quot;);break;&lt;br /&gt;
        case 2 : printf(&amp;quot;velmi dobre&amp;quot;);break;&lt;br /&gt;
        case 3 : printf(&amp;quot;dobre&amp;quot;);break;&lt;br /&gt;
        case 4 : printf(&amp;quot;dostatocne&amp;quot;);break;&lt;br /&gt;
        case 5 : printf(&amp;quot;nedostatocne&amp;quot;);break;&lt;br /&gt;
        default : printf(&amp;quot;nepripustna znamka %d\n&amp;quot;,zn);break;&lt;br /&gt;
&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Algoritmy&amp;diff=12628</id>
		<title>Jazyk C (príklady) - Algoritmy</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Jazyk_C_(pr%C3%ADklady)_-_Algoritmy&amp;diff=12628"/>
		<updated>2020-05-19T21:14:12Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Prvočíslo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategória:Študijné materiály]]&lt;br /&gt;
[[Kategória:Informatika]]&lt;br /&gt;
{{Priklady_ZI}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Obsah==&lt;br /&gt;
V tejto kapitole budú ukázaná tvorba jednoduchých vývojových diagramov. Budú ukázané základné prvky algoritmizácie úloh, použitie rozhodovania, opakovania istého počtu operácií. K zvládnutiu tejto kapitoly sa predpokladá znalosť grafických značiek použitých pri tvorbe vývojových diagramov.&lt;br /&gt;
&lt;br /&gt;
===Grafické značky vývojových diagramov===&lt;br /&gt;
&lt;br /&gt;
Medzi základné stavebné bloky vývojových diagramov (VD)  patria bloky, ktoré reprezentujú&lt;br /&gt;
&lt;br /&gt;
*začiatok / koniec VD&lt;br /&gt;
*vykonávací blok&lt;br /&gt;
*rozhodovací blok&lt;br /&gt;
*spojka&lt;br /&gt;
*vstup / výstup dát&lt;br /&gt;
*orientované spojnice blokov&lt;br /&gt;
[http://www.kiwiki.info/index.php/Algoritmus[Vývojové stavebné bloky]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Príklady==&lt;br /&gt;
&lt;br /&gt;
===Absolútna hodnota===&lt;br /&gt;
;Zadanie: Vieme, že absolútna hodnota je definovaná ako vzdialenosť čísla od začiatku súradnicového systému (resp. od nuly). Nakreslite vývojový diagram, ktorý by znázorňoval výpočet absolútnej hodnoty.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Pre absolútnu hodnotu reálnych čísel platí:&lt;br /&gt;
* abs(x) = x&lt;br /&gt;
* abs(-x) = x&lt;br /&gt;
Inak povedané, pre x&amp;gt;=0, je absolútna hodnota x rovná práve x, pre x&amp;lt;0 je absolútna hodnota x rovná -1*x. &lt;br /&gt;
Teda, stačí nám zistiť, či je x menšie ako nula.&lt;br /&gt;
&lt;br /&gt;
[[Súbor:78 2 alg1.png|240px|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kvadratická rovnica===&lt;br /&gt;
;Zadanie: Navrhnite algoritmus výpočtu koreňov kvadratickej rovnice ax2+bx+c=0. Vstupom do algoritmu budú koeficienty a, b, c, a výstupom budú korene kvadratickej rovnice x1,2.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Riešenie tejto rovnice je známe, úlohou je tento problém znázorniť v podobe vývojového diagramu. Vieme, že kvadratická rovnica má dva korene (x1 a x2). Tieto korene môžu byť rôzne, alebo riešením je jeden dvojnásobný koreň. Toto zistíme pomocou výpočtu diskriminantu kvadratickej rovnice. Diskriminant je definovaný ako D=b2-4ac&lt;br /&gt;
Rozoberme si jednotlivé prípady riešenia.&lt;br /&gt;
*D&amp;gt;0 : Rovnica má dva korene: x1=(-b+D1/2)/4ac, x2=(-b-D1/2)/4ac&lt;br /&gt;
*D=0 : Rovnica má jeden dvojnásobný koreň: x1,2=-b/4ac&lt;br /&gt;
*D&amp;lt;0 : Rovnica má riešenie na množine komplexných čísel:&lt;br /&gt;
Vieme, že i2=-1. (i je komplexná jednotka). Potom výpočet druhej odmocniny diskriminantu je (D)1/2=(i2 * (-D))1/2=i*(-D) ½ (poznámka: D&amp;lt;0). Teda korene kvadratickej rovnice budú x1=(-b+iD1/2)/4ac, x2=(-b-iD1/2)/4ac&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:80 2 alg2.png|480px|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Maximum z 3 hodnôt===&lt;br /&gt;
;Zadanie: V predajni skrípt majú 3 skriptá, o ktoré máme záujem. Cena skrípt je a, b, c Sk. Navrhnite algoritmus, ktorý nájde najdrahšie skriptá; teda skriptá s maximálnou cenou.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: V prípade, ak máme zistiť maximálnu (alebo minimálnu) hodnotu z troch čísel, musíme každé číslo porovnať s každým iným číslom. Teda, spolu budeme robiť 3 porovnania (a&amp;lt;-&amp;gt;b, a&amp;lt;-&amp;gt;c, b&amp;lt;-&amp;gt;c). Nemá zmysel porovnávať ab a ba, lebo toto sú totožné porovnania. Ak teda máme zistiť najväčšie číslo z a, b, c, môžeme postupovať napríklad nasledovne: Najskôr porovnáme : a&amp;gt;b. Ak toto platí, potom porovnáme a&amp;gt;c. V prípade ak aj toto platí, tak maximum je a. Keby platilo že: a&amp;gt;b a c&amp;gt;a, potom vieme, že maximum je c. Takto by sme mohli pokračovať ďalej.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:82 2 alg3.png|360px|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Opakované načítanie===&lt;br /&gt;
&lt;br /&gt;
;Zadanie: Na faktúre je údaj o počte položiek a samotné položky (položka obsahuje o.i. aj cenu v Sk). Ak viete koľko je na faktúre položiek, navrhnite algoritmus, ktorý vypočíta celkovú sumu položiek faktúry. Prvý vstupný údaj bude číslo pocet, ktoré nám hovorí o počte nasledujúcich položiek. Následne sa načíta pocet položiek ( – celých čísel symbolizujúcim cenu položky). Navrhnite algoritmus, ktorý vypočíta výslednú sumu ceny všetkých položiek.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: V tomto prípade nikdy popredu nevieme, koľko budeme načítavať položiek. Tento údaj sa dozvieme až v momente, keď načítame prvý údaj. Úlohou bude teda navrhnúť algoritmus, ktorý by načítal požadovaný počet položiek (počet položiek môže byť od 0 až po ľubovoľne veľké konečné číslo). Na riešenie tohto problému využijeme cyklus. Tento cyklus sa bude opakovať toľkokrát, koľko položiek máme načítať. Pri každom opakovaní cyklu načítame jednu položku (položku označme ako premennú a) a jej hodnotu pripočítame k výslednej sume. Ďalším algoritmickým problémom je zabezpečiť, aby sa tento cyklus vykonával presne pocet krát. Tu využijeme prvý vstupný údaj pocet. Pri každej iterácii (opakovaní) cyklu sa hodnota premennej pocet zníži o 1. Cyklus budeme opakovať dovtedy, pokiaľ bude premenná pocet rôzna od nuly. Na výpočet súčtu všetkých položiek využijeme premennú suma, ktorú na začiatku vynulujeme (priradíme jej hodnotu 0).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:84 2 alg4.png|360px|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Násobenie===&lt;br /&gt;
&lt;br /&gt;
;Zadanie: V počítačoch (na hardvérovej úrovni) sa operácia násobenia vykoná pomocou opakovaného sčítavania dvoch hodnôt. Vytvorte algoritmus, ktorý by násobil dve celé čísla pomocou opakovaného sčítavania.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Na riešenie problému nemôžeme použiť operáciu násobenia (*), musíme použiť operáciu sčítavania (+). Zoberme si príklad: x=5*3. Tu budeme 3 krát pripočítame hodnotu 5 do premennej x, ktorú musíme najskôr vynulovať. Teda x=5+5+5=15. Vo všeobecnosti máme x=a*b=a+a+...+a : sčítavanie robíme b krát. Z uvedeného vyplýva, že nemôžeme pevne napísať, koľkokrát sa a pripočíta do premennej x. Tu bude vhodné využiť nejaký cyklus. V každom cykle sa do premennej x pripočíta hodnota a. Počet opakovaní cyklu je b. V každej iterácii cyklu hodnotu premennej b znížime o 1. Cyklus ukončíme, ak sa b=0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:86 2 alg5.png|300px|none]]&lt;br /&gt;
&lt;br /&gt;
===Prvočíslo===&lt;br /&gt;
;Zadanie: Navrhnite algoritmus, ktorý zistí, či zadané číslo a je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
;Analýza problému: Prvočíslo je číslo, ktoré je delitelné iba číslom 1 a sebou samým. Pri testovaní čísla a na prvočíselnosť postupne celočíselne deliť číslo a číslami del=2, 3, ...n. Ak pri všetkých deleniach bude nejaký zvyšok (a sa nedá deliť číslom del), povieme že číslo a je prvočíslo. Ak v priebehu delenia zistíme, že a je delitené číslom del bezo zvyšku, algoritmus ukončíme, a povieme že a nie je prvočíslo. Ďalší problém je určiť, dokedy má zmysel zväčšovať deliteľ del. V predchádzajúcom texte sme del zvyšovali po hodnotu n. Úlohou je odhadnúť vhodné n. Pokúsme sa postupovať nasledovne: ako prvý deliteľ je del=2. Teda delíme a číslom del=2. Výsledok po tomto delení označme podiel. Ak budeme premennú del zvyšovať, nebude mať zmysel zväčšovať ju nad hodnotu podiel=a/2, pretože číslo a nemôže deliť žiadne číslo, ktoré je väčšie ako a/2. Ďalej, nech del=3. Ak číslo del (del=3) nedelí číslo a, hranica delenia – n sa zníži na hodnotu a/3, pretože žiadne číslo väčšie ako a/3 nemôže deliť a bezo zvyšku. Z uvedeného nám vyplýva, že hranicu n môžeme určiť nasledovne: Pri každom delení si zapamätáme podiel. Ďalšie delenie robíme iba ak podiel&amp;gt;del. V algoritme použijeme ešte jednu premennú prvocislo. Táto premenná nám bude hovoriť, či je číslo prvočíslo alebo nie je. Na začiatku má hodnotu 1 – teda predpokladáme, že číslo je prvočíslo. V prípade, ak počas delenia zistíme, že nejaké číslo del delí a bezo zvyšku, premennej prvocislo priradíme hodnotu 0. Vyhlásime, že a nie je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
; Ukážka:&lt;br /&gt;
*a=23&lt;br /&gt;
*a del podiel&lt;br /&gt;
*23 / 2 = 11 zv 1&lt;br /&gt;
*23 / 3 = 7 zv 2&lt;br /&gt;
*23 / 4 = 5 zv 3&lt;br /&gt;
*23 / 5 = 4 zv 3 del &amp;gt; podiel; koniec; a je prvočíslo, pretože ani jeden zvyšok po delení nebol 0&lt;br /&gt;
*23 je prvočíslo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Súbor:88 2 alg6.png|480px|none]]&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12620</id>
		<title>Strncat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12620"/>
		<updated>2020-05-19T20:57:43Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strncat(char *dest, const char *src, size_t n)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec z dĺžkou n znakov na ktorý odkazuje src, na koniec reťazca.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
;n: Toto je maximálny počet znakov, ktoré sa majú pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strncat(dest, src, 13);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je cielToto je zdroj|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12619</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12619"/>
		<updated>2020-05-19T20:56:06Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Príklad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je cielToto je zdroj|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12618</id>
		<title>Strncat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12618"/>
		<updated>2020-05-19T20:55:49Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Príklad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strncat(char *dest, const char *src, size_t n)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec z dĺžkou n znakov na ktorý odkazuje src, na koniec reťazca.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
;n: Toto je maximálny počet znakov, ktoré sa majú pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strncat(dest, src, 13);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je cielToto je zdroj|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12617</id>
		<title>Strncat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12617"/>
		<updated>2020-05-19T20:55:07Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strncat(char *dest, const char *src, size_t n)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec z dĺžkou n znakov na ktorý odkazuje src, na koniec reťazca.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
;n: Toto je maximálny počet znakov, ktoré sa majú pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strncat(dest, src, 14);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12616</id>
		<title>Strncat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strncat_(jazyk_C)&amp;diff=12616"/>
		<updated>2020-05-19T20:54:45Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: Vytvorená stránka „{{Funkcie jazyka c}} __NOTOC__ ==Funkcia strcat== &amp;lt;properties&amp;gt; knižnica=string.h popis=Pripoji retazec na koniec 2 retazca. &amp;lt;/properties&amp;gt;  Úplný funkčný prototyp&amp;lt;re…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strncat(char *dest, const char *src, size_t n)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec z dĺžkou n znakov, na ktorý odkazuje src, na koniec reťazca.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
;n: Toto je maximálny počet znakov, ktoré sa majú pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strncat(dest, src, 14);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12612</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12612"/>
		<updated>2020-05-19T20:51:26Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Funkcia strcat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12611</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12611"/>
		<updated>2020-05-19T20:51:03Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Funkcia strcat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
char *strncat(char *dest, const char *src, size_t n)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12610</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12610"/>
		<updated>2020-05-19T20:49:36Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12606</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12606"/>
		<updated>2020-05-19T20:45:18Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť. To by nemalo prekrývať cieľ.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12604</id>
		<title>Strcat (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcat_(jazyk_C)&amp;diff=12604"/>
		<updated>2020-05-19T20:44:57Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcat==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Pripoji retazec na koniec 2 retazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcat.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcat(char *dest, const char *src);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pripojí reťazec na ktorý odkazuje src na koniec reťazca, na ktorý odkazuje dest.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, ktoré by malo obsahovať reťazec C, a mal by byť dostatočne veľký na to, aby obsahoval zreťazený výsledný reťazec.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má pripojiť. To by nemalo prekrývať cieľ.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti ukazovateľ na výsledný cieľový reťazec.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[50], dest[50];&lt;br /&gt;
&lt;br /&gt;
   strcpy(src,  &amp;quot;Toto je zdroj&amp;quot;);&lt;br /&gt;
   strcpy(dest, &amp;quot;Toto je ciel&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
   strcat(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Finálny retazec : |%s|&amp;quot;, dest);&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Finálny retazec: |Toto je zdrojToto je ciel|&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12602</id>
		<title>Strstr (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12602"/>
		<updated>2020-05-19T20:43:51Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strstr==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Nájde prvý výskyt podreťazca v retazci&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strstr(const char *haystack, const char *needle)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia nájde prvý výskyt podreťazca v retazci. Ukončovacie znaky '\0' sa neporovnávajú.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;haystack: Toto je hlavný reťazec C, ktorý sa má skenovať.&lt;br /&gt;
&lt;br /&gt;
;needle: Toto je reťazec, ktorý sa má hľadá v reťazci haystack.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vracia ukazovateľ k prvého výskytu v hlavnom retazci akejkoľvek z celej postupnosti znakov zadaných v podretazci alebo nulový ukazovateľ, ak sa sekvencia v retazci nenachádza.&lt;br /&gt;
Vráti sa ukazovateľ na cieľový reťazec dest.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   const char retazec[20] = &amp;quot;Kiwiki&amp;quot;;&lt;br /&gt;
   const char podretazec[10] = &amp;quot;wiki&amp;quot;;&lt;br /&gt;
   char *ret;&lt;br /&gt;
&lt;br /&gt;
   ret = strstr(haystack, needle);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Podretazec je: %s\n&amp;quot;, ret);&lt;br /&gt;
   &lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Podretazec je: wiki&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12601</id>
		<title>Strstr (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12601"/>
		<updated>2020-05-19T20:43:24Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strstr==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Nájde prvý výskyt podreťazca v retazci&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strstr(const char *haystack, const char *needle)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia nájde prvý výskyt podreťazca v retazci. Koncové znaky „\ 0“ sa neporovnávajú.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;haystack: Toto je hlavný reťazec C, ktorý sa má skenovať.&lt;br /&gt;
&lt;br /&gt;
;needle: Toto je reťazec, ktorý sa má hľadá v reťazci haystack.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vracia ukazovateľ k prvého výskytu v hlavnom retazci akejkoľvek z celej postupnosti znakov zadaných v podretazci alebo nulový ukazovateľ, ak sa sekvencia v retazci nenachádza.&lt;br /&gt;
Vráti sa ukazovateľ na cieľový reťazec dest.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   const char retazec[20] = &amp;quot;Kiwiki&amp;quot;;&lt;br /&gt;
   const char podretazec[10] = &amp;quot;wiki&amp;quot;;&lt;br /&gt;
   char *ret;&lt;br /&gt;
&lt;br /&gt;
   ret = strstr(haystack, needle);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Podretazec je: %s\n&amp;quot;, ret);&lt;br /&gt;
   &lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Podretazec je: wiki&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12600</id>
		<title>Strstr (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strstr_(jazyk_C)&amp;diff=12600"/>
		<updated>2020-05-19T20:43:09Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Návratová hodnota */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strstr==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis=Nájde prvý výskyt podreťazca v retazci&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strstr.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strstr(const char *haystack, const char *needle)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia nájde prvý výskyt podreťazca v retazci . Koncové znaky „\ 0“ sa neporovnávajú.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;haystack: Toto je hlavný reťazec C, ktorý sa má skenovať.&lt;br /&gt;
&lt;br /&gt;
;needle: Toto je reťazec, ktorý sa má hľadá v reťazci haystack.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vracia ukazovateľ k prvého výskytu v hlavnom retazci akejkoľvek z celej postupnosti znakov zadaných v podretazci alebo nulový ukazovateľ, ak sa sekvencia v retazci nenachádza.&lt;br /&gt;
Vráti sa ukazovateľ na cieľový reťazec dest.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   const char retazec[20] = &amp;quot;Kiwiki&amp;quot;;&lt;br /&gt;
   const char podretazec[10] = &amp;quot;wiki&amp;quot;;&lt;br /&gt;
   char *ret;&lt;br /&gt;
&lt;br /&gt;
   ret = strstr(haystack, needle);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Podretazec je: %s\n&amp;quot;, ret);&lt;br /&gt;
   &lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Podretazec je: wiki&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcpy_(jazyk_C)&amp;diff=12598</id>
		<title>Strcpy (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcpy_(jazyk_C)&amp;diff=12598"/>
		<updated>2020-05-19T20:41:42Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcpy==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis= Skopíruje reťazec do iného reťazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcpy(char *dest, const char *src)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia skopíruje reťazec, na ktorý odkazuje, zo src do dest .&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, do ktorého sa má obsah skopírovať.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má skopírovať.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
&lt;br /&gt;
Vráti sa ukazovateľ na cieľový reťazec dest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[40];&lt;br /&gt;
   char dest[100];&lt;br /&gt;
  &lt;br /&gt;
   memset(dest, '\0', sizeof(dest));&lt;br /&gt;
   strcpy(src, &amp;quot;Toto je http://www.kiwiki.info/index.php&amp;quot;);&lt;br /&gt;
   strcpy(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Skopírovaný retazec: %s\n&amp;quot;, dest);&lt;br /&gt;
   &lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
 Skopírovaný retazec: Toto je http://www.kiwiki.info/index.php&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Strcpy_(jazyk_C)&amp;diff=12596</id>
		<title>Strcpy (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Strcpy_(jazyk_C)&amp;diff=12596"/>
		<updated>2020-05-19T20:41:14Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Podrobný popis funkcie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia strcpy==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=string.h&lt;br /&gt;
popis= Skopíruje reťazec do iného reťazca.&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_strcpy.htm&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
char *strcpy(char *dest, const char *src)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia skopíruje reťazec, na ktorý odkazuje , zo src do dest .&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;dest: Toto je ukazovateľ na cieľové pole, do ktorého sa má obsah skopírovať.&lt;br /&gt;
&lt;br /&gt;
;src: Toto je reťazec, ktorý sa má skopírovať.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
&lt;br /&gt;
Vráti sa ukazovateľ na cieľový reťazec dest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   char src[40];&lt;br /&gt;
   char dest[100];&lt;br /&gt;
  &lt;br /&gt;
   memset(dest, '\0', sizeof(dest));&lt;br /&gt;
   strcpy(src, &amp;quot;Toto je http://www.kiwiki.info/index.php&amp;quot;);&lt;br /&gt;
   strcpy(dest, src);&lt;br /&gt;
&lt;br /&gt;
   printf(&amp;quot;Skopírovaný retazec: %s\n&amp;quot;, dest);&lt;br /&gt;
   &lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Výstup:&lt;br /&gt;
 Skopírovaný retazec: Toto je http://www.kiwiki.info/index.php&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Atof_(jazyk_C)&amp;diff=12570</id>
		<title>Atof (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Atof_(jazyk_C)&amp;diff=12570"/>
		<updated>2020-05-19T20:19:18Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia atof==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=stdlib.h&lt;br /&gt;
popis=analýza stringu&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
double atof(const char *str)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia double atof(const char *str) prevádza string na reálne číslo.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;str: vyjadrenie čísla v parametri string reprezentujúce reálne číslo&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti prevedené číslo zo stringu na reálne číslo. Ak nie je možné vykonať premenu vráti nulu&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   float val;&lt;br /&gt;
   char str[20];&lt;br /&gt;
   &lt;br /&gt;
   strcpy(str, &amp;quot;98993489&amp;quot;);&lt;br /&gt;
   val = atof(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota reálneho čísla = %f\n&amp;quot;, str, val);&lt;br /&gt;
&lt;br /&gt;
   strcpy(str, &amp;quot;MTF STU&amp;quot;);&lt;br /&gt;
   val = atof(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota reálneho čísla = %f\n&amp;quot;, str, val);&lt;br /&gt;
&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Výstup:''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Hodnota stringu = 98993489, Hodnota reálneho čísla = 98993489&lt;br /&gt;
Hodnota stringu = MTF STU, Hodnota reálneho čísla = 0.000000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_atof.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Atol_(jazyk_C)&amp;diff=12569</id>
		<title>Atol (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Atol_(jazyk_C)&amp;diff=12569"/>
		<updated>2020-05-19T20:19:05Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia atol==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=stdlib.h&lt;br /&gt;
popis=analýza stringu&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
long int atol(const char *str)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia long int atol(const char * str) prevádza argument string na číslo typu long int.&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;str: vyjadrenie čísla v parametri string reprezentujúce integer&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti prevedené číslo typu string na long integer. Ak nebolo možné vykonať platný prevod, vráti nulu.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   long val;&lt;br /&gt;
   char str[20];&lt;br /&gt;
   &lt;br /&gt;
   strcpy(str, &amp;quot;98993489&amp;quot;);&lt;br /&gt;
   val = atol(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota long int = %ld\n&amp;quot;, str, val);&lt;br /&gt;
&lt;br /&gt;
   strcpy(str, &amp;quot;MTF STU&amp;quot;);&lt;br /&gt;
   val = atol(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota long int = %ld\n&amp;quot;, str, val);&lt;br /&gt;
	&lt;br /&gt;
   return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Výstup:''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Hodnota stringu = 98993489, Hodnota long int = 98993489&lt;br /&gt;
Hodnota stringu = MTF STU, Hodnota long int = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_atol.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Atoi_(jazyk_C)&amp;diff=12568</id>
		<title>Atoi (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Atoi_(jazyk_C)&amp;diff=12568"/>
		<updated>2020-05-19T20:18:50Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Parametre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia atoi==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=stdlib.h&lt;br /&gt;
popis=analýza stringu&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
int atoi(const char *str)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Analyzuje string a jeho obsah interpretuje ako celé číslo typu integer&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;str: vyjadrenie čísla v parametri string reprezentujúce integer&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Táto funkcia vráti prevedené číslo typu string na integer. Ak nebolo možné vykonať platný prevod, vráti nulu.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main () {&lt;br /&gt;
   int val;&lt;br /&gt;
   char str[20];&lt;br /&gt;
   &lt;br /&gt;
   strcpy(str, &amp;quot;98993489&amp;quot;);&lt;br /&gt;
   val = atoi(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota integeru = %d\n&amp;quot;, str, val);&lt;br /&gt;
&lt;br /&gt;
   strcpy(str, &amp;quot;MTF STU&amp;quot;);&lt;br /&gt;
   val = atoi(str);&lt;br /&gt;
   printf(&amp;quot;Hodnota stringu = %s, Hodnota integeru = %d\n&amp;quot;, str, val);&lt;br /&gt;
   &lt;br /&gt;
return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Výstup''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
Hodnota stringu = 98993489, Hodnota integeru = 98993489&lt;br /&gt;
Hodnota stringu = MTF STU, Hodnota long int = 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_atoi.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=Malloc_(jazyk_C)&amp;diff=12561</id>
		<title>Malloc (jazyk C)</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=Malloc_(jazyk_C)&amp;diff=12561"/>
		<updated>2020-05-19T20:03:37Z</updated>

		<summary type="html">&lt;p&gt;PatrikC: /* Príklad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Funkcie jazyka c}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Funkcia malloc==&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
knižnica=stdlib.h &lt;br /&gt;
popis=Pridelí (alokuje) požadovanú veľkosť pamäte. &lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Úplný funkčný prototyp:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
  void *malloc(size_t size)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Podrobný popis funkcie==&lt;br /&gt;
Funkcia pridelí (alokuje) požadovanú veľkosť pamäte a vráti [[Jazyk C - smerník (pointer)|smerník]] odkazujúci na túto časť pamäte.&amp;lt;ref&amp;gt;https://www.tutorialspoint.com/c_standard_library/c_function_malloc.htm&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Parametre==&lt;br /&gt;
;''size'':  Veľkosť vyžadovanej pamäte v bajtoch.&lt;br /&gt;
&lt;br /&gt;
==Návratová hodnota==&lt;br /&gt;
Vráti [[Jazyk C - smerník (pointer)|smerník]] odkazujúci na pridelenú (alokovanú) časť pamäte. Ak sa nepodarilo prideliť (alokovať) pamäť, tak vráti ''NULL''.&lt;br /&gt;
&lt;br /&gt;
==Príklad==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
	char *str;&lt;br /&gt;
&lt;br /&gt;
        str = (char *)malloc(7);              //pridelí pamäť s veľkosťou 7 bajtov smerníku str&lt;br /&gt;
 	strcpy(str, &amp;quot;kiwiki&amp;quot;);&lt;br /&gt;
	printf(&amp;quot;Textovy retazec = %s,  Adresa = %u\n&amp;quot;, str, str);&lt;br /&gt;
&lt;br /&gt;
        str = (char *)realloc(str, 13);       //zmení veľkosť pridelenej pamäte zo 7 bajtov na 13 bajtov&lt;br /&gt;
	strcat(str, &amp;quot;.info&amp;quot;);&lt;br /&gt;
	printf(&amp;quot;Textovy retazec = %s,  Adresa = %u\n&amp;quot;, str, str);&lt;br /&gt;
&lt;br /&gt;
        free(str);                            //zruší pridelenie pamäte&lt;br /&gt;
&lt;br /&gt;
	return(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výstup:&lt;br /&gt;
 Textovy retazec = kiwiki,  Adresa = 14313456&lt;br /&gt;
 Textovy retazec = kiwiki.info,  Adresa = 14313912&lt;br /&gt;
&lt;br /&gt;
==Referencie==&lt;/div&gt;</summary>
		<author><name>PatrikC</name></author>
		
	</entry>
</feed>