Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

LA C programozási nyelv Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./0. Egy egyszerű C program A C nyelv jellegzetességei lDeklarációk.

Hasonló előadás


Az előadások a következő témára: "LA C programozási nyelv Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./0. Egy egyszerű C program A C nyelv jellegzetességei lDeklarációk."— Előadás másolata:

1 lA C programozási nyelv Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./0. Egy egyszerű C program A C nyelv jellegzetességei lDeklarációk lBlokk lFüggvénydefiníció A C nyelv kialakulása A C program összetevőinek felépítése A C program felépítése lTípusok, változók, konstansok lVáltozók definiálásának egyszerű esetei lSaját típus definiálása lKonstansok megadása lAdatbeolvasás formátumellenőrzéssel lEgyetlen karakter beolvasása megjelenítés nélkül Egyetlen karakter beolvasása megjelenítés nélkül lBe- és kiviteli függvények egyszerű alakja lCím, érték, mutató fogalma

2 lA C nyelv kialakulása Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./1. lNevezetes mérföldkövek BCPL nyelv, Martin Richards, 1963 B nyelv, Ken Thompson, 1970  UNIX megírására C nyelv, Dennis M. Ritchie, 1971  hatékonyabb verzió "The C programming language" referenciamű, B.W.Kernighan és D.M.Ritchie ANSI C szabvány, 1989, Amerikai Szabványügyi Hivatal

3 lEgy egyszerű C program Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./2. #include /* clrscr miatt */ #include /* printf, scanf miatt */ #define PI main() { float r, kerulet, terulet; clrscr(); printf( "Körjellemzök számítása\n\n" ); printf( "A kör sugara (méter) = " ); scanf( "%f", &r ); kerulet = 2*r*PI; terulet = r*r*PI; printf( "\nA kerület= %6.3f méter\n", kerulet ); printf( "A terület= %6.3f négyzetméter\n", terulet ); }

4 lA C nyelv jellegzetességei Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./3. lÁltalános célú, magasszintű nyelv lTömör, gyors programok írására alkalmas lGépfüggetlensége, hordozhatósága jó lKülönféle hardverplatformokon létezik lRendszerprogramozásra alkalmas lAz eljárásokat típus nélküli (void) függvényekkel valósítja meg lAlprogram nem definiálható alprogramon belül, csak deklarálható lErősen épít a mutatók használatára, speciális pointeraritmetikát alkalmaz

5 lA C nyelv jellegzetességei.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./4. lLehetőséget nyújt makro-k (automatikus szöveghelyettesítés) használatára lSztring típus helyett karaktervektorokat alkalmaz lGazdag függvénykönyvtár készlettel rendelkezik lPC-ken többféle memóriamodell szerinti fordítás közül választható a leggazdaságosabb lLehetővé teszi egyes változóknak a processzor regisztereihez rendelését lA fordításkori optimalizálás gazdag lehetőségét nyújtja lA kisbetűket és nagybetűket megkülönbözteti.

6 lA C program összetevőinek felépítése Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./5. Deklarációk (bármely sor elmaradhat, vagy többször ismétlődhet) #include #define typedef ; /* új típus definiálása */ ; /* változódefiniálás */ ; /* fv deklaráció */ lBlokk { /* lokálisak, blokkon belül érvényesek */ /* bármely utasítás lehet blokk */ }

7 lA C program összetevőinek felépítése.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./6. lFüggvénydefiníció A C program felépítése Megjegyzés: más felépítés is lehet /*globálisak, programon belül érvényesek */ main() /* a fő függvény */ /* a fő függvény blokkja */ /* a deklarált fv-ek teljes megadása*/

8 lTípusok, változók, konstansok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./7. Típusnév Értéktartomány Formátumsztring (scanf és printf) char '\0',..,'!',..,'0','1',..,'A',..,'a',..,'\xFF' "%c" signed char "%d" unsigned char "%u" int "%d" unsigned int "%u" short int "%d" unsigned short int "%u" long int "%ld" unsigned long int "%lu" enum felsorolásnak megfelelő float  (3.4E E38) "%f" v. "%e" double  (1.7E E308) "%lf" v. "%le" long double  (3.4E E4932) "%Lf" v. "%Le" mutató tömb struct union egész egész jellegű lebegőpontos egyszerű összetett

9 lVáltozók definiálásának egyszerű esetei Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./8.,,...; =, =,...; Pl.: int i, j, k ; float valos = 4.27, beta = 90, delta = 1E-03; lSaját típus definiálása typedef ; Pl.: typedef unsigned long int rekordszamtip ;

