PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11.



Podobné dokumenty
OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů Standardně zavedené proudy

APLIKACE MIKROKONTROLÉRŮ PIC32MX

MIKROPROCESOROVÁ TECHNIKA 9 Událostní systém 9.1 Události Síť ERN Časování událostí Filtrace

ELEKTRONICKÉ PRVKY 7 Výkonové a spínací aplikace tranzistorů 7.1 Ztrátový výkon a chlazení součástky První a druhý průraz bipolárního

4 DIELEKTRICKÉ OBVODY ZÁKLADNÍ POJMY DIELEKTRICKÝCH OBVODŮ Základní veličiny a zákony Sériový a paralelní

ALGORITMY ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ


MIKROKONTROLÉRY PIC PRO POKROČILÉ


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




APLIKACE ALGORITMŮ ČÍSLICOVÉHO ZPRACOVÁNÍ SIGNÁLŮ 1. DÍL




Jan Humlhans NÁBOJOVÉ PUMPY funkce, pøehled a použití Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmno

Gergelitsová, Holan: Zlatý řez pravítkem a kružítkem

Autor by chtìl podìkovat všem svým spolupracovníkùm a kolegùm, kteøí mu pomohli s pøípravou textu. K vydání knihy pøispìla firma Newport Electronics s


Podìkování: Výsledkù publikovaných v této knize bylo dosaženo také za podpory projektù GAÈR 101/06/P108 Výzkum simulaèního a experimentálního modelová


Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které


MIKROKONTROLÉRY PIC BEZ PŘEDCHOZÍCH ZNALOSTÍ



Základy ultrazvuku A. ZÁKLADY ULTRAZVUKU 10

Publikace prezentuje nìkteré poznatky z obsáhlé oblasti analogových soustav, které v poslední dobì prodìlávají rozvoj. Z toho dùvodu ani nemùže podat


Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo



Monografie poskytuje v pøehledné a praktické formì znalosti a výpoèetní nástroje pro modelování šíøení rádiových vln v zástavbì, tedy vnì i uvnitø bud



MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Ladislav Szántó: Maxwellovy rovnice, 2. vydání

David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Translation from the English language edition: Passing the marker Understanding the New Millennium Energy Copyright 2000 Lee Carroll All Rights Reserv




Tato kniha popisuje výchozí stanoviska psychotroniky jako potenciální vìdní disciplíny Tvoøí ucelenou pracovní hypotézu pro realizaci základního výzku


Jan Hájek ELEKTRONICKÉ HLEDAÈE Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou












Ukazka knihy z internetoveho knihkupectvi


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

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Profilová část maturitní zkoušky 2017/2018






Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky



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



Algoritmizace a programování

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


Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Paměť počítače. alg2 1


Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787


Profilová část maturitní zkoušky 2013/2014

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

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

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


Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

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

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

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

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

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

Algoritmizace prostorových úloh

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Opakování programování

ČÁST 1. Základy 32bitového programování ve Windows

Transkript:

David Matoušek Programování v jazyce C v pøíkladech Praha 2011

David Matoušek Programování v jazyce C v pøíkladech Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenášena v jiné formì èi jinými prostøedky. Autoøi a nakladatelství nepøejímají záruku za správnost tištìných materiálù. Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odškodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Všechny registrované nebo jiné obchodní známky použité v této knize jsou majetkem jejich vlastníkù. Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva. Veškerá práva vyhrazena David Matoušek, Programování v jazyce C v pøíkladech, 2011 Nakladatelství BEN technická literatura, Vìšínova 5, Praha 10 David Matoušek, Programování v jazyce C v pøíkladech BEN technická literatura, Praha 2011 1. vydání ISBN 978-80-7300-403-3 ISBN 978-80-7300-410-1 (elektronická kniha v PDF)

