280 likes | 551 Views
Programozás I. Horváth Ernő. Elérhetőségek. Hatwágner Ferenc Miklós http://www.sze.hu/~hatwagnf / hatwagnf @ sze.hu Horváth Ernő http://rs1.sze.hu/~ herno / Tanszéki honlap http://it.sze.hu. Követelmények. Vizsga
E N D
Programozás I. Horváth Ernő
Elérhetőségek Hatwágner Ferenc Miklós http://www.sze.hu/~hatwagnf/ hatwagnf@sze.hu Horváth Ernő http://rs1.sze.hu/~herno/ Tanszéki honlap http://it.sze.hu
Követelmények • Vizsga • Vizsgaidőszakban Alapfeladat 2es, minden plusz feladat után egy jeggyel jobb az érdemjegy, de az alapfeladatnak működnie kell szintaktikai hiba nélkül • ZH nincs • Katalógus nincs
Miért éppen C? • Előnyök • népszerű és elterjedt - “hordozható” • kevés szemantikai kényszer - elegáns szintaxis • sok ráépülő további nyelv • (C++, Objective-C, Java, C#, stb.) • Hátrányok • kevés szemantikai kényszer - elegáns szintaxis • lapos tanulási görbe
Programozási nyelvek népszerűsége (2012) Forrás: http://www.tiobe.com
C történelem • 1970 B - Bell Labs, Ken Thompson • 1972 C - Bell Labs, Dennis Ritchie • 1973 UNIX kernel C-ben átírva • 1978 BrianKernighan & Ritchie: The C ProgrammingLanguage • 1990 ANSI C Thompson RitchieKernighan
Kabinet használat • Felhasználó név: EIK • Jelszó nincs • L:\ - írási jog, vizsgán használható • D:\ - írási jog • C:\temp - ide érdemes dolgozni
ANSI folyamatábra Példa Adjon meg három pozitív valós számot növekvő sorrendben! ( ANSI - American National StandardsInstitute ) ( ISO - InternationalOrganization for Standardization ) BE: a i a<=0 n BE: b i b<a n BE: c i c<b n
Folyamatábra • Belépés / kilépés • Input • Döntés • Folyamatok iránya
Folyamatábra igen nem osztó=2 BE: szám szám==1? Kezdő/végpont Művelet Felhasználói interakció Elágazás
Folyamatábra Állapítsa meg, hogy a háromszög a megadott oldalhosszakkal megszerkeszthető‑e! BE: h[0], h[1], h[2] N h[0], h[1], h[2] >0 h[0]+h[1]>h[2] || h[1]+h[2]>h[0] || h[0]+h[2]>h[1] KI: nem szerkeszthető N A háromszög megszerkeszthető, ha bármely két oldal hosszának összege nagyobb, mint a harmadik oldal hossza. I KI: szerkeszthető
Első programunk /*Első program*/ #include<stdio.h> voidmain() { printf("Hello World\n"); }
Integrált fejlesztői környezetek (IDE) BorlandTurbo C/C++ Code::Blocks Microsoft Visual C++ 6.0 Visual Studio 2010 Visual Studio2012
Vezérlő szerkezetek • Szekvencia • Szelekció (elágazás) • Iteráció (ciklus)
Szekvencia utasítás 1; utasítás 2; ... utasítás n; utasítás példa: a = 5; //értékadás osszeg= x + y; //értékadás a = a + 4; //értékadás printf("Ez egy program"); //függvényhívás
Szelekció if() ------------------- if() else ------------------ if() elseif() elseif() elseif() elseif() ... else ha a feltétel igaz utasítás(ok) ------------------------------- ha a feltétel igaz utasítás(ok) különben utasítás(ok) ------------------------------- ha a feltétel 1 igaz utasítás(ok) különben ha a feltétel 2 igaz utasítás (ok) ... különben ha a feltétel n igaz utasítás(ok) különben utasítás(ok)
Szelekció példa ha az összeg kisebb, mint 0 írd ki, hogy "Az összeg negatív.” különben ha az összeg 0 írd ki, hogy "Az összeg 0.” különben írd ki, hogy "Az összeg pozitív.” if(osszeg<0) printf("Az összeg negatív."); elseif(osszeg==0) printf("Az összeg 0."); else printf("Az összeg pozitív.");
For ciklus amíg a ciklusszámláló nem éri el az n-t, ciklusszámláló növelése (ciklus végén!) for(kezdőérték; feltétel; növekmény) { utasításblokk } Példa: for(i=1; i<=100; i++) printf("C programozás");
While ciklus -elöltesztelő amíg a feltétel igaz - utasítás(ok) while(feltétel) { utasításblokk } Példa: i=1; while(i<=100) { printf("C programozás"); i = i + 1; }
While ciklus - hátultesztelő utasítás(ok) amíg a feltétel igaz do { utasításblokk } while(feltétel); Példa: i=1; { printf("C programozás"); i = i + 1; } while(i<=100);
Char 0 – NULL karakter ('\0')32 – space (' ')48 – 57 –'0'-'9'65 – 90 –'A' -'Z'97 –122 –'a' -'z' (97 – 65 = 32 – a különbség nagy és kis betűk közt)
Char c = 'A'; c = 65; // 'A' ASCII kódjac='\x41'; // a hexadecimalis ábrázolás \x-el kezdődik http://www.wolframalpha.com/input/?i=0x41
Első programunk /*Első program*/ #include<stdio.h> voidmain() { printf("Hello World\n"); }