10 lKonstansok megadása Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./9. lKarakteres konstansértékek láltalános karakterek: pl.: 'c' lspeciális karakterek: pl.: '\0' sztringvégjel '\a' sípolás '\n' új sorba lépés '\'' aposztróf ( ' ) '\\' \ jel '\r' sorelejére lépés '\xhh' hh hexadecimális kódú karakter.

11 lKonstansértékű azonosítók Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./10. lVáltozóból a const típusminősítő eléírásával const = ; Pl.: const float eps = 0.003; lA #define előfordító direktívával #define Pl.: #define PI #define TRUE 1 #define FALSE 0 #define SZOVEG "Folytatás ? "

12 lBe- és kiviteli függvények egyszerű alakja Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./11. lAdatbeolvasás formátumellenőrzéssel scanf(, &vált1, &vált2,...); A függvény a beolvasott adatot a formátumsztringben megadott típusú adatként értelmezi és konvertálja a változó típusára, majd elhelyezi a változó címére. A függvény visszatérési értéke a sike- resen beolvasott értékek száma (int), amelyet nem kötelező fel- használni. Az értékek elhelyezéséhez a változók címét kell meg- adni a & operátorral. Pl.: scanf( "%d", &egeszvaltozo ); scanf( "%f", &valosvaltozo ); scanf( "%u", &elojelnelkuli_egesz );

13 lBe- és kiviteli függvények egyszerű alakja.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./12. lEgyetlen karakter beolvasása megjelenítés nélkül karakterváltozó = getch(); Pl.: char bill ; bill = getch(); Adatkiírás formázott módon printf(, kifejezés1, kifejezés2,...); A kiíratás formátumsztringje tájékoztató szövegből és % jellel kezdődő konverziós előírásból állhat.

14 lA konverziós előírás felépítése Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./13. Jelző: balraigazítás + + előjel kiíródik + előjel helyett szóköz Méretmódosító betű: hshort int, ha a konverziós betű: d, u llong int, ha a konverziós betű: d, u ldouble, ha a konverziós betű: f, e, E Llong double, ha a konverziós betű: f, e, E L long int,ha a konverziós betű: d, u jelző minimális mezőszélesség pontosság méretmódosító % konverziós betű

15 lA konverziós előírás felépítése.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./14. Konverziós betű: ca számnak megfelelő ASCII kódú karakter delőjeles egész uelőjel nélküli egész ffloat, vagy double számot lebegőpontosként, e, Efloat, vagy double számot exponenciális alakban ír ki pmutató értékét adja szegmens:offset alakban ssztring karaktereit írja ki. jelző minimális mezőszélesség pontosság méretmódosító % konverziós betű

16 lPéldák a konverziós előírás használatára Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./15. Pl.: printf( "betü: %c ", 65 );  betü: A printf( "egész= %7d\n", -125 );  egész= -125 printf( "Eredmény= %8.2f", );  Eredmény= printf( "exp.alak= %+8.2e", );  exp.alak= +6.29e+01 printf( "Totál= %12lu", );  Totál=

17 lCím, érték, mutató fogalma Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./16. A memória egymást követő tárolóhelyek sorozata. Egy tárolóhelynek van sorszáma, amit címnek nevezünk és van tartalma, amit az adott címen tárolt értéknek nevezünk. Mivel a címek számértékek és nehe- zen megjegyezhetők, ezért helyettesítjük azokat nevekkel, ezek a változók. Egy változó címe alatt az általa helyettesített címértéket értjük, értéke alatt pedig az adott címen tárolt értéket. Amennyiben a cím tárolására akarunk változót, azaz egy másik címen található tárolóhelyet létrehozni, ezzel tulajdonképpen egy mutatót (pointert) hozunk létre, melynek számunkra az értéke fontos. A po- interváltozóban tárolt érték az a cím, amelyen az eredeti változónk található a memóriában.

18 lCím, érték, mutató fogalma.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./17. A mut1 pointerváltozónak értékül adhatjuk a valt1 változó címét a & operátor segítségével: mut1 = &valt1 ; ami után vált1 tartalmát, értékét olvashatjuk, írhatjuk közvetett módon a * (indirekció) operátorral, mivel: valt1 == *mut1. mut valt Azaz valt1 definiálása nélkül is tudjuk mut1 segítségével írni, olvasni a 8944-es című tárolóhely tartalmát, sőt egyszerűen mut1 tartalmának megváltoztatásával hozzáférhetünk pl. a 8945, vagy a 8946 tárolóhe- lyek tartalmához is.


Letölteni ppt "LA C programozási nyelv Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 14./0. Egy egyszerű C program A C nyelv jellegzetességei lDeklarációk."

Hasonló előadás


Google Hirdetések