A kosaram
0
80%-ig
még
5 db

C/C++ programozás

Feladatokkal/Nyitott rendszerű képzés-Távoktatás-Oktatási segédlete/Főiskolai Jegyzet

Szerző

Kiadó: LSI Oktatóközpont-A Mikroelektronika Alkalmazásának Kultúrájáért Alapítvány
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Ragasztott papírkötés
Oldalszám: 318 oldal
Sorozatcím:
Kötetszám:
Nyelv: Magyar  
Méret: 24 cm x 17 cm
ISBN: 963-577-328-5
Megjegyzés: CD-melléklet nélkül. Fekete-fehér ábrákkal.
Értesítőt kérek a kiadóról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Előszó

Sokan úgy gondolják, hogy eléggé elcsépelt téma manapság a C/C++ nyelvekről könyvet írni, hiszen több ezer művet számlál a témával kapcsolatban már megjelent könyvek, publikációk, folyóiratok... Tovább

Előszó

Sokan úgy gondolják, hogy eléggé elcsépelt téma manapság a C/C++ nyelvekről könyvet írni, hiszen több ezer művet számlál a témával kapcsolatban már megjelent könyvek, publikációk, folyóiratok listája. A rendelkezésre álló irodalom tényleg igen nagy, de ezek nagy része idegen nyelvű. Magyar nyelven igen kevés könyv jelent meg a témával kapcsolatban, s ezek nagy része egy adott fordítóprogram, fejlesztői környezet funkcionalitását mutatja be, illetve speciális operációs rendszer szemszögből közelíti meg a témát. Mivel a C és a C++ egyaránt általános célú programozási nyelvek, ezért hatékony használatukat az adott fejlesztőeszközök és operációs rendszerek specialitása nélkül lehet leginkább elsajátítani. A könyv törekszik arra, hogy minél objektívebben mutassa meg e két igen népszerű nyelv nyújtotta lehetőségeket. E két nyelv népszerűsége óriási és ennek nem valamiféle divat az oka. Pusztán arról van szó, hogy ezek a nyelvek nem rákényszerítenek a programozóra bizonyos gondolkodási formákat, hanem megadják a programozónak a választás lehetőségét, hogy a számára leginkább kézenfekvő módon oldja meg az adott programozói feladatot. Másik lényeges momentum, hogy szinte minden operációs rendszeren megtalálhatóak a C/C++ nyelvek fordítóprogramjai, és így kis figyelemmel teljesen platform független alkalmazásokat lehet készíteni. További előnye e két nyelvnek a nyitottság és flexibilitás. Kétségtelen, hogy az idő előrehaladtával egyre okosabb és kényelmesebb fejlesztőeszközök jelennek meg, de a lényegi programozói munkát ezután is jól felkészült, erős alapokkal rendelkező programozóknak kell megoldaniuk. A programozási nyelvek, fejlesztőrendszerek csupán eszközök, melyeket lehet jól és rosszul alkalmazni a célok eléréséhez. Először a problémamegoldó készséget kell megtanulni, és azután következhet a fejlesztőeszköz kiválasztása és a tényleges programozás. A választás nem feltétlenül a C vagy a C++ nyelv lesz, de aki ezeket a nyelveket meg szeretné ismerni, igen sok kérdésére remélhetőleg választ talál ebben a könyvben. Nincs kifejezetten megcélzott olvasóközönsége a könyvnek, teljesen kezdők és profik egyaránt haszonnal forgathatják. Az volt a célom e könyv megírásával, hogy betöltsem azt az űrt, ami az x.y verziójú C/C++ fordító utasításkészletének ismertetése és az ARM között tátong. Vissza

Tartalom

