Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

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

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

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

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

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

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

Př. další použití pointerů

Základy programování (IZP)

IUJCE 07/08 Přednáška č. 6

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

Základy programování (IZP)

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

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

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

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;

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ý

2 Datové typy v jazyce C

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

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

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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Objektově orientované programování

Úvod do programování. Lekce 3

Úvod do programovacích jazyků (Java)

Ukazka knihy z internetoveho knihkupectvi

Dynamická vícerozměrná pole. Základy programování 2 Tomáš Kühr

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

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

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

Základy programování (IZP)

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

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

přetížení operátorů (o)

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

Základy programování (IZP)

Práce se soubory. Základy programování 2 Tomáš Kühr

Odvozené a strukturované typy dat

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.

Řídicí struktury. alg3 1

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

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

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

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

KTE / ZPE Informační technologie

Struktura programu v době běhu

Algoritmizace a programování

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

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

Vícerozměrná pole. Úvod do programování 2 Tomáš Kühr

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

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

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

Výčtový typ strana 67

Programování v jazyce C a C++

Zápis programu v jazyce C#

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

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

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

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

Práce s pamětí a předávání parametrů. Úvod do programování 1

Základy programování (IZP)

Více o konstruktorech a destruktorech

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

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

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

PŘETĚŽOVÁNÍ OPERÁTORŮ

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

Algoritmizace a programování

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Práce s polem a pamětí

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

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Pole a kolekce. v C#, Javě a C++

Mělká a hluboká kopie

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í

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

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

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Algoritmizace a programování

POČÍTAČE A PROGRAMOVÁNÍ

Jazyk C++ I. Polymorfismus

Dílčí příklady použití jazykových konstrukcí v projektu. Jazyk C Příklady. Pravidla překladu v gmake. Zadání

Řídící struktury, if, while, switch

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

Lineární spojový seznam (úvod do dynamických datových struktur)

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

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

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

4. Typ ukazatel, strukturované datové typy

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

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

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

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

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

Dynamická alokace paměti

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0

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

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

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Transkript:

Strukturu lze funkci předat: hodnotou i pomocí ukazatele pouze pomocí ukazatele (reference na strukturu) pouze hodnotou (kopie struktury) (pole[i])+j adresa prvku na souřadnicích i, j adresa i-tého řádku hodnota prvku na souřadnicích i, j switch(výraz) case hodnota1 : příkaz1; break;... default : příkazdef; break; proměnná výraz nemůže být znak výčtový typ celé číslo řetězec velikost ukazatele konstantní, 4 b konstantní, 1 B podle datového typu konstantní, 4 B

příkaz break ukončuje jakoukoliv funkci vnější cyklus nejvnitřnější cyklus program Dynamická alokace paměti s výchozí nulovou hodnotou obstará funkce realloc malloc calloc nullalloc Tato část kódu: int funkce() printf("%d",a); int a=97; funkce(); vypíše nedefinovanou hodnotu vypíše hodnotu 0 skončí chybou při překladu vypíše hodnotu 97 operátor sizeof() vrací hodnotu v v kb v kb

v b v B f1(&pole[4]); funkci f1 předáváme adresu 5. prvku hodnotu 5. prvku hodnotu 4. prvku adresu 4. prvku Deklarace funkce nemusí obsahovat návratový typ typ a počte parametrů tělo funkce název funkce Tato část kódu: #include <stdio.h> int a; void funkce() printf("%d",a); int a=97; funkce(); vypíše nedefinovanou hodnotu skončí chybou při překladu vypíše hodnotu 0

vypíše hodnotu 97 asociativita je pořadí vyhodnocení operátorů směr vyhodnocení operátorů operátor s dvěma operandy int a=3,b; b=++a; b=4 b=3 b=5 do L-hodnoty se dá uložit výsledek se nedá uložit výsledek se nedá uložit adresa Tento kód: int a=97; int a=99; printf("%d ",a); printf("%d ",a); vypíše: 99 97

skončí chybou při překladu vypíše: 99 99 vypíše: 97 97 *(pole[i])+j adresa i-tého řádku hodnota prvku na souřadnicích i, j adresa prvku na souřadnicích i, j Při definici statického dvourozměrného pole musí být definován pouze počet sloupců nemusí být definován počet řádků ani sloupců musí být definován počet řádků i sloupců musí být definován pouze počet řádků AUTO *ukauto ukauto = (AUTO*)malloc(sizeof(AUTO)); přístup k jeho datové položce pocetosob umožňuje (*ukauto).pocetosob *(ukauto).pocetosob *ukauto.pocetosob Tento kód: int a=99; a=97; printf("%d ",a); printf("%d ",a);

vypíše: 99 97 vypíše: 97 99 vypíše: 99 99 vypíše: 97 97 #include <filename> hledá soubor v systémovém adresáři v žádném - je to chyba hlavním - C:\ definovaném adresáři Struktura v jiné struktuře v jazyce C nemůže existovat může existovat za předpokladu že je vnořená struktura předem definována může existovat za předpokladu že je vnořená struktura později definována int a=3,b; b=a++; b=5 b=3 b=4 int x=1234567 hodnota x bude zabírat více B v textovém souboru více B v binárním souboru

v binárním i textovém stejně velikost ukazatele podle datového typu konstantní, 4 b konstantní, 1 B konstantní, 4 B switch(výraz) case hodnota1 : příkaz1; break;... default : příkazdef; break; větev default se provede vždy se provede za předpokladu že vyhovuje alespoň jedna větev se provede za předpokladu že vyhovují všechny větve se provede za předpokladu že nevyhovuje žádná větev int a=3,b=2; a/b výsledek bude reálné číslo exponent celé číslo Co je v kódu špatně? int a=97;

char b=88; printf("hello "); int b=4; printf("%c",a); int b=4; char b=88; printf( %c,a); celé pole z binárního souboru můžeme načíst funkcí fread freadln fscanf readln