Základy programování v C
|
|
- Štěpán Němec
- před 8 lety
- Počet zobrazení:
Transkript
1 Základy programování v C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 B0B36PRP Procedurální programování Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 1 / 64
2 Přehled témat Část 1 Organizace předmětu Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Část 2 Základy programování v C Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup S. G. Kochan: kapitoly 2, 3 Část 3 Zadání 1. domácího úkolu (HW01) Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 2 / 64
3 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Část I Organizace předmětu Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 3 / 64
4 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Předmět a přednášející B0B36PRP Procedurální programování Webové stránky předmětu Odevzdávání domácích úkolů Přednášející: doc. Ing. Jan Faigl, Ph.D. Katedra počítačů Centrum umělé inteligence Artificial Intelligence Center (AIC) Centrum robotiky a autonomních systému Center for Robotics and Autonomous Systems CRAS Laboratoř výpočetní robotiky (Computational Robotics Laboratory) Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 5 / 64
5 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Cíle předmětu Osvojit si pohled na výpočetní prostředky jako počítačový vědec a naučit se je efektivně používat Computer scientist Formulovat problém a jeho řešení počítačovým programem Získat povědomí jaké problémy lze výpočetně řešit Získat zkušenost s programováním Programování v C získání vlastní zkušenosti cvičení, domácí úkoly, zkouška Osvojit si schopnost číst, psát a porozumět malým programům Získat programovací návyky jak psát srozumitelné a přehledné zdrojové kódy; opakovaně použitelné programy. Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 6 / 64
6 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Výuka programování Separating Programming Sheep from Non-Programming Goats separating-programming-sheep-from-non-programming-goats Efektivní metody výuky programování se hledají již od dob prvních počítačů tj. přes více než 50 let Přesto se zdá, že je každý základní kurz programování obtížný a 30% až 60% studentů jej na poprvé nezvládne V PRP očekáváme průchodnost výrazně vyšší. Základní koncept je pochopení principu přiřazení hodnoty proměnné Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 7 / 64
7 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Test pochopení principu přiřazení Zápis programu pro přiřazení hodnot do proměnných a a b a následné přiřazení proměnné b do a. Přiřazení hodnoty proměnné 1 2 int a = 10; int b = 20; 3 4 a = b; Jaké jsou hodnoty proměnných a a b? a. a = 20, b = 0 b. a = 20, b = 20 c. a = 0, b = 10 d. a = 10, b = 10 e. a = 30, b = 20 f. a = 30, b = 0 g. a = 10, b = 30 h. a = 0, b = 30 i. a = 10, b = 20 j. a = 20, b = 10 Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 8 / 64
8 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Uživatelé počítačů Uživatel Spouštěč programů Zadává vstup Čeká na výstup Čte výstup Píše, kliká, dotýká se Programátor Spouští programy Dává počítači příkazy Řadí je do posloupnosti Vytváří nové programy Kombinuje příkazy Relativně omezená množina vstupů Pouze to co je dovoleno Omezen povrchovou znalostí Toho co je mu dovoleno vidět Rozmanitější možnosti použití Omezen pouze limity počítače Chápe a rozumí principům Rychle se učí nové technologie! Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 9 / 64
9 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Způsob reprezentace znalostí Z hlediska výpočtu můžeme rozlišit dva základní typy znalostí Způsoby popisu problému Deklarativní Tvrzení popisující stav Axiomatické Umožňuje jednoduše ověřovat (testovat) pravdivost tvrzení Neposkytuje návod jak hodnotu vypočítat Příklad: x = y, y 2 = x, x 0, y 0 Imperativní Popis jak něco vypočítat Posloupnost výpočtu Test jak ovlivnit průběh výpočtu Příklad: 1. If y 2 x 2. Then return y 3. Else y y+ x y 2 Go to Step 1 Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 10 / 64
10 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Program je recept Program je recept posloupnost kroků (výpočtů) popisující průběh řešení problému Programování je schopnost samostatně tvořit programy dekomponovat úlohy na menší celky sestavovat z dílčích částí větší programy řešící komplexní úlohu B0B36PRP je příležitostí, jak se těmto schopnostem naučit Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 11 / 64
11 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Organizace a hodnocení předmětu B0B36PRP Procedurální programování Rozsah: 2p+2c; Zakončení: Z,ZK; Kredity: 6; Průběžná práce v semestru domácí úkoly a test Implementační a případně ústní zkouška Z zápočet, ZK zkouška Schopnost samostatné práce na počítačích v učebnách Docházka na cvičení a odevzdání domácích úloh Samostatná práce Supervize práce v počítačové učebně Pátek od 11:00 až 14:15 místnost T2:H1-131 ( ) Pro osvojení si základních návyků používání počítačů v učebně a řešení programovacích úloh Alternativní absolvování předmětu pro velmi zkušené Předmět A4B36ACM Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 12 / 64
12 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Zdroje a literatura Knihy (učebnice) Programming in C (Kochan, 2014) nebo Učebnice jazyka C (Herout, 2015) Programming in C, 4th Edition, Stephen G. Kochan, Addison-Wesley, 2014, ISBN Základní učební text Učebnice jazyka C, VI. vydání, Pavel Herout, KOPP, 2010, ISBN Přednášky podpora učebního textu, slidy, poznámky a především vlastní poznámky Součástí přednášek jsou také zdrojové kódy s příklady! Cvičení získání praktických dovedností řešením domácích úkolů a dalších úloh programovat, programovat, programovat Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 14 / 64
13 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Další učebnice jazyka C The C Programming Language, 2nd Edition (ANSI C), Brian W. Kernighan, Dennis M. Ritchie, Prentice Hall, 1988 (1st edition 1978) Učebnice jazyka C 2. díl, IV. vydání, Pavel Herout, KOPP, 2008, ISBN C Programming: A Modern Approach, 2nd Edition, K. N. King, W. W. Norton & Company, 2008, ISBN st Century C: C Tips from the New School, Ben Klemens, O Reilly Media, 2012, ISBN Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 15 / 64
14 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Další zdroje Introduction to Algorithms, 3rd Edition, Cormen, Leiserson, Rivest, and Stein, The MIT Press, 2009, ISBN Algorithms, 4th Edition, Robert Sedgewick, Kevin Wayne, Addison-Wesley, 2011, ISBN The C++ Programming Language, 4th Edition (C++11), Bjarne Stroustrup, Addison-Wesley, 2013, ISBN Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 16 / 64
15 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Přednášky zimní semestr (ZS) akademického roku 2016/2017 Harmonogram akademického roku 2016/2017 Přednášky: Dejvice, místnost T2:D2-256, úterý, 11:00 12:30 Dejvice, místnost T2:D3-309, středa, 16:15 17:45 14 výukových týdnů Středa výuka jako pátek 13 přednášek Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 17 / 64
16 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Cvičící Ing. Petr Váňa Vedoucí cvičení programu Otevřená informatika (OI) Ing. Martin Mudroch, Ph.D. Vedoucí cvičení programu Elektronika a komunikace (EK) Ing. Petr Čížek Ing. Daniel Fišer Ing. Stanislav Vítek, Ph.D. Vedoucí cvičení programu Elektrotechnika, energetika a management (EEM) Ing. Martin Bloch, CSc. Ing. Karel Jalovec Ing. Ondřej Nentvich Ing. Martin Svatoš Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 18 / 64
17 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Řešení problémů související s PRP Obracejte se na svého cvičícího dle cvičení, na které chodíte (jste přihlášeni) Komunikovat můžete elektronickou poštou ( ) Pište ze své fakultní adresy (odesílatel) Do předmětu zprávy uvádějte zkratku předmětu PRP Kopii zprávy (Cc) posílejte též příslušnému vedoucímu cvičení (dle studijního programu) V případě zásadních problému (např. týkajících se zápočtu) uvádějte do Cc též přednášejícího Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 19 / 64
18 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Počítačové laboratoře Síťové bootování a síťové domovské adresáře (NFS v4) Přenos a synchronizace souborů owncloud, SSH, FTP, USB Vývoj v C: Překladače gcc a clang a Sestavení projektu nástrojem make (GNU make) Ukážeme si později na přednáškách a cvičení Textový editor gedit, atom, sublime, vim C/C++ vývojová prostředí WARNING: Do Not Use An IDE Code::Blocks, CodeLite NetBeans 8.0 (C/C++), Eclipse CDT CLion Odevzdávání domácích úkolů Upload system Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 20 / 64
19 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Služby akademické sítě FEL, ČVUT Diskové úložiště owncloud Zasílání velkých souborů Rozvrh a termíny FEL Portal FEL Google Account autentizovaný přístup do Google Apps for Education Více viz Gitlab FEL Přístup k informačním zdrojům (IEEE Xplore, ACM, Science Direct, Springer Link) Akademické a kampusové licence Národní Gridová Infrastruktura MetaCentrum Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 21 / 64
20 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Domácí úkoly a další úlohy Samostatná práce s cílem osvojit si praktické zkušenosti Jednotné zadání na přednášce a jednotný termín odevzdání Odevzdání domácích úkolů prostřednictvím Upload system Nahrání (upload) archivu s nezbytnými zdrojovými soubory Ověření správnosti implementace automatickými testy Penalizace za překročení počtu uploadů Odevzdávejte funkční kódy, nikoliv pouze kódy, které projdou testy Detekce plagiátů Cílem řešení úkolů je získat vlastní zkušenost Úkoly jsou jednoduché a navrhované tak, aby byly stihnutelné Klíčem k úspěšnému dokončení předmětu je samostatná práce a osvojení si technik a znalostí Průběžná práce a řešení úkolů Pokud něčemu nerozumíte, ptejte se! Pokud chybujete, tak se učíte, pokud nechybujete, tak už to umíte! Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 22 / 64
21 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Přehled domácích úkolů Domácí úkoly s povinným, volitelným, případně bonusovým zadáním 0. HW 00 - První program Testovací úkol za 1 bod 1. HW 01 - Načítání vstupu, výpočet a výstup 2. HW 02 - První cyklus 3. HW 03 - Kreslení (ASCII art) 4. HW 04 - Prvočíselný rozklad 5. HW 05 - Maticové počty 6. HW 06 - Caesarova šifra 7. HW 07 - Lámání hesla 8. HW 08 - Kruhová fronta v poli 9. HW 09 - Načítání a ukládání grafu 10. HW 10 - Integrace načítání grafu a prioritní fronta v úloze hledání nejkratších cest HW přednáška, soutěž na extra body Podmínkou zápočtu je úspěšné odevzdání všech domácích úkolů Odevzdání volitelného zadání je doporučeno (není částečné odevzdání) Celkové body za povinné zadání 35b, volitelné zadání 25b, bonusové 10b+ Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 23 / 64
22 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Hodnocení předmětu Zdroj bodů Maximum bodů (povinné + volitelné) Přípustné minimum bodů Domácí úkoly Test v semestru 10 0 Písemný zkouškový test Implementační zkouška 10 0 Součet 100 bodů 40 bodů je F! Pro zápočet je minimální počet bodů ze semestru 30 Předmět lze úspěšné ukončit zápočtem a zkouškou Získání zápočtu je podmíněno odevzdáním všech domácích úkolů Nejpozději ve 23:59 CET! Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 25 / 64
23 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Klasifikace předmětu Klasifikace Bodové rozmezí Hodnocení Slovní hodnocení A 90 1 výborně B ,5 velmi dobře C dobře D ,5 uspokojivě E dostatečně F <50 4 nedostatečně Očekávané výsledky Včasné odevzdáním všech domácích úkolů s povinným a volitelným zadáním (60 bodů) Test v semestru (10 bodů) Písemná zkouška (20 bodů) Implementační zkouška (10 bodů) 95 bodů a více (A výborně) s menším zaváháním 76 bodů (C dobře) při 20% ztrátě 76 a více bodů představuje solidní základ pro budování programátorských dovedností. Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 26 / 64
24 Cíle předmětu Prostředky dosažení cílů PRP Hodnocení předmětu a zkouška Přehled přednášek 01 - Informace o předmětu, Základy programování v C S. G. Kochan: kapitoly 2 a Zápis programu v C a základní řídicí struktury S. G. Kochan: kapitoly 3, 4, 5 a část Řídicí struktury, výrazy a funkce S. G. Kochan: kapitoly 4, 5, 6 a Pole, ukazatel, textový řetězec, vstup a výstup programu S. G. Kochan: kapitoly 7, 10 a Ukazatele, paměťové třídy a volání funkcí S. G. Kochan: kapitoly 8 a Struktury a uniony, přesnost výpočtů a vnitřní reprezentace číselných typů S. G. Kochan: kapitoly 9, 14, 17 a Appendix B x67 - Přednáška na vyzvané téma (7. výukový týden, pouze úterý) 07 - Standardní knihovny C. Rekurze. (Základní vlastnosti jazyka C probrány.) S. G. Kochan: kapitola 16 a Appendix B 08 - Spojové struktury 09 - Stromy 10 - Abstraktní datový typ (ADT) - zásobník, fronta, prioritní fronta 11 - Prioritní fronta, halda. Příklad použití při hledání nejkratší cesty v grafu 12 - Systémy pro správu verzí 13 - Rozdíly C a C++ Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 27 / 64
25 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Část II Část 2 Základy programování v C Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 28 / 64
26 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Jazyk C Nízko-úrovňový programovací jazyk Systémový programovací jazyk (operační systém) Jazyk pro vestavné (embedded) systémy MCU, křížová (cross) kompilace Téměř vše nechává na uživateli (programátorovi) Inicializace proměnných, uvolňování dynamické paměti Má blízko k využití hardwarových zdrojů výpočetního systému Přímé volání služeb OS, přímý zápis do registrů a portů. Klíčové pro správné fungování programu je zacházení s pamětí Cílem kurzu PRP je naučit se základním principům, které lze následně generalizovat též pro jiné programovací jazyky. Pochopení těchto principů je klíčem k efektivnímu psaní efektivních programů. Je výhodné mít překlad programu plně pod kontrolou. Přestože to může z počátku vypadat složitě, jsou základní principy relativně jednoduché. I proto je výhodné používat základní nástroje pro překlad programů a po jejich osvojení využít komplexnější vývojové prostředí. Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 30 / 64
27 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Zápis programu Zdrojový kód programu v jazyce C se zapisuje do textových souborů Zdrojové soubory zpravidla pojemnované s koncovkou.c Hlavičkové soubory s koncovkou.h Kompilací zdrojových souborů překladačem do binární podoby vznikají objektové soubory.o Z objektovových souborů se sestavuje výsledný program Příklad zápisu jednoduchého programu: 1 #include <stdio.h> 2 3 int main(void) 4 { 5 printf("i like B0B36PRP!\n"); 6 7 return 0; 8 } lec01/program.c Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 31 / 64
28 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Překlad (kompilace) a spuštění programu Zdrojový soubor program.c přeložíme do spustitelné podoby kompilátorem např. clang nebo gcc clang program.c Vznikne soubor a.out, který můžeme spustit např../a.out Alternativně pouze jako a.out pokud je aktuální pracovní adresář nastaven v prohledávané cestě spustitelných souborů Program po spuštění vypíše text uvedený jako argument printf()./a.out I like B0B36PRP! Pokud nechce psát./a.out ale raději jen a.out lze přidat aktuální pracovní adresář do cest(y) definované proměnnou prostředí PATH export PATH="$PATH: pwd " Pracovních adresářů můžete mít více používejte obezřetně. Příkaz pwd vytiskne aktuální pracovní adresář, více viz man pwd Ano jde to, ale není dobrý nápad to používat! Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 32 / 64
29 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Struktura zdrojového souboru Komentovaný zdrojový soubor program.c 1 /* komentar zapisujeme do dvojice vyhrazenych znaku */ 2 // Nebo v C99 jako jednoradkovy 3 #include <stdio.h> /* vlozeni hlavickoveho souboru standardni knihovny stdio.h */ 4 5 int main(void) // zjednodusena deklarace 6 { // hlavni funkce program main() 7 printf("i like B0B36PRP!\n"); /* volani funkce printf() z knihovny stdio.h pro tisk textoveho retezce na standardni vystup. Znak \n definuje novy radek (odradkovani). */ 8 9 return 0; /* ukonceni funkce a predani navratove hodnoty 0 operacnimu systemu */ 10 } Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 33 / 64
30 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Zdrojové soubory Proč psát do dvou nebo více souborů? Rozdělení na zdrojové a hlavičkové soubory umožňuje rozlišit deklaraci a definici, především však podporuje Organizaci zdrojových kódů v adresářové struktuře souborů Modularitu Hlavičkový soubor obsahuje popis co modul nabízí Popis (seznam) funkcí a jejich parametrů bez konkrétní implementace Znovupoužitelnost Pro využití binární knihovny potřebuje znát její rozhraní, které je deklarované v hlavičkovém souboru Zatím nemusí být výhody zřejmé, ale budou. V úloze HW 10! Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 34 / 64
31 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Překlad a sestavení programu Uvedený příklad slučuje jednotlivé kroky překladu a sestavení programu do volání jediného příkazu (clang nebo gcc). Překlad se však skládá ze tří částí, které lze provést individuálně 1. Textové předzpracování preprocesorem, který má vlastní makro jazyk (příkazy uvozeny znakem #) Všechny odkazované hlavičkové soubory se vloží do jediného zdrojového souboru 2. Vlastní překlad zdrojového souboru do objektového souboru Zpravidla jsou jména souborů zakončena příponou.o clang -c program.c -o program.o Příkaz kombinuje volání preprocesoru a kompilátoru. 3. Spustitelný soubor se sestaví z příslušných dílčích objektových souborů a odkazovaných knihoven, tzv. linkováním (linker), např. clang program.o -o program Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 35 / 64
32 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Schema překladu a sestavení programu Vývoj programu se skládá z editace zdrojových souborů (.c a.h); Lidsky čitelných kompilace dílčích zdrojových souborů (.c) do objektových souborů (.o nebo.obj) ; Strojově čitelných linkování přeložených souborů do spustitelného programu; spouštění a ladění aplikace a opětovné editace zdrojových souborů. Source file.c.h Header files.a/.lib Lib files Preprocesor Compiler Linker a.out Executable binary file Object File.o/.obj Object files.o/.obj Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 36 / 64
33 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Části překladu a sestavení programu preprocesor umožňuje definovat makra a tím přizpůsobit překlad aplikace kompilačnímu prostředí Výstupem je textový ( zdrojový ) soubor. compiler Překládá zdrojový (textový) soubor do strojově čitelné (a spustitelné) podoby Nativní (strojový) kód platformy, bytecode, případně assembler linker sestavuje program z objektových souborů do podoby výsledné aplikace Stále může odkazovat na knihovní funkce (dynamické knihovny linkované při spuštění programu), může též obsahovat volání OS (knihovny). Dílčí části preprocesor, compiler, linker jsou zpravidla jediný program, který se volá s příslušnými parametry Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 37 / 64
34 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Překladače jazyka C V rámci předmětu PRP budeme používat především překladače z rodin: gcc GNU Compiler Collection clang C language family frontend for LLVM Pro win* platformy pak odvozená prostředí cygwin nebo MinGW Základní použití (přepínače a argumenty) je u obou překladačů stejné clang je kompatibilní s gcc Příklad použití compile: gcc -c program.c -o program.o link: gcc program.o -o program Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 38 / 64
35 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Příklad součtu dvou hodnot 1 #include <stdio.h> 2 3 int main(void) 4 { 5 int sum; /* definice lokalni promenne typu int */ 6 7 sum = ; /* hodnota vyrazu se ulozi do sum */ 8 printf("the sum of 100 and 43 is %i\n", sum); 9 /* %i formatovaci prikaz pro tisk celeho cisla */ 10 return 0; 11 } Proměnná sum typu int reprezentuje celé číslo, jehož hodnota je uložena v paměti sum je námi zvolené symbolické jméno místa v paměti, kde je uložena celočíselná hodnota (typu int) Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 40 / 64
36 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Příklad součtu hodnot dvou proměnných 1 #include <stdio.h> 2 3 int main(void) 4 { 5 int var1; 6 int var2 = 10; /* inicializace hodnoty promenne */ 7 int sum; 8 9 var1 = 13; sum = var1 + var2; printf("the sum of %i and %i is %i\n", var1, var2, sum); } return 0; Proměnné var1, var2 a sum reprezentují tři různá místa v paměti (automaticky přidělené), ve kterých jsou uloženy tři celočíselné hodnoty Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 41 / 64
37 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Základní číselné typy Celočíselné typy int, long, short, char char celé číslo v rozsahu jednoho bajtu nebo také znak Velikost paměti alokované příslušnou (celo)číselnou proměnnou se může lišit dle architektury počítače nebo překladače Typ int má zpravidla velikost 4 bajty a to i na 64-bitových systémech Aktuální velikost paměťové reprezentace lze zjistit operátorem sizeof(), kde argumentem je jméno typu nebo proměnné. int i; printf("%lu\n", sizeof(int)); printf("ui size: %lu\n", sizeof(i)); lec01/types.c Neceločíselné typy float, double Jsou dané implementací, většinou dle standardu IEEE float 32-bit IEEE 754 double 64-bit IEEE Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 43 / 64
38 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Znaménkové a neznaménkové celočíselné typy Celočíselné typy kromě počtu bajtů rozlišujeme na signed znaménkový (základní) unsigned neznaménkový Proměnná neznaménkového typu nemůže zobrazit záporné číslo Příklad (1 byte): unsigned char: 0 až 255 signed char: -128 až unsigned char uc = 127; 2 char su = 127; 3 4 printf("the value of uc=%i and su=%i\n", uc, su); 5 uc = uc + 2; 6 su = su + 2; 7 printf("the value of uc=%i and su=%i\n", uc, su); lec01/signed_unsigned_char.c Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 44 / 64
39 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Znak char Znak je typ char Znak reprezentuje celé číslo (byte) Kódování znaků (grafických symbolů), např. ASCII American Standard Code for Information Interchange. Hodnotu znaku lze zapsat jako tzv. znakovou konstantu, např. a. 1 char c = a ; 2 3 printf("the value is %i or as char %c \n", c, c); clang char.c &&./a.out The value is 97 or as char a lec01/char.c Pro řízení výstupních zařízení jsou definovány řídicí znaky Tzv. escape sequences \t tabulátor (tabular), \n nový řádek (newline), \a pípnutí (beep), \b backspace, \r carriage return, \f form feed, \v vertical space Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 45 / 64
40 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Logický datový typ (Boolean) _Bool Ve verzi C99 je zaveden logický datový typ _Bool _Bool logic_variable; Jako hodnota true je libovolná hodnota typu int různá od 0 Dále můžeme využít hlavičkového souboru <stdool.h>, kde je definován typ bool a hodnoty true a false #define false 0 #define true 1 #define bool _Bool V původním (ANSI) C explicitní datový typ pro logickou hodnotu není definován. Můžeme však použít podobnou definici jako v <stdbool.h> #define FALSE 0 #define TRUE 1 Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 46 / 64
41 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Rozsahy celočíselných typů Rozsahy celočíselných typů v C nejsou dány normou, ale implementací Mohou se lišit implementací a prostředím 16 bitů vs 64 bitů Norma garantuje, že pro rozsahy typů platí short int long unsigned short unsigned unsigned long Pokud chceme zajistit definovanou velikost můžeme použít definované typy například v hlavičkovém souboru <stdint.h> int8_t int16_t int32_t uint8_t uint16_t uint32_t IEEE Std lec01/inttypes.c Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 47 / 64
42 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Přiřazení, proměnné a paměť Vizualizace unsigned char 1 unsigned char var1; 2 unsigned char var2; 3 unsigned char sum; 4 5 var1 = 13; 6 var2 = 10; 7 8 sum = var1 + var2; Každá z proměnných alokuje právě 1 byte Obsah paměti není po alokaci definován Undefined behavior Jméno proměnné odkazuje na paměťové místo Hodnota proměnné je obsah paměťového místa var1 var2 sum Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 48 / 64
43 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Přiřazení, proměnné a paměť Vizualizace int 1 int var1; 2 int var2; 3 int sum; 4 5 // var1 = 13; 7 8 // x00 x00 x01 xf4 9 var2 = 500; Proměnné typu int alokují 4 bajty Zjistit velikost můžeme operátorem sizeof(int) Obsah paměti není po alokaci definován var1 var xf4 0x01 0x00 0x00 0x1 0x2 0x0 0x0 0xC 0xD 0xE 0xF sum = var1 + var2; sum 500 (dec) je 0x01F4 (hex) 513 (dec) je 0x0201 (hex) V případě architektury Intel x86 a x86-64 jsou hodnoty uloženy v pořadí little-endian Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 49 / 64
44 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Výrazy Výraz předepisuje výpočet hodnoty určitého vstupu Struktura výrazu obsahuje operandy, operátory a závorky Výraz může obsahovat literály proměnné konstanty unární a binární operátory volání funkcí závorky Pořadí operací předepsaných výrazem je dáno prioritou a asociativitou operátorů. Příklad 10 + x * y // pořadí vyhodnocení 10 + (x * y) 10 + x + y // pořadí vyhodnocení (10 + x) + y * má vyšší prioritu než + + je asociativní zleva Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 51 / 64
45 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Základní rozdělení operátorů Operátory jsou vyhrazené znaky (nebo posloupnost znaků) pro zápis výrazů Můžeme rozlišit čtyři základní typy binárních operátorů Aritmetické operátory sčítání, odčítaní, násobení, dělení Relační operátory porovnání hodnot (menší, větší,... ) Logické operátory logický součet a součin Operátor přiřazení - na levé straně operátoru = je proměnná Unární operátory indikující kladnou/zápornou hodnotu: + a operátor modifikuje znaménko výrazu za ním modifikující proměnou: ++ a logický operátor doplněk:! Ternární operátor podmíněné přiřazení hodnoty Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 52 / 64
46 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Proměnné, operátor přiřazení a příkaz přiřazení Proměnné definujeme uvedením typu a jména proměnné Jména proměnných volíme malá písmena Víceslovná jména zapisujeme s podtržítkem _ Nebo volíme CamelCase Proměnné definujeme na samostatném řádku int n; int number_of_items; Přiřazení je nastavení hodnoty proměnné, tj. uložení definované hodnoty na místo v paměti, kterou proměnná reprezentuje Tvar přiřazovacího operátoru proměnná = výraz Výraz je literál, proměnná, volání funkce,... Příkaz přiřazení se skládá z operátoru přiřazení = a ; Levá strana přiřazení musí být l-value location-value, left-value Tj. musí reprezentovat paměťové místo pro uložení výsledku. Přiřazení je výraz a můžeme jej použít všude, kde je dovolen výraz příslušného typu Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 53 / 64
47 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Základní aritmetické výrazy Pro operandy číselných typů int a double jsou definovány operátory Ale také pro char, short, float unární operátor změna znaménka binární sčítání + a odčítání binární násobení * a dělení / Pro operandy celočíselných typů pak dále binární zbytek po dělení % Pro oba operandy stejného typu je výsledek aritmetické operace stejného typu V případě kombinace typů int a double, se int převede na double a výsledek je hodnota typu double. Dělení operandů typu int je celá část podílu Např. 7/3 je 2 a 7/3 je 2 Pro zbytek po dělení platí x%y = x (x/y) y Implicitní typová konverze Např. 7 % 3 je 1-7 % 3 je -1 7 % -3 je 1-7 % -3 je -1 Pro záporné operendy je v C99 výsledek celočíselného dělení blíže 0, platí (a/b)*b + a%b = a. Pro starší verze C závisí výsledek na překladači. Další aritmetické operátory příště. Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 54 / 64
48 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Příklad Aritmetické operátory 1/2 1 int a = 10; 2 int b = 3; 3 int c = 4; 4 int d = 5; 5 int result; 6 7 result = a - b; // rozdil 8 printf("a - b = %i\n", result); 9 10 result = a * b; // nasobeni 11 printf("a * b = %i\n", result); result = a / b; // celociselne deleni 14 printf("a / b = %i\n", result); result = a + b * c; // priorita operatoru 17 printf("a + b * c = %i\n", result); printf("a * b + c * d = %i\n", a * b + c * d); // -> printf("(a * b) + (c * d) = %i\n", (a * b) + (c * d)); // -> printf("a * (b + c) * d = %i\n", a * (b + c) * d); // -> 350 lec01/arithmetic_operators.c Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 55 / 64
49 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Příklad Aritmetické operátory 2/2 1 #include <stdio.h> 2 3 int main(void) 4 { 5 int x1 = 1; 6 double y1 = ; 7 float x2 = f; 8 double y2 = 2; 9 10 printf("p1 = (%i, %f)\n", x1, y1); 11 printf("p1 = (%i, %i)\n", x1, (int)y1); 12 printf("p1 = (%f, %f)\n", (double)x1, (double)y1); 13 printf("p1 = (%.3f, %.3f)\n", (double)x1, (double)y1); printf("p2 = (%f, %f)\n", x2, y2); double dx = (x1 - x2); // implicitni konverze na float, resp. double 18 double dy = (y1 - y2); printf("(p1 - P2)=(%.3f, %0.3f)\n", dx, dy); 21 printf(" P1 - P2 ^2=%.2f\n", dx * dx + dy * dy); 22 return 0; 23 } lec01/points.c Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 56 / 64
50 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Standardní výstup a vstup Spuštěný program v prostředí operačního systému má přiřazený znakově orientovaný standardní vstup (stdin) a výstup (stdout) Výjimkou jsou zpravidla programy pro MCU bez OS. Program může prostřednictvím stdout a stdin komunikovat s uživatelem Základní funkce pro znakový výstup je putchar() a pro vstup getchar() definované ve standardní knihovně <stdio.h>. Pro načítání číselných hodnot lze využít funkci scanf() Formátovaný výstup je možné tisknout funkce printf(), např. číselné hodnoty Jedná se o knihovní funkce, ze standardní knihovny. nejsou klíčová slova jazyka C. Jména funkcí Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 58 / 64
51 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Formátovaný výstup printf() Číselné hodnoty lze tisknout (vypsat) na standardní výstup prostřednictvím funkce printf() man printf, resp. man 3 printf Argumentem funkce je textový řídicí řetězec formátování výstupu Řídicí řetězec formátu je uvozen znakem % Znakové posloupností (nezačínající %) se vypíší tak jak jsou uvedeny Základní řídicí řetězce pro výpis hodnot jednotlivých typů char %c _Bool %i, %u int %i, %x, %o float %f, %e, %g, %a double %f, %e, %g, %a Dále je možné specifikovat počet vypsaných míst, zarovnání vlevo (vpravo), atd. Více na cvičení a v domácích úkolech. Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 59 / 64
52 Program v C Proměnné a jejich hodnoty Základní číselné typy Výrazy a operátory Formátovaný vstup a výstup Formátovaný vstup scanf() Číselné hodnoty ze standardního vstupu lze načíst funkcí scanf() man scanf, resp. man 3 scanf Argumentem je textový řídicí řetězec Syntax podobný příkazu printf() Je nutné předat paměťové místo pro uložení hodnoty Příklad načtení hodnoty celého čísla a hodnoty typu double 1 #include <stdio.h> 2 3 int main(void) 4 { 5 int i; 6 double d; 7 8 printf("enter int value: "); 9 scanf("%i", &i); /* operator & vraci adresu promenne i */ printf("enter a double value: "); 13 scanf("%lf", &d); 14 printf("you entered %02i and %0.1f\n", i, d); return 0; lec01/scanf.c 17 } Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 60 / 64
53 Část III Část 3 Zadání 1. domácího úkolu (HW01) Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 61 / 64
54 Zadání 1. domácího úkolu HW01 Téma: Načítání vstupu, výpočet a výstup Povinné zadání: 2b; Volitelné zadání: není; Bonusové zadání: není Motivace: Získat představu o interakci uživatele s programem Cíl: Osvojit si načítání vstupu, formátovaného výstupu a základní posloupnosti příkazů Zadání: Načítání celých čísel ze standardního vstup Výpis čísel v dekadické a šestnáckové soustavě Provedení základní aritmetických operací s načtenými čísly Výpočet podílu a průměrné hodnoty čísel Dodržení správného formátování výstupu Použijte hex zobrazení výstupu hexdump -C Termín odevzdání: , 23:59:59 PDT PDT Pacific Daylight Time Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 62 / 64
55 Diskutovaná témata Shrnutí přednášky Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 63 / 64
56 Diskutovaná témata Diskutovaná témata Informace o předmětu Základy programování v C Program, zdrojové soubory a kompilace programu Struktura zdrojového souboru a zápis programu Proměnné, základní číselné typy Proměnné, přířazení a paměť Základní výrazy Standardní vstup a výstup programu Formátovaný vstup a výstup Příště: Zápis programu v C a základní řídicí struktury Jan Faigl, 2016 B0B36PRP Přednáška 01: Základy programování v C 64 / 64
Část I. Část 1 Základy programování v C. Přehled témat. Základy programování v C. Jazyk C
Přehled témat Základy programování v C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 0 B0B36PRP Procedurální programování Část 1 Základy programování
Základy programování v C
Základy programování v C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 02 B0B36PRP Procedurální programování Jan Faigl, 2018 B0B36PRP Přednáška 02:
Základy programování v C
Základy programování v C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 02 B0B36PRP Procedurální programování Jan Faigl, 2018 B0B36PRP Přednáška 02:
Část I Organizace předmětu
Přehled témat Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 B0B36PRP Procedurální programování Část 1 Organizace předmětu
Procedurální programování
Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 B0B36PRP Procedurální programování Jan Faigl, 2017 B0B36PRP Přednáška 01:
Část I Organizace předmětu
Přehled témat Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Část 1 Organizace předmětu Cíle předmětu Prostředky dosažení cílů PRP Hodnocení
Procedurální programování
Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 B0B36PRP Procedurální programování Jan Faigl, 2018 B0B36PRP Přednáška 01:
Část I Organizace předmětu
Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 Přehled témat Část 1 Organizace předmětu Cíle předmětu Prostředky dosažení
Procedurální programování
Procedurální programování Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 01 B0B36PRP Procedurální programování Jan Faigl, 2019 B0B36PRP Přednáška 01:
Stanislav Vítek. Katedra radioelektroniky Fakulta elektrotechnická
Procedurální programování Úvod do programování Stanislav Vítek Katedra radioelektroniky Fakulta elektrotechnická České vysoké učení v Praze Přehled témat Část 1 O předmětu Organizace předmětu Dostupné
Zdroje Úvod Zápis a kompilace programu Příklad programu v jazyce C Příklad programu s výstupem. Úvod do jazyka C. Jan Faigl
Úvod do jazyka C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR2 Programování 2 Jan Faigl, 2016 A0B36PR2 Přednáška 7: Úvod do jazyka C 1 /
Úvod do jazyka C. Úvod do jazyka C. Knihy 2/2. Knihy 1/2. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze.
Úvod do jazyka C Úvod do jazyka C Zdroje Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 7 A0B36PR2 Programování 2 Úvod Zápis a kompilace programu Příklad
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
Ú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í
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é
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é
Ú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) -
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
IUJCE 07/08 Přednáška č. 1
Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming
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
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
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
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
11. Přehled prog. jazyků
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze
Ú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
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
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013
Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521
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
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í
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í
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 Středa 10:30 12:00 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1
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
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
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
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é
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ý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 -
Část 1 Organizace předmětu. Základní pojmy. Část 2 Programování a výpočty. Část 3 Programovací jazyk Java
Část 1 Organizace předmětu Základní pojmy Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 1 A0B36PR1 Programování 1 Informace o předmětu Přednášky Cvičení
Vícerozměrná pole. Úvod do programování 2 Tomáš Kühr
Vícerozměrná pole Úvod do programování 2 Tomáš Kühr Organizační záležitosti Konzultace Pracovna 5.043 Úterý 9.40 11.20 (oficiální) Pátek 8.30 9.40, dle potřeby Emailem tomas.kuhr@upol.cz Web předmětu:
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
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,
Algoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
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.
Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
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
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ář
- 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
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.
Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické
Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1
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í
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
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
ALGORITMIZACE A PROGRAMOVÁNÍ
Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení
Základy jazyka C. Úvod do programování 1 Tomáš Kühr
Základy jazyka C Úvod do programování 1 Tomáš Kühr Organizační záležitosti Konzultace Pracovna 5.043 Pondělí 9.30 11.30, středa 10.00 11.30 a 13.00 14.30 (oficiální) Pátek 8.00 9.30 (někdy), 12.30-13.00
Základní pojmy. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 1 A0B36PR1 Programování 1
Základní pojmy Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 1 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 1: Základní pojmy 1 / 59 Část
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č
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
Základní pojmy. Jan Faigl. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze. Přednáška 1 A0B36PR1 Programování 1
Základní pojmy Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 1 A0B36PR1 Programování 1 Jan Faigl, 2015 A0B36PR1 Přednáška 1: Základní pojmy 1 / 59 Část
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,
PROGRAMOVÁNÍ V C++ CVIČENÍ
PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné
1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
Algoritmizace a programování
Algoritmizace a programování Jazyk C výrazy České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura programu (1) Program v C se skládá z následujících součástí: Příkazy
Algoritmizace a programování
Algoritmizace a programování Jazyk C výrazy České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Struktura programu (1) Program v C se skládá z následujících součástí: Příkazy
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
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
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová
PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.
PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994
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
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.
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
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
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Ý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
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í
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
Odvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
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
Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %
vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné
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
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:
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:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9)
Programování v C++ Úplnej úvod Co se naučíte? tak samozřejmě C++, s důrazem na: dynamické datové struktury Objektově Orientované Programování STL (standardní knihovna šablon) vytváření vlastních šablon
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í
Základy jazyka C. Úvod do programování 1 Tomáš Kühr
Základy jazyka C Úvod do programování 1 Tomáš Kühr Organizační záležitosti u Konzultace u Pracovna 5.043 u Úterý 12.30 14.00 u Čtvrtek 14.00 16.00 u Pátek 9.30 11.30 a od 14.45 dle potřeby (neoficiální)
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
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é
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Ý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
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Objektově orientované programování
10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh
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é
- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.
Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,
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
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
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