Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Hasonló dokumentumok
Programozás 6. Dr. Iványi Péter

Programozás I. 5. Előadás: Függvények

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

C programozási nyelv

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás C és C++ -ban

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

Programozás 5. Dr. Iványi Péter

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás II. 2. Dr. Iványi Péter

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás 1. Dr. Iványi Péter

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE

C programozás. 1 óra Bevezetés

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Programozás C nyelven (10. ELŐADÁS) Sapientia EMTE

Mintavételes szabályozás mikrovezérlő segítségével

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

Alprogramok, paraméterátadás

Java II. I A Java programozási nyelv alapelemei

A C programozási nyelv II. Utasítások. A függvény.

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

INFORMATIKA tétel 2019

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Vezérlési szerkezetek

Programozás C++ -ban 2007/4

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

A C# programozási nyelv alapjai

Programozás II. 4. Dr. Iványi Péter

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Programozás alapjai II. (1. ea) C++

Programozás alapjai II. (1. ea) C++

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Bevezetés a programozásba Előadás: A const

Java II. I A Java programozási nyelv alapelemei

Országzászlók (2015. május 27., Sz14)

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Informatika terméktervezőknek

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

C++ programok fordítása

Preprocesszor. Programozás alapjai C nyelv 11. gyakorlat. Makrók (2) Makrók (#define) Makrók (3) #include

Programozás alapjai C nyelv 11. gyakorlat. Preprocesszor. Makrók (#define)

1. Alapok. Programozás II

Pénzügyi algoritmusok

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

A C programozási nyelv VI. Parancssori argumentumok File kezelés

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Szövegek C++ -ban, a string osztály

Programozás alapjai. 10. előadás

BASH script programozás II. Vezérlési szerkezetek

Programozás alapjai 9.Gy: Struktúra 2.

Imperatív programozás

Programozás C++ -ban

Programozás I. gyakorlat

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás I gyakorlat

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

1. Jelölje meg az összes igaz állítást a következők közül!

A programozás alapjai

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Típusok és konstansok

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

INFORMATIKA tétel 2018

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

Óbudai Egyetem. C programozási nyelv

Programozás C++ -ban

Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };

Objektumok tulajdonságai

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Szkriptnyelvek. 1. UNIX shell

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Dr. Schuster György október 14.

C programozási nyelv. Dr. Schuster György szeptember 18.

Java programozási nyelv

Programozás I. gyakorlat

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

Átírás:

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1

Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb.

Felülnézet 2 #include: hatására a preprocesszor beépíti, logikailag, a header-állományt a forráskódba

Felülnézet 3?

Változók (1) azo osító, típus, í, érték memóriaosztály (hol kerül eltárolásra?) adatszegmens/regiszter/stack/heap láthatósági tartomány (mely programsorokból érhető el? hol defi iáltuk? lokk/ odul állo á y szi tű élettartam (meddig létezik? a tárolási osztálya határozza meg) statikus/lokális/dinamikus adatszegmensen regiszter/stack HEAP

Változók (2) Globális / Lokális / Statikus változók int a = 1, b; void f1(int); void f2(int); int main(){ int a = 2, i;... f1(a); f2(9); } void f1(int n){ int i;... } void f2(int m){ int i; static int x;... } D D S S D a, b, a, i, x 1 0 2? 0 D D S S D a, b, n, i, x 1 0 2? 0 D D S S D a, b, m, i, x 1 0 9? 0 D: Adatszegmens S: Stack Hol léteznek? Melyikek léteznek? Melyikek láthatók? Mennyi az értékük?

Változók (2a) Globális változók minden függvényen kívül definiáljuk; létrejö ek ár a progra futás előtt, az adatszeg e se, és léteznek a teljes programfutás alatt; implicit statikus élettartamúak; implicit inicializálva vannak nullával; láthatósági tartományuk a modul (állomány), amelyben defi iáltuk őket, és elérhetőek árhol, a defi iálásuk helyétől lefele az állomány végéig; láthatósági tarto á yuk kiterjeszthető ás odulokra is (extern).

Változók (2b) Lokális változók definiálásuk valamely blokkban történik, és láthatósági tarto á yuk az illető lokk területe, a élkül hogy kiterjeszthető le e; általában a STACK-en jönnek létre, de ha definiálásukat egelőzi a register kul sszó, akkor lehetőség szeri t a mikroprocesszor valamelyik regiszterében; tárhelyfoglalás számukra programfutás közben történik, amikor a programfutás a definiálásukhoz érkezik; az illető lokk efejeztével felszá olód ak.

Változók (2c) Statikus változók létrejö ek ár a progra futás előtt, az adatszeg e se, és léteznek a teljes programfutás alatt; implicit inicializálva vannak nullával; láthatósági tarto á yuk e terjeszthető ki; ha i de függvé ye kívül defi iáltuk őket, akkor láthatósági tarto á yuk odulszi tű külső statikus változó)[miben különböznek a globális változóktól?]; ha vala ely lokk a defi iáltuk őket, akkor lokkszi tű a láthatósági tarto á yuk első statikus változó [miben különböznek a lokális változóktól?].

Utasítások, kifejezések I. SZEKVENCIA <kifejezés>;(1) értékadás II.ELÁGAZÁS if-else (2) switch (3) III.CIKLUSOK for (4) while (5) do while (6) break(7), continue(8), goto(9) //olvasás 0 végjelig int x; while( scanf( %i, &x), x ){ } //olvasás állományvégig char c; while( fscanf(fin, %c, &c)!= EOF ){ }

Bit-műveletek: <<, >>, &,, ^, ~???????????????????????????????? i 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 long x = 123456789; int i = 13; printf( %i,!!(x & (1UL << i))); 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 i 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0? 0 0 0 0 0 0 0 0 0 0 0 0 0 i 1 0

Pointerek és tömbök Dinamikus helyfoglalás int a[100], *p = a; Hivatkozás az i. elemre: a[i] *(a+i) *(p+i) p[i] Hivatkozás az i. elem címére: &a[i] a+i p+i &p[i] a p int a[10][10][10]; //a[i][j][k] int *b = (int*)malloc(n*m*sizeof(int)); // b[i*m+j] 0 1 2 i 99 int (*c)[3] = (int(*)[3])malloc(n*3*sizeof(int)); // c[i][0], c[i][1], c[i][2]

Karakterláncok: sscanf/sprintf????????

struct/union/enum szemely x; scanf( %hu, &x.kod); if( x.d.ev == 68 ){ } enum{ marcius = 3; junius = 6; szeptember = 9 december = 12; }; if(ho>=december ho<marcius){ }

Függvények Függvény-pointerek int (*fp)(char, float); void mysort( void *v, int nr, int size, int(*p_cmp)(const void*,const void*) ) Váltózó paraméterszámú függvények void valt_par_fugg(int n,...); Parancssor argumentumok int main(int argc, char *argv[]){ }

Makrók (Hogya űködik az alá i progra?) #include <stdio.h> #define def_fn(name, operation)\ int name(int a, int b){\ int c = a operation b;\ printf("%d %s(%s) %d = %d\n",a,#name,#operation,b,c);\ return c;\ }\ def_fn(plus,+); def_fn(minus,); main(){ plus(1,1); minus(1,1); return 0; }

Állománykezelés kö yvtárkezelő progra fprintf(fout2, %s\n%s\n%i\n, x.cim, x.szerzo, x.kiadasi_ev); x fout2 x fout1 fin fwrite(&x,sizeof(konyv),1,fout1); fread(&x,sizeof(konyv),1,fin);