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



Podobné dokumenty
IUJCE 07/08 Přednáška č. 1

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

Programovací jazyk C++ Hodina 1

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

Algoritmizace a programování

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

Úvod do programovacích jazyků (Java)

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

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

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

Opakování programování

Zápis programu v jazyce C#

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

Výrazy, operace, příkazy

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

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

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

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

Jazyk C# a platforma.net

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

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

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

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

PROGRAMOVÁNÍ V C++ CVIČENÍ

Data, výrazy, příkazy

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

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

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

Výrazy, operace, příkazy

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

Struktura programu, proměnné, konstanty, výrazy v jazycích C a C#

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

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

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

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

Objektově orientované programování

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

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

Odvozené a strukturované typy dat

Úvod do programování. Lekce 1

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

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

AUTHOR : Robert Follner DATE. Abstrakt ABSTRACT: Několik poznatků autora (Robert Follner) z programování

NPRG031 Programování II --- 2/2 Z, Zk

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

IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí

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

Algoritmizace a programování

Proměnné a datové typy

Základy algoritmizace a programování

Algoritmizace a programování

2 Datové typy v jazyce C

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

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

Základy programování (IZP)

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

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

Základy algoritmizace a programování

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

V dalších letech se pak začaly objevovat první normy pro jazyk C++ (ISO/IEC 14882:1998; ISO/IEC 9899:1999; ISO/IEC 14882:2003; ISO/IEC 14882:2011).

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

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

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

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

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

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

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

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

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

Programování C++ Lukáš Tomášek. verze

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

Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný

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

Algoritmizace a programování

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

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

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Algoritmizace a programování

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr

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

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

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

Programování v jazyce JavaScript

Základy programování (IZP)

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

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

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.

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/

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

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

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

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

NPRG031 Programování II 1 / :47:55

Základy programování (IZP)

Transkript:

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í Visual Studio 2005/2008 Povinná minimální účast 60% Zápočet Vypracování semestrální práce Úspěšné složení zápočtového testu

Organizace výuky Literatura Přednášky Herout, P.: Učebnice jazyka C Schildt, H.: Naue se sám C Kernighan, B. W., Ritchie, D. M.: The C Programming Language Předpokládané znalosti základy algoritmu, proměnná, přiřazení, výraz řídící struktury funkce a její volání: hodnotou odkazem

Cíle a historie Cíle zvládnout základy programování v jazyce C vytvořit základy pro objektové programování v C++ porozumět pointerům Historie předchůdce byl jazyk B 1972 Dennis M. Ritchie, AT&T Bell Labs jazyk C (odstranění problému jazyka B) masový úspěch UNIX přepsán celý do C 1978 - K&R Standard ( Pre-ANSI C ) 1982 - počátek standardizace jazyka a knihoven 1989 American National Standard X3.159-1989 = ANSI C (úprava jazyka dle praktických zkušeností) 1990 převzata pod ISO/IEC 9899-1990 nejnovější ISO/IEC 9899-1999 C99

Charakteristika jazyka Klady multiplatformní přenositelné zdrojové kódy napoíe OS a CPU stačí pouze C kompilátor nízkoúrovňový přímý přístup do paměti, bitové operace rychlý, vhodný pro systémové programování vývoj OS, Linux napsán kompletní v C Zápory nebezpečný slabá typová kontrola, nejednoznačná syntaxe neumožňuje přímou práci s řetězci

Způsob zpracování programu Editor vyváření a editaci kódu Preprocesor předzpracovává kód (vynechává komentáře, linkuje.h soubory, makra) výsledkem je opět textový soubor Compiler překlad zdrojového kódu do relativního kódu (jazyk rel. adres), vzniká soubor *.obj, podmíněně může vzniknout *.lis (protokol o překladu) Linker přidělí relativním adresám adresy absolutní, najde adresy na ostatní identifikátory (knihovny *.lib), výsledkem je *.exe Debugger pro nalézání chyb, vše probíhá v cyklu Editor-Compiler-Linker-Debugger

Charakteristika programu v jazyce C všechny programy se skládají z jedné nebo více funkcí povinná funkce každého programu main() příkazy končí středníkem - ; blok programu ve složených závorkách - {} řetězce v uvozovkách řetězec znaky v apostrofech x

Obecný formát funkce a funkce main Obecný formát funkce návratovýtyp jménofce(seznamparametrů) { blok příkazů } Funkce main() musí být vždy vstupní místo programu nejjednodušší funkce main void main(void) { }

Fce s návratovou hodnotou a parametry fce s návratovou hodnotou a parametry int main(int argc, char* argv[]) { return 0; } návratová hodnota parametry argc počet parametrů argv[] pole parametrů

Spuštění z příkazové řádky s parametry Příklad pžíkazové řádky C:\program.exe par1 par2 Argumenty přenesené do programu argc = 3 argv[0] = C:\program.exe argv[1] = par1 argv[2] = par2

Komentáře začátek /* konec */ Příklady komentářů /* komentar na vice radcich s vynechanim jednoho radku */ /* komnetar na jednohom radku */ vysledek = a /* promenna */ + b;

Komentáře podle C99 lze navíc použít pro jednořádkové komentáře // Příklad komentářů II vysledek = a + b; // součet a,b

Základní datové typy Celočíselné char 8b -čtení jednoho znaku/malého čísla short int 16b int 16/32b -závislé na prostředí long int 32b vše bud příklad unsigned - bez znaménka rozsah od 0 do 2 n 1 signed se znaménkem (implicitně) rozsah od - 2 n 1 do 2 n 1 1 unsigned char 0-255 signed char -128-127

Základní datové typy Celočíselné - ekvivalentní zápisy short = short int = signed short int long = long int = signed long int int = signed int

Základní datové typy Reálné float 32 b double 64 b long double 64 b Logické přímo nejsou poskytovány nenulová hodnota (nejčastěji 1) = true nulová hodnota (0) = false až od normy C99 zaveden typ _Bool Řetězce přímo nejsou poskytovány pomocí pole znaků

Velikost datového typu Příklad operátor sizeof(typ) vrací velikost datového typu v B sizeof(char); // = 1B sizeof(double); // = 8B

Klíčová slova Celkem 32 klíčových slov Klíčová slova auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

Identifikátory case sensitive (Pocet POCET pocet) pouze prvních 31 znaků nesmí začínat číslem

Bílé znaky zahrnují důležité znaky nejsou na obrazovce vidět \ = escape sekvence Bílé znaky \n nová řádka (linefeed LF) \r návrat na začátek řádky (carriage return CR) \f nová stránka (formfeed FF) \t tabelátor (tab HT) \b posun doleva (backspace BS) \a písknutí (alert BEEL) \\ zpětné lomítko (backslash) \ apostrof (sigle quote) \0 nulový znak (null character NULL)