A helyi információ és az id kezelése

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "A helyi információ és az id kezelése"

Átírás

1 A helyi információ és az id kezelése Programozás II. Széchenyi István Egyetem, Gy r május 28.

2 Helyi információ Helyi információ elemei ( helyi kategóriák): ország nyelv alkalmazott karakterkódolás dátum, id, pénzügyi mennyiség, számok formátuma pénznem, stb. locale.h szimbolikus állandók, típusok, függvény prototípusok Bizonyos könyvtári rutinok a beállított helynek megfelel en m ködnek (pl. karakterláncok összehasonlítása strcoll() fv.-nyel) mások viszont nem (pl. hibaüzenetek nyelve) Alapértelmezés: C hely

3 Helyi információ beállítása char* setlocale(int kategoria, const char* hely) kategoria LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME Mire hat? Minden kategóriára. Karakterláncok lexikograkus sorrendnek megfelel alakra konvertálását végz, vagy azokat ily módon összehasonlító függvények viselkedésére. Karakterosztályozó és konverziós rutinok m ködésére, kivéve isdigit(), isxdigit(). Pénzügyi értékek formázására. A nem pénzügyi értékek (számok) formázására. Dátumot és id t formázó függvények m ködésére.

4 Helyi információ beállítása hely karakterlánc ált. alakja: [nyelv[_ország]][.kódlap] Pl. "English_USA.1252", "Hungarian_Hungary.1250", de OS függ! hely Hatás NULL Nem módosít semmit. "C" C helyet állít (alapértelmezés): egy bájtos karakterek, tizedespont,... "" Az operációs rendszert l lekérdezett helyet használja. Különleges kódlapok: ACP ANSI alapértelmezett kódlap OCP OEM alapértelmezett kódlap Visszatérés: aktuális beállítások értéke pl. állapot kés bbi visszaállításához vagy NULL, ha a kérés nem teljesíthet Statikus puer!

5 Karakterláncok összehasonlítása int strcmp(const char* s1, const char* s2) Visszatérés: <0 ha s1 < s2 0 ha s1 == s2 >0 ha s1 > s2 int strcoll(const char* s1, const char* s2) Visszatérés: mint strcmp(), de gyelembe veszi a helyi beállításokat (LC_COLLATE) Csak a C helyen egyezik a lexikograkus sorrend a karakterkészlet sorrendjével!

6 Karakterláncok összehasonlítása size_t strxfrm(char* cél, const char* forrás, size_t n) Átalakítja forrás -t, majd eltárolja cél címen úgy, hogy azt strcmp()-vel használva az eredmény ua. legyen, mint az strcoll()-é el zetes átalakítás nélkül. Az átalakított karakterláncnak legfeljebb az els n karakterét tárolja a C helyen: strncpy(cél, forrás, n); Visszatérés: a cél tárolásához szükséges bájtok száma '\0' nélkül ha ez n, az eredmény meghatározatlan Szükséges tárterület meghatározása: strxfrm(null, forrás, 0)+1

7 Karakterláncok összehasonlítása strcmp(), strcoll(), strxfrm(), 1/2 #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <windows.h> #define S1 "á" #define S2 "z" void hasonlit(void); int main(void) { char *regi, *mentes; SetConsoleOutputCP(1250); printf("alapértelmezett hely: %s\n", regi=setlocale(lc_all, NULL)); if(!(mentes = (char*)malloc(strlen(regi)+1))) { fprintf(stderr, "Memóriafoglalási hiba.\n"); return 1; } strcpy(mentes, regi); hasonlit(); printf("új hely: %s\n", setlocale(lc_all, "Hungarian_Hungary.1250")); hasonlit(); setlocale(lc_all, mentes); free(mentes); return 0; }

