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

Podobné dokumenty
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: Ukončí program. Nula znamená, že vše proběhlo bez chyby.

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

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

Algoritmizace a programování

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

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

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

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

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

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

Algoritmizace a programování

Programovací jazyk Pascal

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

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

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

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Úvod do programování. Lekce 1

Základy algoritmizace a programování

Operátory. Základy programování 1 Tomáš Kühr

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

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

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

Úvod do programovacích jazyků (Java)

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

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

Základy algoritmizace a programování

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

2 Datové typy v jazyce C

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

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

PROGRAMOVÁNÍ V SHELLU

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

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

VISUAL BASIC. Práce se soubory

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

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

Jazyk C# a platforma.net

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

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

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

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

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

C2110 Operační systém UNIX a základy programování

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

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

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

Algoritmizace a programování

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í

Programovací jazyk C++ Hodina 1

Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru

Programování v jazyce JavaScript

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

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

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

6 Příkazy řízení toku

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

Zápis programu v jazyce C#

LEKCE 6. Operátory. V této lekci najdete:

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

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

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

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

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

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

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

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

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

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Sada 1 - Základy programování

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

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

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

Řídicí struktury. alg3 1

3 KTE / ZPE Informační technologie

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

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

Sada 1 - Základy programování

Jazyk C práce se soubory. Jan Hnilica Počítačové modelování 16

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

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

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

Základy programování (IZP)

Stručný návod k programu Octave

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Sekvenční a podmíněné provádění

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

PHP tutoriál (základy PHP snadno a rychle)

Kurz LSL skriptování. Shiny Iceberg 2009

Základy programování (IZP)

DUM 06 téma: Tvorba makra pomocí VBA

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Algoritmizace a programování

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Inovace bakalářského studijního oboru Aplikovaná chemie

Algoritmizace a programování

VY_32_INOVACE_08_2_04_PR

Transkript:

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 <stdio.h> #include <stdlib.h> int main() { printf("hello world!\n"); return 0; 2. Výpis do konzole printf("text"); vypíše na obrazovku slovo Text (bez uvozovek) pokud chceme vypsat některý speciální znak nebo znak se speciálním významem, musíme ho tzv. oescapovat tak, že před něj napíšeme zpětné lomítko ( \ ): \n Nový řádek (new line) \t Tabulátor (několik mezer za sebou) \a Pípnutí (alert) \" Dvojitá uvozovka \\ Zpětné lomítko printf("text %d text %d ", číslo1, číslo2, ); vypíše text v uvozovkách, ale znaky %d nahradí postupně číslem 1, 2 atd. znak za procentem určuje, v jakém formátu se má číslo vypsat: 3. Komentáře %d Vypíše číslo v desítkové soustavě. %o Vypíše číslo v osmičkové soustavě. %x Vypíše číslo v šestnáctkové soustavě malými písmeny. %X Vypíše číslo v šestnáctkové soustavě velkými písmeny. %% Vypíše znak procenta. = texty ignorované překladačem používají se pro psaní poznámek nebo zakomentování části kódu, který nechceme vykonat Řádkový komentář začíná dvěma lomítky a končí koncem řádku lze ho napsat na prázdný řádek i za příkaz Vypíše na obrazovku Hello world! bez uvozovek a odřádkuje. Ukončí program. Nula znamená, že vše proběhlo bez chyby. // komentář na prázdném řádku printf("hello world!"); // komentář za příkazem