C PROGRAMOZÁS 9
1. Bevezetés 11
1.1 Előszó az olvasóhoz 11
1.2 A könyv szerkezete 13
2. A C nyelv 15
2.1 Történeti áttekintés 15
2.2 Alapismeretek 16
2.3 Adattípusok, operátorok, kifejezések 20
2.3.1 Adattípusok 20
2.3.2 Tárolási osztályok 23
2.3.3 Az érvényességi tartomány, globális és lokális változók 24
2.3.4 állandók 27
2.3.5 Operátorok 32
2.3.5.1 Értékadó operátorok 33
2.3.5.2 Aritmetikai operátorok 35
2.3.5.3 Relációs operátorok 35
2.3.5.4 Logikai operátorok 36
2.3.5.5 Bitkezelő operátorok 37
2.3.5.6 Címkezelő operátorok 40
2.3.5.7 Tagkiválasztó operátorok 42
2.3.5.8 Feltételes operátor 42
2.3.5.9 Felsorolás operátor 43
2.3.6 Operátorok asszociativitása és precedenciája 44
2.3.7 Kifejezések 46
2.4 Vezérlési szerkezetek 49
2.4.1 Utasítások és utasításblokkok 50
2.4.2 Kiválasztó utasítások 51
2.4.2.1 Az if - else utasításpár 51
2.4.2.2 A switch utasítás 54
2.4.3 Iterációs, vagy ciklusszervező utasítások 55
2.4.3.1 A while utasítás 56
2.4.3.2 A do utasítás 56
2.4.3.3 A for utasítás 57
2.4.4 Ugró utasítások 59
2.4.4.1 A break utasítás 59
2.4.4.2 A continue utasítás 59
2.4.4.3 A return utasítás 60
2.4.4.4 A goto utasítás - 60
2.5 Függvények és programstruktúra 62
2.5.1 függvénydefiníció és deklaráció 62
2.5.2 függvény argumentumok 67
2.5.3 függvényekés az érvényességi tartomány 68
2.5.4 az állandók, makrók és az érvényességi tartomány 71
2.5.5 tárolási osztályok és az érvényességi tartomány
2.5.6 Forráskód menedzselés, a preprocesszor használata 74
2.5.6.1 Preprocesszor direktívák 75
2.5.6.2 A #define direktíva 75
2.5.6.3 A # és ## operátorok 79
2.5.6.4 Az #undef direktíva 81
2.5.6.5 Az #include direktíva 82
2.5.6.6 Feltételes fordítást segítő direktívák 82
2.5.6.7 Egyéb vezérlő direktívák 86
2.6 Származtatott adattípusok 87
2.6.1 Pointerek És címaritmetika 87
2.6.1.1 Pointer típusú változók definiálása 88
2.6.1.2 Műveletek pointerekkel 88
2.6.2 Tömbök 90
2.6.3 Karakter tömbök 94
2.6.4 Struktúrák és Unionok 97
2.6.4.1 Struktúrák 97
2.6.4.2 Unionok 101
2.6.4.3 Bitmezők 104
2.6.4.4 Önhivatkozó struktúrák 104
2.7 A függvények használata 105
2.7.1 Függvények rekurzív hívása 105
2.7.2 Függvények cím szerinti hívása 107
2.7.3 VÁLTOZÓ ARGUMENTUMSZÁMÚ FÜGGVÉNYEK 110
2.7.4 main(), a kitüntetett függvény 111
2.7.5 Függvénykönyvtárak 113
2.7.6 Függvénykönyvtár szerkesztés 114
2.8 PROGRAMSZERKESZTÉS 115
2.8.1 A SZÖVEGSZERKESZTŐ EDITOR 116
2.8.2 A fordító - compiler 116
2.8.3 AZ összeszerkesztő - linker 111
2.8.4 A KÖNYVTÁRSZERKESZTÖ - LIBRARIAN 119
2.8.5 A programkészítés vezérlő - make 120
2.8.6 INTEGRÁLT FEJLESZTŐI KÖRNYEZETEK 124
2.9 Egyszerű adatszerkezetek 125
2.9.1 Lista szerkezetek 126
2.9.1.1 Egyszeresen láncolt lista 726
2.9.1.2 Egyszeresen láncolt körkörös lista / gyűrű 133
2.9.1.3 Kétszeresen láncolt lista 134
2.9.1.4 Kétszeresen láncolt körkörös lista / gyűrű 135
3. Zárszó 137
Szintaxis 138
Táblázatjegyzék 139
C++ PROGRAMOZÁS C PROGRAMOZÓKNAK 141
Előszó 143
A C++ KIALAKULÁSÁNAK OKAI 145
I. A C ÉS A C++ ÖSSZEHASONLÍTÁSA 147
1. VÁLTOZÁSOK A C-HEZ KÉPEST 149
1.1. A preprocesszor direktívák 149
1.1.1. Az #include direktíváról 149
1.1.2. Szimbolikus állandók 150
1.1.3. Makrók 151
1.2. Megjegyzések 151
1.3. Paraméter nélküli függvények 152
1.4. Parancssori tokenátadás 152
1.5. Alapértelmezett típus 154
1.7. Az alaptípusok mérete 155
1.6. Az enum típus 155
1.8. Típuskonverzió 156
1.9. Inicializálás, (többszörös) definiálás 156
1.10. A const típusmódosító 157
2. Bevezetés a C++ nyelv újdonságaiba 159
2.1. Az I/O műveletek 159
2.2. A referencia 161
2.3. A bool típus 163
2.4. A string típus 163
2.5. A dinamikus memóriafoglalás új operátorai 164
2.6. Tartomány kiválasztó operátor 165
2.7. Inline függvények 166
2.8. függvényparaméterek újradefiniálása 166
2.9. Alapértelmezett paraméterek 168
II. az objektumorientált programozás 171
3. Osztályok 175
3.1. Az információ egységbe zárása 175
3.2. Struktúrák és osztályok definíciója 176
3.3. Struktúrák és osztályok deklarációja 177
3.4. A struktúrák és osztályok tagjainak elérése 178
3.4.1. A tagok elérésének korlátozása 179
3.4.2. az információ elrejtése 180
3.5. Függvénytagok definíciója 181
3.5.1. Az inline függvénytagok 182
3.6. A konstruktor 183
3.6.1. Az alapértelmezett konstruktor 184
3.6.2. A konstruktor újradefiniálása 186
3.6.3. A másoló konstruktor 188
3.6.4. Konverzió konstruktorral 187
3.6.5. az explicit konstruktor 190
3.6.6. Az adattagok inicializálása 190
3.7. Speciális tagok 192
3.7.1. Konstans adattagok 193
3.7.2. Statikus adattagok 195
3.7.3. Statikus függvénytagok 196
3.7.4. Referencia adattagok 198
3.7.5. Konstans függvénytagok 199
3.7.6. Mutable adattagok 199
3.8. A destruktor 201
3.9. Létrehozás és megsemmisítés 202
3.9.1. Lokális objektum 202
3.9.2. Dinamikus objektum 203
3.9.3. Osztály típusú adattagok 204
3.9.4. tömbök 204
3.9.5. Lokális statikus objektum 204
3.9.6. Nem lokális objektumok 205
3.9.7. Ideiglenes objektumok 205
3.10. A tagok egymás után fűzése 205
3.11. A friend függvények 206
3.12. Az objektumok mérete, szerkezete 208
4. Az operátorok újradefiniálása 209
4.1. Az operátorfüggvények definíciója 210
4.2. Operátorok alapértelmezett működése 211
4.3. Az operátorok paramétereinek típusa 211
4.4. Függvénytag avagy „normál" függvény? 211
4.5. Inicializáció vagy értékadás 212
4.6. Az alapvető függvénytagok 212
5. Az öröklődés 213
5.1. A tagok elérési módjai 214
5.2. többszörös öröklődés 215
5.3. Örökölt függvénytagok neveinek azonossága 215
5.4. Konstruktorok és destruktorok 217
5.5. Virtuális függvénytagok 217
5.6. Absztrakt osztályok 220
6. Paraméterezett osztályok, függvények 221
6.1. Paraméterezett osztályok definíciója 221
6.2. Függvénytagok definíciója 223
6.3. Paraméterezett osztályok használata 223
6.4. Paraméterezett függvények 224
6.5. Paraméterezett függvények újradefiniálása 224
7. Azonosító-tartományok 225
7.1. Azonosító-tartományok definíciója 225
7.2. Azonosítók elérése 227
7.3. A using direktíva 229
7.4. Azonosító keresése 231
7.5. Azonosító-tartományok álneve 231
7.6. újradefiniált függvények és az azonosító-tartomány 232
7.7. Azonosító hozzáadása definiált azonosító-tartományhoz 233
III. Függelékek 235
A. Operátor precedencia 237
Mérnöki számítások C/C++ nyelven 241
16 feladat a GNU C használóinak
Előszó 243
1. (a+b)an együtthatóinak kiszámítása a pascal háromszög
segítségével 245
2. Játék pszeudo-véletlen számokkal 247
3. Optimáló eljárás az előző játék automatikus megoldására 249
4. Szélsőérték keresése az aranymetszés módszerével 250
5. Aknamezőn biztonságos útvonalat kereső eljárás 254
6. pszeudo-véletlen számokat tartalmazó adatállomány
készítése 262
7. Rendezési eljárások sebességének összehasonlítása 263
8. Adatsorok egyszerű statisztikái, valamint korrelációja 269
9. Egyszerű függvények illesztése 276
10. Illesztések értékelése: variancia analízis, reziduumok
elemzése 282
11. Tetszőleges függvény illesztése optimáló eljárás
segítségével 290
12. egy kiválasztott kör pontjainak koordinátái 295
13. kör illesztése a legkisebb négyzetek módszerével 296
14. kör illesztése a sugár irányú négyzetes eltérések
minimálásával 302
15. klaszter analízis a dinamikus k-közép módszerével 308
16. osztályozás tanulóminta adatai alapján 313
CD-ROM melléklet ismertetése 317
ajánlott irodalom 318
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem
konyv