8 Karakterláncok összehasonlítása strcmp(), strcoll(), strxfrm(), 2/2 void hasonlit(void) { char *xfrm1, *xfrm2; size_t meret; printf("strcoll: %d\n", strcoll(s1, S2)); printf("strcmp: %d\n", strcmp(s1, S2)); meret = strxfrm(null, S1, 0)+1; if(!(xfrm1 = malloc(meret))) { fprintf(stderr, "Memóriafoglalási hiba (xfrm1)\n"); exit(1); } strxfrm(xfrm1, S1, meret); meret = strxfrm(null, S2, 0)+1; if(!(xfrm2 = malloc(meret))) { fprintf(stderr, "Memóriafoglalási hiba (xfrm2)\n"); exit(1); } strxfrm(xfrm2, S2, meret); printf("strcmp+strxfrm: %d\n", strcmp(xfrm1, xfrm2)); free(xfrm1); free(xfrm2); }

9 Karakterláncok összehasonlítása Kimenet Alapértelmezett hely: C strcoll: 1 strcmp: 1 strcmp+strxfrm: 1 éj hely: Hungarian_Hungary.1250 strcoll: -1 strcmp: 1 strcmp+strxfrm: -1

10 Karakterosztályozó és -konvertáló függvények/makrók Ide tartoznak: is...(), to...() Figyelembe veszik az LC_CTYPE helyi kategória beállítását Figyelem! int típussal dolgoznak [0x80, 0xFF] közötti karakterkódok: el jel kiterjesztés Megoldás: unsigned char használata

11 Karakterkonvertáló makrók int tolower(int c), int toupper(int c) #include <stdio.h> #include <locale.h> #include <ctype.h> unsigned char* nagy(unsigned char *s) { unsigned char *m = s; while(*s) *s++=toupper(*s); return m; } unsigned char* kicsi(unsigned char *s) { unsigned char *m = s; while(*s) *s++=tolower(*s); return m; } int main(void) { unsigned char s[] = "Árvízt r Tükörfúrógép"; setlocale(lc_ctype, "Hungarian_Hungary.1250"); printf("%s\n", s); printf("%s\n", nagy(s)); printf("%s\n", kicsi(s)); return 0; }

12 Pénzügyi és numerikus beállítások struct lconv* localeconv(void) Visszatérés: aktuális pénzügyi és numerikus beállításokat tartalmazó, statikus lconv struktúra címe Struktúrát módosítja: localeconv(), setlocale() LC_ALL, LC_NUMERIC, LC_MONETARY kategóriák esetén Közvetlenül ne módosítsuk a struktúrát! Az LC_NUMERIC kategória hatást gyakorol: karakterláncokat bels ábrázolási formára alakító fv.-ek m ködésére (pl. atof(), atoi(), atol()) formázott ki- és bemenetet kezel fv.-ekre (scanf és printf család)

13 Az lconv struktúra Szabványos fv. könyvtár elemei csak a decimal_point tagot használják char* típusú tagok tulajdonságai: üres karakterlánc (""): az aktuális hely nem támogatja a funkciót C hely: minden ilyen tag értéke "", kivéve decimal_point, ami "." char típusú tagok tulajdonságai: nem negatív számok CHAR_MAX érték ek: nem támogatja az aktuális hely C hely: minden ilyen tag értéke CHAR_MAX

14 Az lconv struktúra Struktúratag char* decimal_point char* thousands_sep char* grouping Funkció Decimális pont karakter Ezres csoportok elválasztó karaktere (decimális ponttól balra) Számjegy csoportok mérete. Az LC_NUMERIC kategóriához (nem pénzügyi mennyiségek) kapcsolódó struktúratagok A grouping lehetséges elemei: CHAR_MAX befejezi a további csoportosítást ( és a karakterláncot is) '\0' el z elem ismétlése minden további számjegyre n csoportot alkotó számjegyek száma Pl. {3, 2, CHAR_MAX} ,54,321 "\3" {3, 0} ,654,321