Blokový komentář začíná znaky /* a končí znaky */ mezi hvězdičkami může být libovolný počet řádků může obsahovat i řádkové komentáře /*Komentář*/ /* Několika řádkový Komentář obsahující // řádkový komentář */ 4. Celočíselné proměnné 2. lekce Definování proměnné int i, cislo1; int j; po definování proměnné je v ní náhodná hodnota, před prvním použitím např. ve výpočtu nebo výpisu je potřeba do ní uložit nějakou hodnotu Uložení hodnoty do proměnné i = 5; // v proměnné i je 5 cislo1 = i * 2 6; // v proměnné cislo1 je 5 (5 * 2 6) Načtení hodnoty do proměnné z klávesnice scanf("%d", &i); scanf("%d %d", &i, &cislo); před názvy proměnných se musí psát ampersand ( & )!!! jednotlivé proměnné ve formátovacím řetězci oddělovat vždy jen mezerou, ačkoliv je možné používat i jiné znaky, ale pokud je pak uživatel přesně nezadá, tak se program začne chovat neočekávaně při čtení znaků z klávesnice se jako mezera interpretuje jakýkoliv bílý znak (mezera, konec řádku, tabelátor) znaky se nečtou přímo z klávesnice, ale z klávesnicového bufferu, takže pokud jsme při předchozím psaní na klávesnici toho napsali více, tak se text navíc použije pro následující volání funkce scanf Adresa proměnné proměnné se ukládají do operační paměti (RAM) při programování se na proměnné odkazujeme jejich názvy, ale počítač používá jejich adresy aktuálně použitou adresu proměnné zjistíme přidáním ampersandu před název proměnné, např. &i adresa proměnné může být při každém spuštění programu jiná adresa proměnné je pořadové číslo prvního bytu proměnné v paměti byte (česky bajt) = 8 bitů; značení 1 B = 8 b do jednoho bytu se vejde pouze číslo od 0 do 255 např. proměnná int má 4 byty, takže se do ní vejde číslo od 0 do 4 294 967 295 (cca 4.3 miliardy) int i; i = 5; printf("hodnota proměnné i: %d\n", i); // vypíše 5 printf("adresa proměnné i: %d\n", &i); // náhodné číslo, např. 23624

5. Celočíselné dělení celočíselné dělení je dělení ve stylu 13 děleno 5 je 2 zbytek 3 celočíselné dělení se dělá pomocí znaku lomítka ( / ), zbytek po dělení se nazývá dělení modulo a značí se procentem ( % ) i = 13 / 5; // do proměnné i se uloží 2 i = 13 % 5; // do proměnné i se uloží 3; čteme 13 děleno modulo 5 6. Desetinná čísla na počítači se zapisují vždy s desetinnou tečkou, místo české čárky (např. 3.52 místo 3,52) definují se pomocí klíčového slova float (používá se ve většině programovacích jazyků) desetinná čísla se na počítači ukládají v různých formátech; slovo float znamená, že se číslo uloží tzv. s plovoucí (float) desetinnou tečkou v printf a scanf se místo %d použije %f float cislo; // definování proměnné cislo cislo = 3.52; // uložení čísla 3,52 do proměnné cislo printf("%f", cislo); // vypsaní čísla scanf("%f", &cislo); // načtení desetinného čísla z klávesnice pokud chceme určit, kolik má funkce printf vypsat číslic, používáme modifikovanou syntaxi %f: printf("%7.3f", cislo); vypíše vždy alespoň sedm znaků (započítává se i desetinná tečka) zokrouhlí číslo tak, aby mělo tři desetinná místa pokud je číslo příliš krátké, vypíšou se před něj mezery tak, aby mělo sedm znaků; pokud je naopak číslo delší než sedm znaků, tak se vypíše delší, ale pořád bude mít tři desetinná místa Například printf("%6.2f\n", 123.45); printf("%6.2f\n", 1.5); printf("%6.2f\n", 2.47612); printf("%6.2f\n", 17); printf("%6.2f\n", 111222.6666); vypíše 123.45 číslo má přesně 6 znaků 1.50 číslu se doplnila nula a přidaly se před něj dvě mezery 2.48 číslo se zaokrouhlilo 17.00 číslu se doplnila desetinná místa 111222.67 číslo bylo příliš dlouhé, tak se vypsalo celé (říkáme, že přeteklo) pokud bychom chtěli před kratší čísla vypsat místo mezer nuly, tak se místo "%6.2f" zadá "%06.2f" printf("%06.2", 1.37); // vypíše 001.37 podobně lze tyto zápisy použít i pro celá čísla, jen se vynechá počet desetinných míst, např. printf("%5d\n", 12345); printf("%5d\n", 12); printf("%05d\n", 12); vypíše 12345 12 00012