OBSAH Obsah 1 Úvod do programování 1.1 Základní pojmy...1-1 1.2 Proměnné a konstanty...1-4 1.3 Základní datové typy...1-5 2 Základní funkce a operátory 2.1 Funkce printf...2-1 2.2 Základní operátory...2-3 2.3 Základní funkce...2-6 3 Podmíněné příkazy 3.1 Podmíněný příkaz if...3-1 3.2 Relační operátory (porovnávací operátory)...3-2 3.3 Logické operátory...3-2 3.4 Použití bloku společně s podmíněným příkazem...3-6 3.5 Podmíněný příkaz switch...3-7 4 Iterační příkazy cykly, pole 4.1 Cyklus s podmínkou na začátku while...4-1 4.2 Cyklus s podmínkou na konci do..while...4-2 4.3 Cyklus s konečným počtem kroků for...4-3 4.4 Pole...4-5 5 Datový typ ukazatel, funkce scanf 5.1 Základní pojmy...5-1 5.2 Dynamická alokace paměti...5-2 5.3 Ukazatelová aritmetika...5-4 5.4 Funkce scanf...5-6 6 Funkce základní rysy 6.1 Základy používání funkcí...6-1 6.2 Volání hodnotou...6-2 6.3 Volání přes ukazatel...6-3 6.4 Příklady...6-4 6.5 Dopředná deklarace (forward declaration)...6-7 7 Funkce pokročilé rysy 7.1 Ukazatel na funkci...7-1 7.2 Rekurze...7-2 7.3 Řetězce...7-4 8 Datové typy 8.1 Definice nového datového typu...8-1 8.2 Přehled datových typů...8-1 8.3 Enum výčet...8-2 8.4 Struct struktura...8-4 8.5 Union sjednocení, unie...8-7 8.6 Bitové pole...8-9 9 Vstup a výstup programu 9.1 Standardní soubory...9-1 9.2 Vstup a výstup do řetězce...9-2 9.3 Souborový vstup a výstup...9-3 9.4 Příklady práce se soubory...9-6 9.5 Parametry programu (příkazový řádek)...9-10 10 Základní algoritmy řazení 10.1 Selectsort (přímý výběr)...10-2 10.2 Bubblesort (řazení probubláváním )...10-4 10.3 Insertsort (přímý výběr)...10-7 i

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11.3 Příklad PROG_11-02... 11-6 12 Paměťové třídy a modulární programování 12.1 Paměťové třídy... 12-1 12.2 Základní příkazy preprocesoru... 12-3 12.3 Modulární programování... 12-5 13 Dodatky 13.1 Operátory... 13-1 13.2 Příkazy... 13-5 13.3 Typová konverze... 13-6 A Vývojová prostředí A.1 Dev-C++...A-1 A.2 C++ Builder (Turbo C++)...A-4 A.3 Microsoft Visual Studio...A-6 B Číselné soustavy a vnitřní reprezentace proměnných B.1 Bit, bajt, slovo, dvojslovo...b-1 B.2 Číselné soustavy...b-1 B.3 Reprezentace celočíselných hodnot v paměti počítače...b-4 ii

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH Předmluva Tato kniha vznikla především pro podporu výuky předmětu Programování v jazyce C na oboru Počítačové systémy Vysoké škole polytechnické v Jihlavě. Zejména je určena pro studenty kombinované formy studia. Kniha je určena rovněž všem zájemcům o programování v jazyce C. Text je budován tak, aby čtenář mohl postupně vlastními silami pochopit programování v jazyce C a poznal základní úlohy z oblasti programování a algoritmizace. Výklad je doplněn celkem 35 řešenými příklady. První kapitola představuje úvod do programování. Jsou vysvětleny pojmy jako algoritmus, vývojový diagram a rovněž základní datové typy jazyka C. Ve druhé kapitole se seznámíme se základními funkcemi a operátory. Především je vysvětlena funkce printf (výpis na obrazovku), aritmetické operátory a matematické funkce. Třetí kapitola vysvětluje podmíněné příkazy if a switch. Dále jsou vysvětleny relační a logické operátory. Ve čtvrté kapitole se probírají cykly (iterační příkazy) a dále je vysvětleno používání datového typu pole. Pátá kapitola vysvětluje používání ukazatelů, dynamickou alokaci paměti, ukazatelovou aritmetiku a funkci scanf (načítání z klávesnice). Šestá a sedmá kapitola probírá funkce. Vysvětluje se rozdíl mezi voláním parametrů hodnotou a přes ukazatele, probírá se ukazatel na funkci a rekurze. Dále je probírána implementace řetězce v jazyce C včetně pomocných funkcí z hlavičkového souboru string.h. Osmá kapitola doplňuje informace k datovým typům. Kromě shrnutí základních datových typů se probírají strukturované datové typy: výčet, struktura, sjednocení a bitové pole. Devátá kapitola probírá prostředky vstupu a výstupu programu. Kromě shrnutí možností vstupu z klávesnice a výstupu na obrazovku se probírají operace s textovými a binárními soubory a parametry programu (příkazový řádek). Kapitoly 10, 11 a 12 jsou věnovány pokročilejším programovacím technikám. Nejdříve se probírají základní algoritmy řazení pole (Selectsort, Bubblesort, Insertsort), vysvětluje se práce se spojovými seznamy a modulární programování. Rovněž jsou probírány paměťové třídy. Třináctá kapitola uzavírá celý text z hlediska shrnutí a doplnění operátorů, příkazů a typové konverze. V přílohách je stručně popsána práce s vývojovými prostředími Dev-C++, C++ Builder a Microsoft Visual Studio a vysvětleny základní pojmy číslicové techniky jako jsou jednotky informace, číselné soustavy a vnitřní reprezentace proměnných. K řešeným příkladům není k dispozici jejich datová verze (zdrojové soubory), neboť cílem je naučit studenty podle tohoto textu (názorného návodu) program sestavit, nikoliv jej pouze zkopírovat.