15 Az lconv struktúra Struktúratag Funkció char* int_curr_symbol Nemzetközi pénznem szimbólum ISO4217 alapján, pl. "USD " char* currency_symbol Pénznem szimbólum, pl. "$" char* mon_decimal_point Decimális pont karakter char* mon_thousands_sep Számjegy csoportokat elválasztó karakter char* mon_grouping Számjegy csoportok mérete, ld. grouping char* positive_sign Pozitív el jel char* negative_sign Negatív el jel char int_frac_digits Számjegyek száma a decimális ponttól jobbra (nemzetközi formázás) char frac_digits Számjegyek száma a decimális ponttól jobbra Az LC_MONETARY kategóriához (pénzügyi mennyiségek) kapcsolódó struktúratagok

16 Az lconv struktúra Struktúratag Funkció char p_cs_precedes 1: pénznem szimbólum megel zi a nem negatív mennyiséget, 0: követi azt char p_sep_by_space 1: pénznem szimbólumot szóköz választja el a nem negatív mennyiségt l, 0: nincs elválasztás char n_cs_precedes 1: pénznem szimbólum megel zi a negatív mennyiséget, 0: követi azt char n_sep_by_space 1: pénznem szimbólumot szóköz választja el a negatív mennyiségt l, 0: nincs elválasztás char p_sign_posn El jel pozíciója nem negatív mennyiségeknél char n_sign_posn El jel pozíciója negatív mennyiségeknél Az LC_MONETARY kategóriához (pénzügyi mennyiségek) kapcsolódó struktúratagok

17 Az lconv struktúra A char p_sign_posn és char n_sign_posn tagok értelmezése 0 Mennyiség és pénznem szimbólum zárójelek között 1 Az el jel megel zi a mennyiséget és a pénznem szimbólumot 2 Az el jel követi a mennyiséget és a pénznem szimbólumot 3 Az el jel közvetlenül megel zi a pénznem szimbólumot 4 Az el jel közvetlenül követi a pénznem szimbólumot

18 Helyi információk hatása különféle mennyiségek formázására Az lconv struktúra kipróbálása, 1/2 #include <stdio.h> #include <stdlib.h> #include <locale.h> void helyinfo(double d) { struct lconv* plc; char puff[32]; printf("aktuális hely: %s\n", setlocale(lc_all, NULL)); plc = localeconv(); printf("decimális pont karakter: %s\n", plc->decimal_point); printf("pénznem szimbólum: %s\n", plc->currency_symbol); printf("nemzetközi pénznem szimbólum: %s\n", plc->int_curr_symbol); printf("lebeg pontos érték: %.2f\n", d); sprintf(puff, "%f", d); printf("u.a. karakterlánc formájában: %s\n", puff); printf("visszaalakítva: %.2f\n", atof(puff)); }

19 Helyi információk hatása különféle mennyiségek formázására Az lconv struktúra kipróbálása, 2/2 int main(void) { double ertek = 3.14; helyinfo(ertek); setlocale(lc_all, ""); helyinfo(ertek); return 0; }

20 Az id kezelése time() time_t difftime() double ctime() char* mktime() gmtime() localtime() struct tm* asctime() strftime()

21 Az id kezelése Kétféle id között kell különbséget tenni: helyi id egyezményes id (Universal Time Coordinated, UTC; korábban: Greenwich Mean Time, GMT) Típusok, struktúradeníciók, függvény prototípusok time.h A függvények statikus puereken osztoznak: id karakterlánc (char*) id struktúra (struct tm)

22 Az id kezelése time_t time(time_t* idomut) Az :00:00 óta eltelt mp.-ek számát adja UTC szerint Ha az id nem határozható meg, a visszatérési érték: (time_t)-1 Az id t az idomut címen is elhelyezi, ha az nem NULL A time_t típus: typedef aritmetikai_tipus time_t; Az aritmetikai_tipus jellemz en long.

