Programování v jazyce C

Rozměr: px
Začít zobrazení ze stránky:

Download "Programování v jazyce C"

Transkript

1 Programování v jazyce C Obecné charakteristiky jazyka C: jazyk C je programátorsky přívětivý, obecně použitelný většinou je implementován jako překladač překladač jazyka C je rozsahem malý a lze ho poměrně snadno převést na jiné platformy programy vytvořené pomocí jazyka C mají poměrně krátkou dobu provádění, nízké nároky na paměť a dají se lehce přenášet na jiné počítače Zdrojový kód jazyk C důsledně rozlišuje malá a velká písmena první řádek obsahuje příkaz #include, který určuje hlavičkový soubor stdio.h důležitý pro správné provádění vstupně-výstupních datových operací každý program musí mít jednu povinnou součást, kterou je hlavní funkce main, tento název je pevně daný a neměnný Na programování potřebujeme vývojové prostředí, které slouží pro překlad algoritmů napsaných v nějakém vyšším programovacím jazyce do jazyka strojového neboli strojového kódu pomocí kompilátoru. Budeme používat Vytvoření projektu 1. Na úvodní stránce: Create a new project Vyberte skupinu Projects a v kategorii Console položku Console Application.

2 program vygeneruje první soubor 8. Kompilace: Build->Build nebo tlačítkem 9. Spuštění programu: Build->Run nebo tlačítkem

3 Jak pracuje kompilátor Vstupem do kompilátoru je náš zdrojový kód s příponou *.c ten se dostane do preprocesoru který nám "před připraví" náš kód např.: smaže komentáře poté kód vstupuje do kompilátoru kompilátor nám vytvoří program v objektovém kódu ovšem který ještě nejde spustit. Poté kód vstupuje do tzv. linkeru a právě linker nám poskládá už objektový kód knihovny tak, aby program nyní šel spustit. Komentáře: Komentáře se jako v jiných jazycích používají také v jazyce C příklady: /* Sem si můžete napsat libovolný komentář */ <- správně! // Sem si můžete napsat libovolný komentář <- správně! */ Sem si můžete napsat libovolný komentář /* <- špatně! V komentářích můžete libovolně používat diakritiku, protože jak už víte tak se komentáře při kompilaci vymažou. Co je to hlavičkový soubor? Hlavičkový soubor je soubor, který nám umožňují používat funkce. Hlavičkové soubory musí být připojený ke každému zdrojovému kódu.