pokud bychom chtěli pouze specifikovat počet desetinných míst, tak se místo "%6.2f" zadá jen "%.2f" printf("%.2f", 123.4); // vypíše 123.40 7. Logické (pravdivostní) operátory 3. lekce Pravdivostní hodnoty pravda (true) = jakékoliv nenulové číslo (typicky 1) nepravda (false) = nula Pravdivostní operátory A B = A nebo B = výsledek je nepravdivý, pouze pokud je nepravdivá hodnota A i B A && B = A a současně B = výsledek je pravdivý, pouze pokud je pravdivé A i B!A = negace A = výsledek má opačnou pravdivost, než A 8. Priorita operátorů udává, které operátory mají přednost před kterými * / % (nejvyšší priorita) + < > <= >= ==!= && (nejnižší priorita) operátory s vyšší prioritou se vyhodnocují dříve než operátory s nižší prioritou (patrné z pozice * a +) pokud mají operátory stejnou prioritu, tak se vyhodnocují zleva doprava tak, jak jsou zapsané v kódu pokud si nejsem jistý prioritou operátoru nebo pokud jí chci změnit, tak stačí výraz ozávorkovat tabulka je zjednodušená 9. Větvení programu Syntaxe 1 if (podmínka) {... příkazy... příkazy ve složených závorkách se provedou, pouze pokud je podmínka splněná (je true) Syntaxe 2 if (podmínka) {... příkazy pro true... else {... příkazy pro false... pokud je podmínka splněna (je true), provedou se pouze příkazy v prvních složených závorkách pokud podmínka není splněna (je false), provedou se pouze příkazy z druhých složených závorek příkazy ve složených závorkách se nazývají blok příkazy v bloku je kvůli přehlednosti kódu dobré odsazovat o dvě mezery vpravo

4. lekce 10. Zkrácené zapisování bloků prázdný blok { lze zapsat, jako samotný středník pokud je v bloku jen jeden příkaz, lze vynechat složené závorky Příklad. Delší verze kódu: if (i > 0) { else { printf("cislo neni kladne."); Zkrácená verze kódu: if (i > 0) ; else printf("cislo neni kladne."); 11. Konstrukce else if if (i == 1) { // i je 1 else if (i == 2) { // i je 2 else if (i == 3) { // i je 3 else { // i je cokoliv jiného než 1, 2 a 3 12. Podmíněný výraz jediný ternární operátor v C (= operátor se třemi operandy) syntaxe: (podmínka)? splněno : nesplněno výsledkem operace je splněno, pokud je podmínka true, jinak je výsledkem nesplněno tento operátor má jednu z nejnižších priorit vůbec, takže jednotlivé části jsou vyhodnoceny vždy jako první a proto je není třeba závorkovat; závorku kolem podmínky doporučuji psát jen kvůli přehlednosti Příklad. Následující dva kódy jsou rovnocenné: // Dlouhá verze if (i > 0) i = 10; else i = 20; // Krátká verze i = (i > 0)? 10 : 20;

13. Zkrácené zápisy aritmetických operací Dlouhý zápis Zkrácený zápis Poznámka i = i + 1 i++ inkrementace proměnné i = i 1 i-- dekrementace proměnné i = i + 5 i += 5 i = i 5 i -= 5 i = i * 5 i *= 5... atd. pro většinu operátorů (viz tabulka priorit operátorů) 14. While cyklus while (podmínka) { // příkazy příkazy se opakovaně vykonávají tak dlouho, dokud je splněná podmínka za slovem while pokud podmínka není splněná ani na začátku, tak se příkazy nevykonají vůbec závorka kolem podmínky je povinná Příklad. int i = 5; while (i <= 10) { if (i > 5) printf(", "); printf("%d", i); i++; program vypíše čárkou oddělený seznam čísel od 5 do 10 včetně 15. Řízení běhu cyklu 5. lekce