23 Az id kezelése double difftime(time_t ido1, time_t ido0) Visszatérés: ido1 és ido0 naptári id k különbsége, mp.-ekben A difftime() lehetséges megvalósítása #define difftime(t1,t0) (double)(t1 - t0) char* ctime(const time_t* ido) Visszatérés: a helyi id t tartalmazó, rögzített formátumú karakterlánc címe, vagy NULL, ha ido negatív. ctime(ido); asctime(localtime(ido)); Az id karakterlánc: pontosan 26 karakteres, minden mez konstans szélesség, 24 órás formátumú. Pl. "Wed Jun 30 21:49: \n"

24 Az id kezelése struct tm* gmtime(const time_t* ido) struct tm* localtime(const time_t* ido) tm struktúrába konvertálják az ido -t, majd ennek címével térnek vissza A visszatérési érték NULL, ha ido negatív A localtime() az id a helyi id zónára alakítja, a gmtime() ilyet nem tesz

25 Az id kezelése Struktúratag Funkció tm_sec Másodperc (0-59) tm_min Perc (0-59) tm_hour Óra (0-23) tm_mday Hónap napja (1-31) tm_mon Hónap (0-11, január=0) tm_year Év-1900 tm_wday A hét napja (06, vasárnap=0) tm_yday Napszám az éven belül (0365, január 1.=0) tm_isdst Pozitív: nyári id számítás, 0: téli id számítás, negatív: ismeretlen állapot A tm struktúra tagjai; mindegyik int típusú, sorrendjüket a szabvány nem rögzíti

26 Az id kezelése time_t mktime(struct tm* idomut) Normalizálja, teljesen kitöltötté teszi a idomut struktúrát, majd time_t-vé alakítva visszadja. Normalizálás: pl. október 40. november 9. Kitöltés: kiszámítja tm_wday és tm_yday tagok értékét a többi tag értéke alapján, meghatározza tm_isdst értékét. A tm_isdst tagot mindenképpen be kell állítani! 1 kéri a téli/nyári id számítás automatikus meghatározását. A visszatérési érték meghatározásához nem használja a tm_wday és tm_yday tagokat. Visszatérés (time_t)-1, ha az átalakítás lehetetlen (pl :00:00 el tti id pont)

27 Az id kezelése char* asctime(const struct tm* idomut) Átalakítja az idomut címezte struktúrát helyi id szerinti id karakterlánccá. Formátum: mint ctime()-nál. Nincs hibás visszatérés. size_t strftime(char* puffer, size_t maxmeret, const char* format, const struct tm* idomut) Megformázza az idomut címen lév id t format -nak megfelel en, majd az eredményt elhelyezi a maxmeret méret puffer -ben. Visszatérés: tárolt karakterek száma, vagy 0, ha nem fér el az eredmény és puffer tartalma meghatározatlan. Hasonlít printf()-re: % jelet követ formátumkódok helyére adatot helyettesít, minden mást változatlanul átmásol. M ködését befolyásolja az LC_ALL vagy LC_TIME kategóriás setlocale() hívás.

28 Az id kezelése Formátumkód Funkció Y 4 karakteres decimális évszám m Decimális hónapszám (01-12) B Teljes hónapnév (pl. december) d Nap a hónapon belül (01-31) A Hét napja (pl. vasárnap) H Óra (00-23) M Perc (00-59) S Másodperc (0059) % % jel c A helynek megfelel teljes id bélyeg x A helynek megfelel dátum X A helynek megfelel id Néhány alkalmazható formátumkód

29 Id kezelés mintapélda Dátumformátumok, naptár megjelenítés, 1/3 #include <stdio.h> #include <locale.h> #include <time.h> void naptar(int ev, int ho) { struct tm ido; int napok[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, nap; if(ev%4==0 && ev%100!=0 ev%400==0) napok[2]++; ido.tm_year = ev-1900; ido.tm_mon = ho-1; ido.tm_mday = 1; ido.tm_hour = ido.tm_min = ido.tm_sec = 0; ido.tm_isdst = -1; mktime(&ido); if(!ido.tm_wday) ido.tm_wday=7; printf("hét Ked Sze Csü Pén Szo Vas\n"); for(nap=1; nap<ido.tm_wday; nap++) printf(" ");