4 příklad: Hlavičkový soubor stdio.h -> Obsahuje hodně užitečných spíš až základních funkcí. Hlavní z nich jsou printf();scanf();getchar(); a jiné Funkce main po spuštění se vždy načte jako první má syntaxi - typ název (parametr) - začíná a končí složenými závorkami Funkce printf() vytiskne zadaná data na obrazovku syntaxe - int printf("formát výstupního řetězce, vycet_promennych) - printf("vysledek %a:%b je %lf", a, b, c); Funkce scanf() slouží k načítání dat ze standardního vstupu tato data ukládá do proměnných, které jí předáme jako parametry syntaxe - int scanf("formát vstupního retezce", seznam promennych); u proměnných, do kterých chceme data načítat, musíme použít refenční operátor & (ampersand) - scanf("%lf %lf", &a, &b); takto předáme funkci scanf adresu v paměti, kam má načtenou hodnotu zapsat Funkce getcahr / putchar tyto dvě funkce představují základní možnost načítání a vypisování znaků funkce getchar má následující syntaxi - int getchar(void); funkce nepřebírá žádné parametry, pouze vrací celé číslo - ASCII kód načteného znaku z toho vyplývá, že jazyk C vnitřně pracuje se znakovou proměnnou, jako s celým číslem funkce putchar - syntaxe - void putchar(int ch); slouží k výpisu znaku na standardní výstup a přebírá jediný parametr, a tím je celé číslo reprezentující kód znaku, který chceme tisknout Ukázka, jak pomocí getchar znak načíst, a pomocí putchar zase zpět vypsat. int ch; printf("zadejte alfanumericky znak:"); ch = getchar(); printf("vytiskneme pomoci putchar:"); putchar(ch);

5 Základní datové typy jazyka C Typ Bity Významy čísel char 8 znak short 16 krátké celé číslo int 16/32 celé číslo long 32 dlouhé celé číslo long long 64 ještě delší celé číslo enum 8/16/32 výčtový typ float 32 racionální číslo double 64 racionální číslo s dvojitou přesností long double 80 velmi dlouhé racionální číslo pointer 16/32 ukazatel Při výběru vhodného datového typu je třeba počítat s tím, že rozsah datového typu (tj. nejmenší a největší číslo, které do něj můžete nacpat) se bude lišit počítač od počítače. Boolovské datové typy V některých programovacích jazycích se používá datový typ bool, který může nabývat pouze hodnot true (pravda) nebo false (nepravda). Tyto hodnoty se používají ve vyhodnocování podmínek při řízení běhu programu a podmíněných operátorů. Na tomto místě si jen řekneme, že v jazyce C takovýto typ neexistuje. V jazyce C se jako nepravda vrací 0 a jako pravda 1. A dále platí, že cokoliv nenulového se vyhodnocuje jako pravda (tj. vše kromě 0 a NULL). Datový typ bool můžete používat, pokud zahrnete do svého zdrojového kódu knihovnu <stdbool.h>: #include <stdbool.h> bool x = true; x = false; Bloky, deklarace a definice Blokem se rozumí vše, co je mezi složenými závorkami a. V příkladu nahoře máme jediný blok, a to tělo funkce main (). Všechny proměnné, které deklarujeme v bloku, jsou tzv. lokální proměnné a proměnné mimo blok jsou globální. Lokální proměnné platí jen v těle bloku a v blocích vnořených (jinde je překladač neuvidí). Proměnné jsou místa kdesi v paměti počítače, které definujeme v programu. Velikost místa v paměti závisí na datovém typu proměnné. Do proměnných lze vkládat hodnoty, měnit je a číst. Deklarací proměnných určujeme, jaké proměnné se v programu objeví. Nejdříve se určí datový typ

6 a za ním názvy proměnných oddělené čárkou. Deklarace se ukončí středníkem. Při deklaraci je možné do proměnné rovnou vložit hodnotu. Názvy proměnných nesmí obsahovat mezeru, národní znaky (č, ř, š atp.) a nesmí začínat číslem. Jejich maximální délka je závislá na překladači. Jazyk C rozlišuje malá a velká písmena, takže můžete vytvořit proměnné se jmény Ahoj, ahoj, ahoj a program je bude chápat jako různé identifikátory. Dobrým zvykem je pro proměnné používat vždy jen malá písmena. unsigned int i,j,k; signed int cislo1, cislo2 = cislo3 = 25; Proměnné mohou být v jazyce C deklarovány pouze na začátku bloku funkce (tzv. lokální proměnné), nebo na začátku programu (globální proměnné). Lokální proměnné existují jen v bloku, ve kterém jsou definovány (případně v blocích v něm vnořených) a nelze je tudíž používat mimo něj. NULL NULL je speciální znak, který označuje velké nic. Používá se například v souvislosti s ukazateli. NULL je definováno v knihovně <stddef.h>, která je načítána např. pomocí <stdlib.h> a <stdio.h>. Konstanty Konstanty jsou objekty, jejichž hodnota se za chodu programu nemění. Konstanty se definují za klíčovým slovem const. Po něm následuje datový typ konstanty. Pokud ne, překladač jej chápe jako int. Dále je v definici identifikátor konstanty a za rovnítkem hodnota. const float a = 5; Řídící sekvence %d Celé číslo %f Reálné číslo %lf Reálné číslo se zvýšenou přesností %c Celé číslo, které je konvertováno na znak, např. 64 %o Celé číslo v oktalové soustavě %x Celé číslo v hexadecimální soustavě \a Varovné pípnutí \n Skok na začátek nového řádku \r Přesune vozík na začátek aktuálního řádku \v Vertikální tabulátor; skočí na nový řádek, ale zůstane v aktuálním sloupci

7 Pondělí 7. ledna Větvení Příkaz if else jedná se o příkaz, který umožňuje program větvit do dvou větví na základě logické hodnoty výrazu. Tyto výrazy mohou nabývat dvou stavů pravda/nepravda. K vyjádření těchto výrazů používáme následující operátory: A == B Podmínka je splněna, pokud se A rovná B. A!= B Podmínka je splněna, pokud se A nerovná B. A < B Podmínka je splněna, pokud je A menší než B. A > B Podmínka je splněna, pokud je A větší než B. A <= B Podmínka je splněna, pokud je A menší, nebo rovno než B. A >= B Podmínka je splněna, pokud je A větší, nebo rovno než B. Prostředky pro konstrukci složitějších výrazů: (a!= b) && (b < 25) Výraz je pravdivý, pokud se a nerovná b a současně je b menší než 25 (a < 10) (a > 20) Výraz je pravdivý, pokud je a menší než 10 nebo pokud je a větší než 20. & - pravý alt + c - pravý alt + w Příklady: Dělitelnost int a, b, zbytek; printf("zadejte celá čísla, dělence a dělitele:\n"); scanf("%d%d", &a,&b); zbytek=a % b; if (zbytek==0) printf("číslo %d\ je dělitelné číslem %d",a,b); else printf("číslo %d\ není dělitelné číslem %d",a,b); system("pause"); Jednoduchá kalkulačka #include <stdlib.h> int x, y; char znak;

8 printf("vytvořte jednoduchou kalkulačku, zadejte čísla x, y a operátora "); scanf("%d%d%c",&x, &y, &znak); switch(znak) case '+': printf("vysledek je %d",x+y); break; case '-': printf("vysledek je %d",x-y); break; case '*': printf("vysledek je %d",x*y); break; case '/': printf("vysledek je %f",x/y); break; default: printf("zadali jste špatného operátora"); Pondělí 14. ledna Př. Rozhodněte, zda zadaná čísla mohou být strany trojúhelníku #include <stdlib.h> int a, b, c; printf("zadejte tři čísla a zjistěte, jde-li o strany trojúhelníku\n: "); scanf("%d%d%d", &a,&b,&c); if (a+b>c) if (a+c>b) if(b+c>a) printf("jde o trojúhelník"); else printf("není to trojúhelník"); Podmínky je možné do sebe také vnořovat #include <stdlib.h> int hotovost = 200; int ucet = 3000; double cena = 3500; if (hotovost > cena) if (ucet > cena) puts("můžeš platit kartou i hotovostí."); else puts("zaplať hotovostí.");

9 else if (ucet > cena) puts("zaplať kartou."); else puts("ten nový počítač nepotřebuješ."); Funkce puts() vytiskne řetězec, jenž je jejím argumentem, do standardního výstupu Cykly V případě, že třeba nějakou činnost vykonat opakovaně, je pro tento případ standardním nástrojem cyklus. Céčko nabízí hned tři typy cyklů. for while do - while for cyklus je předem známý počet opakování obecně: for (inicializace; podmínka; krok) příkaz nebo blok Př. Vypište pod sebe čísla od 1 do 10 #include <stdlib.h> int i; for (i = 1; i <= 10; i++) printf("%i\n", i); Př. Vypočítejte faktoriál zadaného čísla int n,i; int faktorial=1; printf("napište èíslo, jehož faktoriál chcete vypoèítat:"); scanf("%d",&n); for (i=2;i<=n; i++) faktorial= faktorial*i;

10 printf("%d",faktorial); Pondělí 21. ledna while cyklus cyklus s podmínkou na začátku obecně: while (logická hodnota) příkaz nebo blok Př. Vypište čísla od 1 do 10 int i = 1; while (i <= 10) printf("%d\n", i); i++; Př. Vypište pod sebe násobky čísla n, které jsou menší než m int i = 1; int n,m,j ; printf("vypište všechny násobky čísla n, které jsou menší než m\n"); printf("zadejte n\n"); scanf("%d",&n); printf("zadejte m\n"); scanf("%d",&m); while (n*i<= m) j=i*n; printf("%d\n",j ); i++; Př. Najdi minimum z neznámého počtu kladných celých čísel podmínka X -1 printf("najdi minimum z neznámého počtu kladných celých čísel podmínka X -1\n"); int x,min=0; printf("zadej číslo x\n"); scanf("%d",&x); min=x; while (x!=-1) if (x<min) min=x; printf("zadej další číslo :\n"); scanf("%d",&x); printf("nejmenší číslo je %d",min);

11 do - while cyklus cyklus s podmínkou na konci. Tento cyklus se používá v případech, kdy potřebujeme tělo cyklu vykonat alespoň jednou obecně: Př. do příkaz nebo blok while (logická hodnota); Zjistěte, kolik čísel jsme napsali, než padla nula int x, pocet=0; do printf("napiste cislo:\n "); scanf("%d",&x); pocet=pocet +1; while (x!= 0); printf("pocet zadanych císel je %d",pocet); Pondělí 28. ledna Switch přepínač int a; printf("napiste cele cislo z intervalu 1-4"); scanf("%d",&a); printf("zvolili jste "); switch(a) case 1: printf("jaro"); break; case 2: printf("leto"); break; case 3: printf("podzim"); break; case 4: printf("zima"); break; default: printf("spatne cislo");

12 Příkazy break a continue Tyto příkazy se používají v případě, že potřebujeme okamžitě zastavit provádění těla cyklu, případně začít vykonávat tělo cyklu od začátku. Continue V případě, že při provádění programu narazíme na tento příkaz, dojde k okamžitému ukončení aktuální iterace a tělo cyklu se začne provádět od začátku. K vyskočení z cyklu tedy nedojde Break Tento příkaz způsobuje okamžité vyskočení z cyklu a program pokračuje bezprostředně za cyklem. K okamžitému přerušení cyklu můžeme použít vyjma příkazu break také příkaz goto. Př. Dělení int x,y; float z; printf("napis delence a delitele:"); scanf("%d%d",&x,&y); if (y!=0) z=(float)x/y; // je nutné přetypovat výsledek printf("vysledek je %lf ",z); Abychom dostali po dělení správný výsledek (desetinné číslo) je potřeba použít přetypování. Tím můžeme sdělit, jakého typu má být výsledek nějakého výrazu (z=(float)x/y;)

13 Prověrka 1. Vypočítejte průměr ze tří zadaných čísel int a,b,c; double p; printf("zadejte tri cisla: \n"); scanf("%d%d%d",&a,&b,&c); p=(double)(a+b+c)/3; printf("prumer zadanych cisel je %lf\n", p); 2. Najděte největší ze tří zadaných čísel int a,b,c; printf("zadejte tri cisla: \n"); scanf("%d%d%d",&a,&b,&c); if (a>b) if (a>c) printf("největší číslo je %d",a); else printf("největší číslo je %d",c); else if (b>c) printf("největší číslo je %d",b); else printf("největší číslo je %d",c); 3. Načtěte 5 čísel a spočítejte, kolik z nich je záporných int x,i,pocet; printf("napiste cislo:\n"); scanf("%d",&x); pocet=0; for (i=1;i<=5;i++) if (x<0) pocet=pocet + 1; printf("napiste cislo:\n"); scanf("%d",&x); printf("mezi zadanymi cisly je %d zapornych ",pocet);

14 Pondělí 25. února V jazyce C se každý, byť sebemenší program obsahuje alespoň jednu funkci, funkci main. Pokud při programování píšeme rozsáhlejší program, potřebujeme prostředek, který nám umožní na první pohled složitý problém rozložit do menších částí, a to z několika důvodů. Uživatelské funkce lze volat opakovaně, tedy to, co jednou naprogramujeme, můžeme používat opakovaně. Původně složitý problém můžeme rozdělit na množství dílčích úkonů, které již není problém naprogramovat, a takový kód je snáze udržovatelný. Můžeme používat lokální proměnné, které jsou viditelné pouze v prostoru dané funkce, čímž se vyhneme problémům se jmény a takový kód může pracovat paralelně. Úvodní pojmy Ještě než si ukážeme několik možností, jak vytvářet naše vlastní funkce a jak je používat podíváme se na dva pojmy, se kterými se setkáme. Jsou jimi deklarace a definice funkce. Deklarace funkce - říkáme pouze to, že někde bude existovat funkce s daným názvem, návratovým typem a parametry. Definicí funkce rozumíme samotné výkonné tělo, tedy kód, který daná funkce vykonává. Nutno poznamenat, že deklaraci ve své podstatě používat nemusíme, ale potom narážíme na problém, že funkce musí být definována před svým prvním použitím, aby o ní překladač věděl. To může na první pohled vypadat jako samozřejmost, ale později, až budeme mít více funkcí, kde z jedné budeme volat druhou atp., se můžeme do problému tak zamotat, že deklarace pro nás bude vysvobozením. Každá funkce v jazyce C je dána jednak svým názvem, chcete-li identifikátorem, návratovým typem a seznamem parametrů. název funkce by měl být volen tak, aby hned z názvu bylo patrné, co funkce dělá název funkce nesmí začínat číslicí je-li název složen z více slov, musí být psána za sebou bez mezery Návratový typ určuje, jakého typu bude výsledek, který od funkce získáme. Pokud se bude jednat o funkci pro provádění nějakého výpočtu, návratovým typem bude nepochybně číselná hodnota.

15 Př. Napište funkci, která vypočítá rychlost v km/h #include <stdlib.h> float VypocetRychlosti(float draha, float cas); int draha; int cas; printf("zadej delku drahy v km\n "); scanf("%d",&draha); printf("zadej cas jizdy v minutách\n "); scanf("%d",&cas); printf("%lf km/hod ",VypocetRychlosti(draha,cas)); float VypocetRychlosti(float draha, float cas) return draha/(cas/60); Př. Stejný příklad ještě s funkcí, která převede rychlost z km/h na m/s #include <stdlib.h> float VypocetRychlosti(float draha, float cas); float PrevedRychlost (float rychlost); int draha; int cas; float rychlost; printf("zadej delku drahy v km\n "); scanf("%d",&draha); printf("zadej cas jizdy v minutách\n "); scanf("%d",&cas); rychlost = VypocetRychlosti(draha,cas); printf("%lf km/hod\n ",VypocetRychlosti(draha,cas)); printf("%lf m/s ",PrevedRychlost (rychlost)); float VypocetRychlosti(float draha, float cas) return draha/(cas/60); float PrevedRychlost (float rychlost) return rychlost*3.6;

16 Hlavičkový soubor standardní knihovny jazyka C, který zpřístupňuje matematické funkce je math.h Funkce pow je funkce, která umožňuje umocňovat reálný základ reálným číslem. Př. Napište funkci, která vypočítá mocninu x y #include <stdlib.h> #include <math.h> int Mocnina(int x, int y); int x, y; printf( "Zadejte mocnence a mocnitele\n "); scanf ("%d%d",&x,&y); printf("cislo %d na %d. je %d",x, y, Mocnina(x,y)); int Mocnina(int x, int y) return pow(x, y); Př. Výpočet mocniny jinak #include <stdlib.h> int Mocnina(int x, int y); int x, y; printf( "Zadejte mocnence a mocnitele\n "); scanf ("%d%d",&x,&y); printf("cislo %d na %d. je %d",x, y, Mocnina(x,y)); int Mocnina(int x, int y) int pom, i; i=1; pom = x; while(i<y) pom = x * pom; i++; return pom;

17 Pondělí 11. března Pole Pole jsou homogenní datové struktury, jejichž prvky jsou indexovány. První prvek pole má index 0. Pole můžeme rozdělit na statická a dynamická, jednorozměrná a vícerozměrná. Deklarace pole Pole je v jazyce C interně podporováno, a tedy není nutné vkládat žádné speciální hlavičky. Deklarace pole má následující strukturu: <typ> <jméno>[<[velikost]>]; Deklarace se tedy příliš neliší od deklarace proměnné. Typ je základní typ buňky pole (pole je homogenní, není možné měnit typ u jednotlivých buněk), jméno je identifikátor pole jméno proměnné typu pole a velikost určuje, kolik buněk bude pole mít. Velikost je nepovinný údaj, stačí inicializovat pole a překladač si velikost doplní sám. Pokud velikost uvedeme, musíme vždy použít celé nezáporné číslo. V konkrétním případě tedy pole o deseti prvcích se jménem pole a typem int bude vypadat takto: int pole[10]; Inicializace pole Pole můžeme inicializovat jako každou jinou proměnnou při jejím vzniku. U pole je to ale o něco složitější. Musíme totiž vyjmenovat obsahy jednotlivých buněk. int pole1[5] = 1, 2, 3, 4, 5; int pole2[] = 1, 2, 3, 4, 5; int pole3[5] = 1, 2; int pole4[5] = 0; Na první řádce kompletně inicializujeme pole s pěti buňkami. Na druhé řádce vytvoříme ekvivalentní pole s polem pole1, viz výše. Co se ale stane s polem pole3? Zde vyplníme pouze první dvě buňky, zbytek bude vynulován. Stejně tak pole4 bude kompletně vyplněné nulami.

18 Práce s polem Indexace Máme-li vytvořenou proměnnou typu pole, můžeme k jednotlivým buňkám přistupovat pomocí operátoru indexace nebo-li indexem v hranatých závorkách. Nesmíme ovšem zapomínat na to, že první buňka má index nula int pole[5] = 1, 2, 3, 4, 5; int a = pole[0]; // první buňka pole, v a bude 1 int b = pole[1]; // druhá buňka pole, v b bude 2 int c = pole[5]; // chyba, saháme za konec pole!! Na poslední řádce se pokoušíme číst buňku s indexem pět. To je samozřejmě chybně, protože pole má poslední buňku na indexu čtyři. Jazyk C nemá žádnou zabudovanou kontrolu mezí polí. V případě jako je výše, dojde k potenciálně nebezpečnému čtení paměti. To může způsobit pád programu nebo náhodně vrácená data. Porovnávání polí Pole nelze jednoduše porovnávat, jako to jde s jednoduchými číselnými typy. Od následujícího kódu nelze očekávat korektní chování, pokud nám jde o srovnání obsahu polí: if (pole1 == pole2) //... Chceme-li srovnat obsahy polí, nezbude nám nic jiného, než vytvořit cyklus a porovnat buňku po buňce. Další možností je použít funkci int memcmp(const void *pole1, const void *pole2, size_t velikost) z hlavičkového souboru string.h,, která srovná dva úseky paměti zadané délky a vrátí podobně jako funkce strcmp() hodnotu menší než nula, nula, nebo větší než nula, pokud je první pole po bajtech menší, rovno, nebo větší než druhé pole. Pole jako parametr funkce Pole lze předávat do funkce jako každou jinou proměnnou. Stačí pouze označit, že se jedná o pole párem hranatých závorek: void funkce (int pole[], int velikost) Jako první parametr funkce funkce se očekává pole typu int. Ve druhém parametru předáváme délku pole. Délka pole se nedá jednoduše zjistit, a proto ji musíme předávat samostatně. S polem se v těle funkce pracuje jako s obyčejným lokálně vytvořeným polem.

19 Vícerozměrná pole Doteď jsme se zabývali pouze jednorozměrným polem. Jazyk C nás ale v dimenzích pole neomezuje. Dvourozměrné pole vytvoříme zadáním velikosti nadvakrát. int pole2d [3][3]; Zde jsme vytvořili dvourozměrnou matici 3x3. Vícerozměrná pole můžeme také inicializovat. Jelikož jsou pole v jazyce C ukládaná po řádkách, musíme inicializaci psát řádkově. int pole2d1 [3][3] = 1, 2, 3, 4, 5, 6, 7, 8, 9; int pole2d2 [3][3] = 1, 2, 3; int pole2d3 [3][3] = 0; Jako v případě jednorozměrných polí, i zde můžeme část inicializace vynechat. Překladač zbytek doplní nulami. Pole pole2d3 bude tedy reprezentovat nulovou matici 3x3. Na libovolný prvek pole se dá dostat vícenásobnou indexací. int a = pole2d[1][1]; Stejně jako u jednorozměrných polí i zde se indexuje od nuly. Levý horní prvek matice má tedy index [0][0]. Pondělí 25. března Př. Porovnejte dvě pole a zjistěte, jsou-li shodná #include <stdlib.h> int pole1[5]= 1,2,8,4,5; int pole2 [5] = 1,2,3,4,5; int i, shoda=1; for(i=0;i<5;i++) if (pole1[i]!= pole2[i]) shoda=0; break; if (shoda==1) printf("pole jsou shodna %d",shoda); else printf("pole nejsou shodna %d",shoda);

20 Př. Vytvořte pole deseti náhodných čísel #include <stdlib.h> int pole [10], i; for (i=0; i<10; i++) pole[i]= rand()%100; //vybere čísla od 0 do 99 printf("%d\n ",pole[i]); printf("\n");

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

- jak udělat konstantu long int: L long velka = 78L;

- jak udělat konstantu long int: L long velka = 78L; Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

Funkce, intuitivní chápání složitosti

Funkce, intuitivní chápání složitosti Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Funkce, intuitivní

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h> 9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte

Více

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Pole a Funkce. Úvod do programování 1 Tomáš Kühr Pole a Funkce Úvod do programování 1 Tomáš Kühr (Jednorozměrné) pole u Datová struktura u Lineární u Homogenní = prvky stejného datového typu u Statická = předem určený počet prvků u Pole umožňuje pohodlně

Více

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Programování v C++ 1, 1. cvičení

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených

Více

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální

Více

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti

Více

Pointery II. Jan Hnilica Počítačové modelování 17

Pointery II. Jan Hnilica Počítačové modelování 17 Pointery II 1 Pointery a pole Dosavadní způsob práce s poli zahrnoval: definici pole jakožto kolekce proměnných (prvků) jednoho typu, umístěných v paměti za sebou int pole[10]; práci s jednotlivými prvky

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace

Více

Prezentace a vysvětlení programového prostředí NXC

Prezentace a vysvětlení programového prostředí NXC Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích

Více

Programovací jazyk C++ Hodina 1

Programovací jazyk C++ Hodina 1 Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor

Více

Proměnná a její uložení v paměti

Proměnná a její uložení v paměti Proměnná a její uložení v paměti Počítačová paměť - řada buněk uložených za sebou, každá buňka má velikost 1 bajt (byte, B) - buňky jsou očíslovány, tato čísla se nazývají adresy Proměnná - data, se kterými

Více

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí 02 Jazyk C - je imperativní říkáme, co se má udělat, voláme příkazy - další imperativní jazyky: Pascal, Java, C/C++ apod. - na rozdíl od jazyků deklarativních např. Prolog, Haskell, Scheme, Lisp (funkcionální

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 4.

Více

Př. další použití pointerů

Př. další použití pointerů Př. další použití pointerů char *p_ch; int *p_i; p_ch = (char *) p_i; // konverze int * na char * 8 int i = 5; int *p_i; p_i = &i; POZOR!!!! scanf("%d", p_i); printf("%d", *p_i); Obecný pointer na cokoliv:

Více

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Úvod do programování. Lekce 1

Úvod do programování. Lekce 1 Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Zjednodušené základy jazyku C. Josef Podstata

Zjednodušené základy jazyku C. Josef Podstata Zjednodušené základy jazyku C Josef Podstata 3. 4. 014 1 Předmluva Tento dokument je určen všem zájemcům o programování v jazyce C. Nezáleží na tom, jestli už jste někdy v céčku programovali nebo ne. Text

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr) Cykly Základy programování 1 Martin Kauer (Tomáš Kühr) Z minula Chary můžete používat jako znaky ale i jako čísla 0-255. Jakou formu vybrat záleží na konkrétní aplikaci. Když pracujete se znaky, používejte

Více

Standardní vstup a výstup

Standardní vstup a výstup Standardní vstup a výstup Trochu teorie S pojmy standardní vstup/výstup (I/O, input/output) jste se již pravděpodobně setkali, pokud ale ne, zde je krátké vysvětlení. Standardní vstup a výstup jsou vlastně

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Jazyk C řízení běhu programu České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Šest zákonů programování 1. V každém programu je alespoň jedna chyba

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

Více

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

Operační systémy. Cvičení 4: Programování v C pod Unixem

Operační systémy. Cvičení 4: Programování v C pod Unixem Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

Základy jazyka C. Základy programování 1 Tomáš Kühr

Základy jazyka C. Základy programování 1 Tomáš Kühr Základy jazyka C Základy programování 1 Tomáš Kühr Organizační záležitosti Konzultace Osobně v pracovně 5.043 Pondělí 15.00 16.00 Úterý 14.00 16.00 Čtvrtek 13.00 15.00 Pátek 9.30 11.30 Něco jde vyřešit

Více

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT; Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Jazyk C++, některá rozšíření oproti C

Jazyk C++, některá rozšíření oproti C Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra

Více

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Řešení sady 1. Úvod do programování 1 Tomáš Kühr Řešení sady 1 Úvod do programování 1 Tomáš Kühr Hello World #include #include int main(){ printf("hello world!\n"); return 0; } Práce s proměnnými 1/2 #include int main(){

Více

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Větvení a cykly. Úvod do programování 1 Tomáš Kühr Větvení a cykly Úvod do programování 1 Tomáš Kühr Konstrukce if u Příkazy se provádějí pouze při splnění dané podmínky u Podmínka = jakýkoli logický výraz = cokoli celočíselného u Volitelně i příkazy prováděné

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

ZPRO v C Ing. Vít Hanousek. verze 0.3 verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout

Více

Řídící struktury, if, while, switch

Řídící struktury, if, while, switch Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Řídící struktury, if, while, switch BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

Formátové specifikace formátovací řetězce

Formátové specifikace formátovací řetězce 27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete

Více

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; } Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný

