Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,

Slides:



Advertisements
Hasonló előadás
C++ programozási nyelv Gyakorlat hét
Advertisements

Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
8. előadás (2005. április 19.) Pozicionálás fájlban (folyt.) I/O mechanizmus váltás Hibakezelő függvények Változók tárolási osztályai Parancssor-argumentumok.
JavaScript.
Dinamikus tömbök.
Bevezetés a Java programozásba
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Függvények, mutatók Csernoch Mária.
Mutatók, tömbök, függvények
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák tömbökre
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Borland C/C++ mintapéldák struktúrákra. 1. példa /* Egyszerû példa a struktúrák használatára */ #include #define SIZE 5 struct szemely { char nev[26];
Borland C/C++ mintapéldák mutatókra
Programozás I. Horváth Ernő.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C# tagfüggvények.
C# tagfüggvények.
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Ciklusok
Programozás I Függvények általános jellemzői
Tömbök Csernoch Mária.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Alprogramok paraméterei. Procedure ( ); Function ( ): ; [var] p1,...,pn:típus1; q1,...,q2:típus2; cím szerinti parméterátadaás (értékváltozás hatással.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Java programozási nyelv Metódusok
Objektum orientált programozás 3. Függvények Nagy Szilvia.
Objektum orientált programozás
A Visual Basic nyelvi elemei
C Programozási alapok.
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
1. feladat  Készíts olyan függvényt, mely paraméterül kapja két egész típusú változó címét, s hívása után a két változó értéke helyet cserél.
Ficsor Lajos A C++ programozási nyelv I. CPP1/ 1 Osztály és objektum fogalma.
© Tóth Ákos, Óbudai Egyetem, 2010
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
a programegységek között
Programozási nyelvek típusossága.
A C++ programozási nyelv
Beépített függvények használata programozáskor
Az átlátható programok kellékei
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Az átlátható programok kellékei
Informatikai gyakorlatok 11. évfolyam
Konverziós operátorok
Az objektum-orientáltság
Előadás másolata:

Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú, de más-más értéket felvevő változóval. Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú, de más-más értéket felvevő változóval. Ha a programunkat struktúráltan, jól olvashatóan szeretnénk megírni. Ez nagyon fontos a későbbi módosíthatóság miatt. Ha a programunkat struktúráltan, jól olvashatóan szeretnénk megírni. Ez nagyon fontos a későbbi módosíthatóság miatt. A deklaráció szintaxisa: visszatérési_érték_típusa fvnév (típus1 vált1, típus2 vált2,…) { a függvény teste return v1; } Függvények A függvény visszatérési értékét tartalmazó változó

Függvények a C nyelvben 2 #include #include int osszeg(int a,int b) { int s; int s; s=a+b; s=a+b; return s; return s;}main(){ int x=5,y=8,z,c; int x=5,y=8,z,c; z=osszeg(10,16); z=osszeg(10,16); printf("x=%d y=%d\n",x,y); c=osszeg(x,y); c=osszeg(x,y); printf("z=%d\nc=%d\n",z,c); printf("z=%d\nc=%d\n",z,c); getch(); getch();} Példa egy összegző függvényre (a paraméterátadás érték szerint történik) Formális paraméterek Aktuális paraméterek

Függvények a C nyelvben 3 #include-ok … void csere(int *m, int *n) /* ha a fv-nek nincs visszatérési értéke, akkor típusa void */ { int p; int p; p=*m; p=*m; *m=*n; *m=*n; *n=p; *n=p;}main(){ int x=5,y=8,z,c,t; int x=5,y=8,z,c,t; printf("x=%d y=%d\n",x,y); printf("x=%d y=%d\n",x,y); csere(&x,&y); /* ennél a függvényhívásnál cím szerinti paraméterátadás történik */ csere(&x,&y); /* ennél a függvényhívásnál cím szerinti paraméterátadás történik */ printf("x=%d y=%d\n",x,y); getch(); getch();} Példa a csere függvényre (a paraméterátadás cím szerint történik) Az m egész típusú változóra mutató pointer Az x és y változók memóriabeli címeit cseréljük fel.

Függvények a C nyelvben 4 A lokális változókat csak azok a blokkok látják, ahol deklarálva lettek. Ez alól a main( ) sem kivétel. Ezek a változók a veremben tárolódnak, tehát minden függvényhíváskor törlődik az értékük. A globális változókat minden függvény látja, értéküket módosíthatja. Ezeket a változókat minden függvény törzsén kívül kell deklarálni, célszerűen rögtön a #define vagy #include… után, még az első függvény előtt, beleértve a main( )-t is. A globális változókat minden függvény látja, értéküket módosíthatja. Ezeket a változókat minden függvény törzsén kívül kell deklarálni, célszerűen rögtön a #define vagy #include… után, még az első függvény előtt, beleértve a main( )-t is. Lokális és globális változók

Függvények a C nyelvben 5 #include #include int z=11; void valami( ) { int a=13; int a=13; printf("z=%d\na=%d\n",z,a); printf("z=%d\na=%d\n",z,a); /*printf("k*z=%d\n",k*z);*/ /*printf("k*z=%d\n",k*z);*/} main( ) { int k=100; int k=100; valami( ); valami( ); printf("z*k=%d",z*k); printf("z*k=%d",z*k); getch( ); getch( );} Példa lokális és globális változókra Globális változó deklarálása Lokális változó deklarálása Ez a sor hibás, mert nem ismeri k változót

Függvények a C nyelvben 6 A statikus változókat csak egyszer hozza létre a fordító és értéket is csak egyszer kapnak, a legelső függvényhíváskor, értékét a program futása során végig megtartja. A statikus változókat csak egyszer hozza létre a fordító és értéket is csak egyszer kapnak, a legelső függvényhíváskor, értékét a program futása során végig megtartja. Pl.: static int c=5; Az automatikus változók minden függvényhíváskor újra deklarálódnak, és mindig felveszik a megadott kezdőértéket. (Lényegében a hagyományosan létrehozott változók automatikusak.) Az automatikus változók minden függvényhíváskor újra deklarálódnak, és mindig felveszik a megadott kezdőértéket. (Lényegében a hagyományosan létrehozott változók automatikusak.) Pl.:auto int d=3; vagy int d=3; Automatikus és statikus változók

Függvények a C nyelvben 7 #include #include void demo( ) void demo( ) { static int a=0; static int a=0; auto int b=0; auto int b=0; printf("a=%d b=%d\n",a,b); printf("a=%d b=%d\n",a,b); a++; b++; a++; b++; } main( ) main( ) { int i; int i; for(i=0;i<3;i++) for(i=0;i<3;i++) demo( ); demo( ); getch( ); getch( ); } Példa automatikus és statikus változókra Statikus változó deklarálása Automatikus változó deklarálása A programfutás eredménye: a=0 b=0 a=1 b=1 a=2 b=2