Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Předmět Programování v jazyce C (KIV / PC)

Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu KIV / PC - Programování v jazyce C, Fakulta aplikovaných věd, Západočeská univerzita v Plzni (ZČU).

Top 10 materiálů tohoto předmětu

Materiály tohoto předmětu

Materiál Typ Datum Počet stažení

Další informace

Obsah

Níže uvedená témata představují okruhy probírané látky, neodpovídají přesně jednotlivým rozvrhovaným přednáškám:(1) Úvodní informace, organizace předmětu, doporučená literatura, základní historické informace o jazyce C, stručný úvod do lexiky a syntaxe, nejjednodušší programy, vazba programu na operační prostředí.(2) Bližší pohled na syntax jazyka C, klíčová slova, řídicí konstrukce (if - else, return, break, continue), cykly (for, while, do).(3) Deklarace proměnných, jednoduché datové typy a jejich definice, datový typ pole, ukazatel, výčet, struktura, bitové pole, union, datový typ funkce, definice vlastního datového typu, definice konstant, definice funkcí, přiřazovací příkaz, vstupně-výstupní operace, prázdný příkaz a příkaz skoku.(4) Výrazy, operátory, volání funkcí, předávání parametrů funkcím, přetypování čili explicitní typová konverze, podmíněný výraz, dosazovací výraz a dosazovací operátory, čárkovaný výraz.(5) Preprocesor jazyka C, lexikální konvence preprocesoru, definice maker preprocesoru a maker s parametry, rekurze maker, předdefinovaná makra v ANSI C, vkládání hlavičkových souborů, podmíněný překlad, předávání informací překladači - příkaz #pragma.(6) Řízený a automatizovaný překlad - nástroj make, příprava makefile, komentáře, tvorba pravidel, explicitní a implicitní pravidla, definice cílů, symbolické cíle, makra v makefile, příkazy operačního systému v makefile.(7) Vstupně-výstupní operace, soubory a proudy, standardní proudy stdin, stdout a stderr, operace se soubory, formátovaný vstup a výstup, chyby při práci se soubory, jejich detekce a řešení, pokročilé souborové operace.(8) Správa paměti, základní operace s pamětí - alokace a uvolnění bloku, realokace bloků, dynamická pole, pole jako argumenty funkcí, znakové řetězce, funkce pro práci s řetězci.(9) Znakové a řetězcové konstanty, zpracování znaků, matematické funkce, generátor náhodných čísel.(10) Datum a čas, měření doby běhu programu, práce s kalendářním časem, výpočet rozdílu časových údajů. Řídicí funkce a diagnostika, ladicí makra, příkazový procesor operačního systému, násilné ukončení programu, ukončovací funkce, signály.(11) Standardní rozšíření jazyka podle normy ANSI C, ošetření chybových stavů, práce s proměnnými operačního prostředí, prohledávání bisekcí, řazení algoritmem QuickSort. Funkce s proměnným počtem argumentů.(12) Připojování externích binárních modulů - linker, příprava externího modulu v assembleru, práce se segmenty a segmentovými registry procesoru, překlad assemblerem, předávání parametrů podprogramu v assembleru.(13) Úvod do objektově orientovaného jazyka C++. Nejdůležitější změny oproti jazyku ANSI C. Nové syntaktické elementy - definice konstant, inline funkce, předávání parametrů funkcím odkazem, odkaz jako návratový typ funkce, deklarační příkaz, typový systém a třídy, datový typ bool. Přetěžování. Vytváření a rušení instancí objektů - operátory new a delete. Jmenné prostory.(14) Objekty v C++, definice třídy, deklarace objektu. Specifikátory přístupu k prvkům objektu, členské funkce čili metody, modifikátory metod. Konstruktor a destruktor. Dynamické instance objektů. Přetěžování operátorů.(15) Dědičnost tříd, specifikace dědění, význam a užití specifikátorů. Polymorfismus. Abstraktní metody. Vícenásobná dědičnost, kolize při ní.(16) Programátorský model procesoru. Registry: všeobecné registry (střadače), segmentové registry, zvláštní registry, příznakový registr. Typy dat, endian procesoru. Přerušení. Volání podprogramů. Paměťové modely.(17) Multiplatformní knihovna na tvorbu grafických uživatelských rozhraní Qt. Architektura Qt. Získání, instalace a specifika překladu programů s Qt. Minimální aplikace v Qt. Přidávání vizuálních komponent - widgetů. Řízení činnosti aplikace událostmi, signály a sloty. Qt Designer.

Získané způsobilosti

Student bude schopen využívat jazyk ANSI C jako jednoduchý a efektivní nástroj k řešení nízkoúrovňových problémů bez ohledu na cílovou platformu. Student získá základní přehled o programátorském modelu mikroprocesoru, o objektově orientovaném jazyce C++ jako následníku jazyka C a o knihovnách pro tvorbu uživatelských rozhraní (Qt, GTK+).

Literatura

Kernighan, Brian W.; Ritchie, Dennis M. Programovací jazyk C. 2. vyd. Bratislava : Alfa, 1989. ISBN 80-05-00154-1.Salus, Peter H. Imperative Programming Languages. Macmillan Technical Pub, 1998. ISBN 978-1578700097.Virius, Miroslav. Jazyky C a C++ : kompletní průvodce. 2., aktualiz. vyd. Praha : Grada, 2011. ISBN 978-80-247-3917-5.http://amos.fav.zcu.cz/pcHerbison, S.P., Steele, G.L. Referenční příručka jazyka C. Science, 1996. ISBN 80-901475-50.Kernighan, Brian W.; Ritchie, Dennis M. The C Programming Language. 2. vyd. Prentice Hall, 1988. ISBN 978-0131103627.Herout, Pavel. Učebnice jazyka C. 1. díl. 6. vyd. České Budějovice : Kopp, 2009. ISBN 978-80-7232-383-8.

Požadavky

Student má nárok na zápočet tehdy, jestliže odevzdá včas semestrální práci dle zvoleného zadání a získá za ní (za program a dokumentaci dohromady) celkem alespoň 21 bodů. Nejvíce lze získat za semestrální práci 70 bodů. V případě mimořádných výkonů studenta (vynikající nadprůměrná práce, originální řešení zadaného problému, mimořádná aktivita, atp.) udělí vyučující v průběhu semestru další body, které se započítávají do celkového výsledku.Zkouška probíhá u počítače - student dostane za úkol vytvořit nebo doplnit krátký program v jazyce ANSI C a demonstrovat jeho bezchybnou funkčnost. U zkoušky je možné získat až 30 bodů podle kvality odvedené práce (hodnotí se porozumění problému, čitelnost kódu, dodržování kultury jazyka C, efektivita řešení a správné použití konstrukcí jazyka C).Podrobné informace viz http://amos.fav.zcu.cz/pc.

Garant

Ing. Kamil Ekštein, Ph.D.

Vyučující

Ing. Kamil Ekštein, Ph.D.Ing. Robert EcksteinIng. Kamil Ekštein, Ph.D.Ing. Jiří FatkaIng. Vojtěch FričIng. Luboš MatějkaIng. Jindřich SkupaIng. Radek StrejcIng. Lukáš SvobodaIng. David Široký