Více

Základy C++ I. Jan Hnilica Počítačové modelování 18

Základy C++ I. Jan Hnilica Počítačové modelování 18 Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program

Více

Programování v C++, 2. cvičení

Programování v C++, 2. cvičení Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Páté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 5. týden

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód

Více

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů. Příkazy cyklu v C# Kapitola vysvětluje použití tří typů cyklů for, while a -while a plňuje jejich použití řau příkladů programů v jazyku C#. V jazyku C by šlo pouze k záměně funkcí pro vstup a výstup.

Více

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele Strukturu lze funkci předat: hodnotou i pomocí ukazatele pouze pomocí ukazatele (reference na strukturu) pouze hodnotou (kopie struktury) (pole[i])+j adresa prvku na souřadnicích i, j adresa i-tého řádku

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Preprocesor je možné ovládat pomocí příkazů - řádky začínající

Více

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace

Více

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek 6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek 1/73 https://en.cppreference.com internetová stránka s referencemi https://gedit.en.softonic.com/download

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Textové řetězce V jazyce C neexistuje typ proměnné, který by byl určen výhradně pro ukládání textu V jazyce C používáme

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura

Více

7: #include <stdio.h> //standardni knihovna

7: #include <stdio.h> //standardni knihovna Zdroj: http://www.sallyx.org/sally/c/index.php Struktura programu První program Komentáře Knihovny Funkce Funkce printf() Vše o vzniku programu již bylo objasněno a tak se můžeme věnovat čistě jen syntaxi

Více

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce. Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden

Více

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,

Více

Proměnné a datové typy

Proměnné a datové typy Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní

Více

IUJCE 07/08 Přednáška č. 6

IUJCE 07/08 Přednáška č. 6 Správa paměti Motivace a úvod v C (skoro vždy) ručně statické proměnné o datový typ, počet znám v době překladu o zabírají paměť po celou dobu běhu programu problém velikosti definovaných proměnných jak

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

Pole a kolekce. v C#, Javě a C++

Pole a kolekce. v C#, Javě a C++ Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java

Více

Operační systémy. Cvičení 3: Programování v C pod Unixem

Operační systémy. Cvičení 3: Programování v C pod Unixem Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19 Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

Příkazy if, while, do-while, for, switch

Příkazy if, while, do-while, for, switch Příkazy if, while, do-while, for, switch BI-PA1 Programování a Algoritmizace 1 Ladislav Vagner, Josef Vogel Katedra teoretické informatiky a Katedra softwarového inženýrství Fakulta informačních technologíı

Více