30 Id kezelés mintapélda Dátumformátumok, naptár megjelenítés, 2/3 for(nap=1; nap<=napok[ho]; nap++) { printf("%3d ", nap); if(ido.tm_wday==7) { putchar('\n'); ido.tm_wday=1; } else ido.tm_wday++; } if(ido.tm_wday!=1) putchar('\n'); } #define MAX 64 int main(void) { time_t ido = time(null); struct tm *ptm; char puff[max]; setlocale(lc_all, ""); printf("ctime(): %s", ctime(&ido)); ptm = localtime(&ido); printf("localtime(): %4d.%02d.%02d %02d:%02d:%02d\n", ptm->tm_year+1900, ptm->tm_mon+1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);

31 Id kezelés mintapélda Dátumformátumok, naptár megjelenítés, 3/3 strftime(puff, MAX, "strftime(): %x (%A) %X\n", ptm); printf(puff); naptar(2014, 4); return 0; } Kimenet ctime(): Sat Apr 19 19:41: localtime(): :41:25 strftime(): (szombat) 19:41:25 Hét Ked Sze Csü Pén Szo Vas

32 Az id kezelése clock_t clock(void) Visszaadja a folyamat által hozzávet legesen elhasznált processzorid t, id zít egységekben. 1 id zít egység = 1/CLOCKS_PER_SEC másodperc Ha az érték nem határozható meg, vagy nem ábrázolható, a visszatérési érték (clock_t)-1. A clock_t aritmetikai típus, többnyire long. Program adott id re történ felfüggesztése #include <time.h> void sleep(clock_t sec) { clock_t ig = sec*clocks_per_sec + clock(); while(ig > clock()); } Figyelem! foglalva várakozás (busy waiting) a processzor idejét más folyamat ( program) is használhatja

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

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti

Részletesebben

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.

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. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v

Részletesebben

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

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a

Részletesebben

Típusok és konstansok

Típusok és konstansok Programozás I. Széchenyi István Egyetem, Gy r 2013. október 3. Szimbólumok Forráskód részei: szimbólumok (szintaktikai egységek, tokenek) fehér karakterek (összevonás, gyelmen kívül hagyás) Szimbólumok:

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

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

Programozás 6. Dr. Iványi Péter Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak

Részletesebben

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

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

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

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

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

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket

Részletesebben

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

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Programozás I. C nyelv

Programozás I. C nyelv Programozás I. C nyelv 12. előadás Bináris fa, bináris kereső fa, kupac, időkezelő függvények Veszprémi Egyetem Heckl István, heckl@dcs.vein.hu 1 Fogalmak Fa: összefüggő, körmentes gráf, azaz bármely két

Részletesebben

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

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3 Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás

Részletesebben

Karakter- és sztringkezelő függvények, matematikai függvények

Karakter- és sztringkezelő függvények, matematikai függvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.dudás László 30/0. Karakter- és sztringkezelő függvények, matematikai függvények Karakterkezelő könyvtári függvények Mintaprogram a karakterosztályozásra

Részletesebben

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás I gyakorlat. 10. Stringek, mutatók Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",

Részletesebben

7/8. gyakorlat Karaktertömbök és sztringkezelés

7/8. gyakorlat Karaktertömbök és sztringkezelés 7/8. gyakorlat Karaktertömbök és sztringkezelés 1. feladat: Karaktertömb kezelése Egy beolvasott karaktert lineáris kereső eljárással keressen meg az angol ábécében (az ábécé betűit tárolja inicializált

Részletesebben

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

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 Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

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

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

C++ függelék. Tartalom

C++ függelék. Tartalom Jelen dokumentumra a Creative Commons Nevezd meg! Ne add el! Ne változtasd meg! 3.0 Unported licenc feltételei érvényesek: a művet a felhasználó másolhatja, többszörözheti, továbbadhatja, amennyiben feltünteti

Részletesebben

5. gyakorlat. Konstansok Tömbök Stringek

5. gyakorlat. Konstansok Tömbök Stringek 5. gyakorlat Konstansok Tömbök Stringek Konstansok A C nyelvben a konstansok preprocesszor makrókkal vannak megvalósítva. Konstansdefiniálás alakja: #define NÉV érték Az érték bármi lehet, később a fordítás

Részletesebben

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

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 15. Leghosszabb 3D vektorok kikeresése 1 #i n c l u d e 2 #i n c l u d e 3 #d e f i n e MAX 1000

Részletesebben

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.

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. Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a

Részletesebben

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

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 2. gyakorlat Változók, típusok, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer - És Számítástudományi Tanszék Utolsó frissítés: September 21, 2009 1 tar@dcs.vein.hu

Részletesebben

10. gyakorlat Tömb, mint függvény argumentum

10. gyakorlat Tömb, mint függvény argumentum 10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

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

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

Részletesebben

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

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

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

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

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

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE 2015-16 1 Karakterláncok A karakterláncokat char-tömbökben tároljuk. Egy karakterlánc végét a karakterlánc-végjel jelzi: \0 char s[10] = sapi ;... s

Részletesebben

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

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

10. gyakorlat. Pointerek Tárolási osztályok

10. gyakorlat. Pointerek Tárolási osztályok 10. gyakorlat Pointerek Tárolási osztályok Pointer A pointer egy mutató egy memóriacellára, egyfajta "parancsikon", csak nem fájlokra, hanem változókra. Létrehozás: tipus * név;, ahol a típus a hivatkozott

Részletesebben

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája: Struktúrák (struct) A struktúra egy olyan összetett adatszerkezet, amely nemcsak azonos típusú elemeket rendelhet össze. A struktúra definíciójában leírjuk, hogy a struktúra hogyan épül fel. A struktúra

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. május 6. Parancssori paraméterek Parancssorban történ programindításkor a program nevét követ en szóközökkel elválasztva paraméterek (command

Részletesebben

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)

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 Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

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

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

Részletesebben

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai 2.Gy: A C nyelv alapjai P R O Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:

Részletesebben

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

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor. Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek

Részletesebben

Objektumok tulajdonságai

Objektumok tulajdonságai Programozás I. Széchenyi István Egyetem, Gy r 2013. november 4. Objektumok attribútumai objektum Konstans vagy változó érték(ek)et tartalmazó, azonosítható memóriaterület. deklaráció Kapcsolatot teremt

Részletesebben

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

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.

Részletesebben

C string műveletek (string.h alkalmazása)

C string műveletek (string.h alkalmazása) C string műveletek (string.h alkalmazása) A 3. előadás ZH során a string.h-ban található függvények alkalmazásával kell különböző, string kezeléssel kapcsolatos feladatokat megoldani. Ehhez szükséges ezen

Részletesebben

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések

Részletesebben

Programozás I gyakorlat

Programozás I gyakorlat Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 1. Strukturak, mutatok Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség

Részletesebben

Mutatók. Programozás II. Hatwágner F. Miklós március 4. Széchenyi István Egyetem, Gy r

Mutatók. Programozás II. Hatwágner F. Miklós március 4. Széchenyi István Egyetem, Gy r Mutatók Programozás II. Széchenyi István Egyetem, Gy r 2014. március 4. Dinamikus memóriakezelés A C fordító a memóriát három részre osztja: 1 els dleges adatterület konstansok, statikus objektumok 2 verem

Részletesebben

Példatár a Programozás 1 tárgyhoz

Példatár a Programozás 1 tárgyhoz Kósa Márk Pánovics János Példatár a Programozás 1 tárgyhoz Juhász István feladatsoraiból mobidiák könyvtár Kósa Márk Pánovics János Példatár a Programozás 1 tárgyhoz Juhász István feladatsoraiból mobidiák

Részletesebben

Példák tematikus csoportosításban

Példák tematikus csoportosításban 1. fejezet Példák tematikus csoportosításban 1.1. A legegyszerűbb feladatok 1.1. feladat. Írjon programot, amely billentyűzetről látható karaktereket olvas mindaddig, amíg a @ karaktert meg nem kapja.

Részletesebben

/* 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 ) ;

/* 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 ) ; 1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =

Részletesebben

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

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

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

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon 1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (

Részletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

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

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

Részletesebben

Számítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja:

Számítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja: TCP kliens A gyakorlat célja: TCP kliens alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása Elméleti bevezető: TCP tulajdonságai: A TCP az UDP-vel ellentétben egy összeköttés

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

Programozás II. Horváth Ernő

Programozás II. Horváth Ernő Programozás II. Horváth Ernő ANSI C adattípusok Cím szerinti paraméter átadás Mutatók Mutatók és tömbök Mutatótömbök Dinamikus memóriakezelés Malloc, Calloc, Free, Realloc Random Typedef, Struktúrák State

Részletesebben

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() {

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() { C változók Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! float valos; char karakter; int egesz1, egesz2; /* Tobb valtozo ugyan olyan tipusu lehet, ezek deklaraciojat csoportosthatjuk.

Részletesebben

El feldolgozó. Programozás I. Hatwágner F. Miklós október 16. Széchenyi István Egyetem, Gy r

El feldolgozó. Programozás I. Hatwágner F. Miklós október 16. Széchenyi István Egyetem, Gy r Programozás I. Széchenyi István Egyetem, Gy r 2013. október 16. feladatai Emlékeztet : forrásfájl (el feldolgozó fordító) kapcsoló-szerkeszt futtatható állomány tevékenységei: kifejti a makrókat (dene)

Részletesebben

M veletek és kifejezések

M veletek és kifejezések Programozás I. Széchenyi István Egyetem, Gy r 2013. szeptember 29. M veletek & kifejezések M veletek az operandusok száma szerint: Egyoperandusos, operátor operandus, pl. 6, sizeof(long) Kétoperandusos,

Részletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 2. gyakorlat Kifejezések, vezérlési szerkezetek, struktúrák Kifejezések Mit ír ki az alábbi program? #include int main() { int a = 20, b = 40; printf("%d\n", a > b);

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Programtervezési stratégiák. Top-down tervezés. Top-down tervezés. Bottom-up tervezés. 4.

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Programtervezési stratégiák. Top-down tervezés. Top-down tervezés. Bottom-up tervezés. 4. 212. február 28. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? Programtervezési stratégiák Top-down Bottom-up Függvények Szintaxis

Részletesebben

Programozás alapjai 8.Gy: Program struktúra

Programozás alapjai 8.Gy: Program struktúra Programozás alapjai 8.Gy: Program struktúra Elvarázsolt matekóra P R O A L A G 32/1 B ITv: MAN 2018.11.02 Programozás történelem Kezdetben egy program egyetlen kódsorozat volt (ún. monolitikus program)

Részletesebben

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

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C programozási nyelvbe Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Oktatási segédletek a levelező műszaki informatikus hallgatók

Részletesebben

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

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

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

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

Részletesebben

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

Programozás 3. Dr. Iványi Péter Programozás 3. Dr. Iványi Péter 1 Egy operandus művelet operandus operandus művelet Operátorok Két operandus operandus1 művelet operandus2 2 Aritmetikai műveletek + : összeadás -: kivonás * : szorzás /

Részletesebben

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; }

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; } 1. /* Készítsen egy olyan szabványos ANSI C függvényt, amely egy egész számról eldönti, hogy tökéletes szám-e! Az a tökéletes szám, amely egyenlő a nála kisebb osztói összegével. Pl. 6 = 1+2+3 28 = 1+2+4+7+14*/

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

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

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE 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

Részletesebben

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

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra

Részletesebben

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás alapjai gyakorlat. 2. gyakorlat C alapok Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel

Részletesebben

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

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

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás Mérnöki programozás 7 Szerkesztette: dr. Vass Péter Tamás Függvények Függvény (function) egyedi azonosítónévvel ellátott számítási egység. A függvények formájában kidolgozott programkódok viszonylag egyszerűbb

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális

Részletesebben

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

Megoldott programozási feladatok standard C-ben

Megoldott programozási feladatok standard C-ben Megoldott programozási feladatok standard C-ben MÁRTON Gyöngyvér Sapientia Erdélyi Magyar Tudományegyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro Tartalomjegyzék

Részletesebben

Az időhöz kötődő parancsok

Az időhöz kötődő parancsok Az időhöz kötődő parancsok Az idő nyilvántartása...1 A date parancs...2 A time parancs...4 A sleep parancs...5 Időzített programfuttatás...6 Az at parancs...6 A UNIX démonok...6 A cron démon...7 Az idő

Részletesebben

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

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

HTML ÉS PHP ŐSZI FÉLÉV

HTML ÉS PHP ŐSZI FÉLÉV 1 HTML ÉS PHP ŐSZI FÉLÉV Szövegek kezelése PHP-val 2 Szövegek tárolása Az UTF-8 kicsit részletesebben 3 Az UTF-8 minden karaktert 1-6 bájton tárol Ez összesen 1 111 998 különböző karakter tárolását teszi

Részletesebben

A C nyelv aritmetikai típusai. Struktúrák.

A C nyelv aritmetikai típusai. Struktúrák. Aritmetikai típusok Struktúrák Typedef A C nyelv aritmetikai típusai. Struktúrák. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka

Részletesebben

A C nyelv aritmetikai típusai. Struktúrák.

A C nyelv aritmetikai típusai. Struktúrák. Aritmetikai típusok Struktúrák Typedef A C nyelv aritmetikai típusai. Struktúrák. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka

Részletesebben

Programozás C++ -ban 2007/1

Programozás C++ -ban 2007/1 Programozás C++ -ban 2007/1 1. Különbségek a C nyelvhez képest Több alapvető különbség van a C és a C++ programozási nyelvek szintaxisában. A programozó szempontjából ezek a különbségek könnyítik a programozó

Részletesebben

Nagy HF u tmutato 2011/2012 II. fe le v

Nagy HF u tmutato 2011/2012 II. fe le v A programozás alapjai 1. BMEVIHIA106 Nagy HF u tmutato 2011/2012 II. fe le v Analízis (Nyelv független) 1. A Házi feladat téma szöveges leírása. 2. A feladat résztvevőinek azonosítása 3. A résztvevők tulajdonságai

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

2.3. A C nyelv utasításai

2.3. A C nyelv utasításai 2.3. A C nyelv utasításai A C szabvány hét csoportban osztályozza a C nyelv utasításait: Csoport Kulcsszavak, ill. jelölések Kifejezés utasítás Üres utasítás: ; Összetett utasítás: } Szelekciós utasítások:

Részletesebben

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

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,

Részletesebben

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

Programozás C nyelven (10. ELŐADÁS) Sapientia EMTE Programozás C nyelven (10. ELŐADÁS) Sapientia EMTE 2015-16 1 const ódosító jelző int x = 1914; // I. világháború ++x; // HELYES, mert x változó Vedd észre, hogy bár: x *p ++x helyes és ++(*p) helytelen

Részletesebben

C programnyelv 1. Kedves Kollegina, Kolléga!

C programnyelv 1. Kedves Kollegina, Kolléga! C programnyelv 1 Kedves Kollegina, Kolléga! A jegyzetet Önnek készítettem azért, hogy referencia anyaga legyen a Programnyelv és a Programfejlesztés tárgyakhoz. Szeretném a segítségét igénybe venni abból

Részletesebben