reklama - zainteresowany?

Język C++. Owoce programowania. Wydanie IX - Helion

Język C++. Owoce programowania. Wydanie IX
Autor: Tony Gaddis
Tytuł oryginału: Starting Out with C++ from Control Structures through Objects (9th Edition)
Tłumaczenie: Andrzej Watrak, Patryk Wierzchoń
ISBN: 978-83-283-4680-2
stron: 1408, Format: 164x239, okładka: twarda
Data wydania: 2019-04-23
Księgarnia: Helion

Cena książki: 96,85 zł (poprzednio: 149,00 zł)
Oszczędzasz: 35% (-52,15 zł)

Dodaj do koszyka Język C++. Owoce programowania. Wydanie IX

Tagi: C++ - Programowanie

C++ powstaÅ‚ w 1979 roku. Od tej pory caÅ‚y czas siÄ™ rozwija. Mimo że wymaga od programisty pewnej dyscypliny i starannoÅ›ci w pracy, jest chÄ™tnie wykorzystywany, daje bowiem ogromne możliwoÅ›ci i cechuje siÄ™ elastycznoÅ›ciÄ…. W jÄ™zyku tym zaimplementowano mechanizmy programowania obiektowego. Opanowanie C++ nie tylko pozwala programistom tworzyć aplikacje dla praktycznie wszystkich platform, komputerów, serwerów i urzÄ…dzeÅ„ mobilnych, ale również uÅ‚atwia naukÄ™ innych jÄ™zyków programowania. Aby w peÅ‚ni skorzystać z tych zalet, trzeba od poczÄ…tku przykÅ‚adać siÄ™ do nauki pisania kodu z poszanowaniem dobrych praktyk.

To kolejne wydanie lubianego podrÄ™cznika programowania w jÄ™zyku C++; książka przeznaczona dla osób, które dopiero rozpoczynajÄ… naukÄ™ kodowania, i tych, które majÄ… już doÅ›wiadczenie z innymi jÄ™zykami. ZnalazÅ‚o siÄ™ tu przystÄ™pne wyjaÅ›nienie podstaw dziaÅ‚ania komputera oraz wprowadzenie do samego jÄ™zyka, a także mnóstwo pożytecznych wskazówek dla poczÄ…tkujÄ…cych. Bardziej zaawansowani programiÅ›ci doceniÄ… szczegóÅ‚owe opisy niuansów, zawiÅ‚oÅ›ci i źródeÅ‚ możliwych problemów. Książka jest napisana prostym, zrozumiaÅ‚ym jÄ™zykiem i zawiera wiele Å›wietnie dobranych przykÅ‚adów ilustrujÄ…cych nie tylko funkcje i konstrukcje jÄ™zyka C++, ale również przypadki i sposoby ich użycia.

Najważniejsze zagadnienia:

  • przystÄ™pne wprowadzenie do C++
  • funkcje i klasy, tablice i wektory
  • wyrażenia lambda, wskaźniki i przeciążanie operatorów
  • dziedziczenie i polimorfizm
  • stosy, kolejki i rekurencja
  • - drzewa binarne: tworzenie i operacje na drzewach

Idź i programuj w C++!

Dodaj do koszyka Język C++. Owoce programowania. Wydanie IX

Dodaj do koszyka Język C++. Owoce programowania. Wydanie IX

Spis treści

Język C++. Owoce programowania. Wydanie IX -- spis treści

 

Przedmowa 15

 

RozdziaÅ‚ 1. Wprowadzenie do komputerów i programowania 29

  • 1.1. Dlaczego tworzymy oprogramowanie? 29
  • 1.2. Systemy komputerowe: sprzÄ™t i oprogramowanie 31
  • 1.3. Programy i jÄ™zyki programowania 37
  • 1.4. Z czego skÅ‚ada siÄ™ program? 43
  • 1.5. Przyjmowanie danych, ich przetwarzanie i wynik 47
  • 1.6. Proces programowania 48
  • 1.7. Programowanie proceduralne i obiektowe 52
  • Pytania i ćwiczenia kontrolne 54

Rozdział 2. Wprowadzenie do języka C++ 57

  • 2.1. Elementy programu w jÄ™zyku C++ 57
  • 2.2. Obiekt cout 61
  • 2.3. Dyrektywa #include 66
  • 2.4. Zmienne, literaÅ‚y i wyrażenia przypisania 67
  • 2.5. Identyfikatory 71
  • 2.6. Typy danych liczb caÅ‚kowitych 73
  • 2.7. Typ char 78
  • 2.8. Klasa string w C++ 82
  • 2.9. Typy danych liczb zmiennoprzecinkowych 84
  • 2.10. Typ danych bool 87
  • 2.11. OkreÅ›lanie rozmiaru typu danych 88
  • 2.12. WiÄ™cej o inicjowaniu zmiennych i przypisywaniu wartoÅ›ci 90
  • 2.13. ZasiÄ™g zmiennych 92
  • 2.14. Operatory arytmetyczne 93
  • 2.15. Komentarze 100
  • 2.16. StaÅ‚e nazwane 102
  • 2.17. Styl programowania 105
  • Pytania i ćwiczenia kontrolne 107
  • Wyzwania programistyczne 111

Rozdział 3. Wyrażenia i interaktywność 115

  • 3.1. Obiekt cin 115
  • 3.2. Wyrażenia matematyczne 121
  • 3.3. Gdy pomylisz jabÅ‚ka z pomaraÅ„czami: konwersja typów 129
  • 3.4. PrzepeÅ‚nienie i zaniżenie 132
  • 3.5. Rzutowanie typów 133
  • 3.6. Wielokrotne przypisania i przypisania Å‚Ä…czone 136
  • 3.7. Formatowanie wyjÅ›cia 140
  • 3.8. Operacje na znakach i obiekcie string 149
  • 3.9. WiÄ™cej matematycznych funkcji bibliotecznych 155
  • 3.10. Rzecz o debugowaniu: rÄ™czne Å›ledzenie programu 161
  • 3.11. RozwiÄ…zywanie problemu: analiza przypadku 162
  • Pytania i ćwiczenia kontrolne 166
  • Wyzwania programistyczne 172

Rozdział 4. Podejmowanie decyzji 181

  • 4.1. Operatory relacji 181
  • 4.2. Instrukcja if 186
  • 4.3. Rozszerzanie instrukcji if 194
  • 4.4. Instrukcja if/else 197
  • 4.5. Zagnieżdżone struktury warunkowe 200
  • 4.6. Instrukcja if/else if 207
  • 4.7. Flagi 212
  • 4.8. Operatory logiczne 213
  • 4.9. Sprawdzanie przedziaÅ‚u liczbowego za pomocÄ… operatorów logicznych 220
  • 4.10. Menu 222
  • 4.11. Rzecz o inżynierii oprogramowania: walidacja wejÅ›cia użytkownika 224
  • 4.12. Porównywanie typów char i string 226
  • 4.13. Operator warunkowy 230
  • 4.14. Instrukcja switch 233
  • 4.15. WiÄ™cej o blokach i zasiÄ™gu zmiennych 241
  • Pytania i ćwiczenia kontrolne 244
  • Wyzwania programistyczne 250

Rozdział 5. Pętle i pliki 261

  • 5.1. Operatory inkrementacji i dekrementacji 261
  • 5.2. Wprowadzenie do pÄ™tli: pÄ™tla while 266
  • 5.3. Walidacja wejÅ›cia za pomocÄ… pÄ™tli while 273
  • 5.4. Liczniki 275
  • 5.5. PÄ™tla do-while 276
  • 5.6. PÄ™tla for 281
  • 5.7. Obliczanie sumy bieżącej 291
  • 5.8. Wartownik 293
  • 5.9. Rzecz o inżynierii oprogramowania: której pÄ™tli użyć? 295
  • 5.10. PÄ™tle zagnieżdżone 296
  • 5.11. Zastosowanie plików do przechowywania danych 298
  • 5.12. Temat dodatkowy: przerywanie i kontynuowanie pÄ™tli 318
  • Pytania i ćwiczenia kontrolne 322
  • Wyzwania programistyczne 327

Rozdział 6. Funkcje 335

  • 6.1. Rzecz o inżynierii oprogramowania: programowanie moduÅ‚owe 335
  • 6.2. Definicja i wywoÅ‚ywanie funkcji 336
  • 6.3. Prototypy funkcji 344
  • 6.4. Przekazywanie danych do funkcji 346
  • 6.5. Przekazywanie danych przez wartość 350
  • 6.6. Rzecz o inżynierii oprogramowania: zastosowanie funkcji w programie sterowanym przez menu 352
  • 6.7. Instrukcja return 356
  • 6.8. Zwracanie wartoÅ›ci z funkcji 357
  • 6.9. Zwracanie wartoÅ›ci boolowskiej 365
  • 6.10. Zmienne lokalne i globalne 367
  • 6.11. Statyczne zmienne lokalne 374
  • 6.12. Argumenty domyÅ›lne 378
  • 6.13. Zastosowanie wskaźników jako parametrów 381
  • 6.14. Przeciążanie funkcji 386
  • 6.15. Funkcja exit() 390
  • 6.16. Funkcje wirtualne i sterowniki 392
  • Pytania i ćwiczenia kontrolne 394
  • Wyzwania programistyczne 398
  • Projekt grupowy 406

Rozdział 7. Tablice i wektory 409

  • 7.1. Tablica jako zbiór wartoÅ›ci 409
  • 7.2. DostÄ™p do elementów tablicy 411
  • 7.3. Brak kontroli zakresów w jÄ™zyku C++ 422
  • 7.4. Zakresowa pÄ™tla for 425
  • 7.5. Przetwarzanie zawartoÅ›ci tablicy 429
  • 7.6. RozwiÄ…zywanie problemu i projektowanie programu: tablice równolegÅ‚e 437
  • 7.7. Tablice w argumentach funkcji 440
  • 7.8. Tablice dwuwymiarowe 450
  • 7.9. Tablice o trzech i wiÄ™kszej liczbie wymiarów 457
  • 7.10. RozwiÄ…zywanie problemu i projektowanie programu: analiza przypadku 459
  • 7.11. Wprowadzenie do typu STL vector 461
  • Pytania i ćwiczenia kontrolne 474
  • Wyzwania programistyczne 480

Rozdział 8. Przeszukiwanie i sortowanie tablic 489

  • 8.1. RozwiÄ…zywanie problemu i projektowanie programu: wprowadzenie do algorytmów wyszukiwania danych 489
  • 8.2. RozwiÄ…zywanie problemu i projektowanie programu: analiza przypadku 496
  • 8.3. RozwiÄ…zywanie problemu i projektowanie programu: wprowadzenie do algorytmów sortowania 502
  • 8.4. RozwiÄ…zywanie problemu i projektowanie programu: analiza przypadku 512
  • 8.5. Sortowanie i przeszukiwanie wektorów (kontynuacja podrozdziaÅ‚u 7.11) 520
  • Pytania i ćwiczenia kontrolne 523
  • Wyzwania programistyczne 524

Rozdział 9. Wskaźniki 529

  • 9.1. Uzyskiwanie adresu zmiennej 529
  • 9.2. Zmienne wskaźnikowe 531
  • 9.3. Relacja pomiÄ™dzy tablicÄ… a wskaźnikiem 538
  • 9.4. DziaÅ‚ania na wskaźnikach 542
  • 9.5. Inicjowanie wskaźników 543
  • 9.6. Porównywanie wskaźników 545
  • 9.7. Wskaźniki jako argumenty funkcji 546
  • 9.8. Dynamiczne przydzielanie pamiÄ™ci 554
  • 9.9. Wskaźniki jako wyniki funkcji 558
  • 9.10. Inteligentne wskaźniki i zapobieganie wyciekom pamiÄ™ci 565
  • 9.11. RozwiÄ…zywanie problemu i projektowanie programu: analiza przypadku 569
  • Pytania i ćwiczenia kontrolne 574
  • Wyzwania programistyczne 578

Rozdział 10. O znakach, C-ciągach i więcej o klasie string 581

  • 10.1. Sprawdzanie znaków 581
  • 10.2. Zmiana wielkoÅ›ci liter 585
  • 10.3. C-ciÄ…gi 588
  • 10.4. Standardowe funkcje przetwarzajÄ…ce C-ciÄ…gi 592
  • 10.5. Funkcje konwertujÄ…ce ciÄ…gi i liczby 602
  • 10.6. RozwiÄ…zywanie problemu i projektowanie programu: tworzenie wÅ‚asnych funkcji przetwarzajÄ…cych C-ciÄ…gi 609
  • 10.7. WiÄ™cej o klasie string 614
  • 10.8. RozwiÄ…zywanie problemu i projektowanie programu: analiza przypadku 627
  • Pytania i ćwiczenia kontrolne 628
  • Wyzwania programistyczne 631

Rozdział 11. Dane strukturalne 637

  • 11.1. Typy abstrakcyjne 637
  • 11.2. Struktury 639
  • 11.3. DostÄ™p do skÅ‚adników struktury 642
  • 11.4. Inicjowanie struktury 645
  • 11.5. Tablice struktur 648
  • 11.6. Inżynieria oprogramowania: struktury zagnieżdżone 651
  • 11.7. Struktury jako argumenty funkcji 654
  • 11.8. Struktury jako wyniki funkcji 657
  • 11.9. Wskaźniki do struktur 659
  • 11.10. Inżynieria oprogramowania: kiedy stosować kropkÄ™, strzaÅ‚kÄ™ i gwiazdkÄ™? 662
  • 11.11. Typy wyliczeniowe 664
  • Pytania i ćwiczenia kontrolne 675
  • Wyzwania programistyczne 680

Rozdział 12. Zaawansowane operacje na plikach 687

  • 12.1. Operacje na plikach 687
  • 12.2. Formatowanie danych wyjÅ›ciowych 693
  • 12.3. Umieszczanie obiektów plikowych w argumentach funkcji 695
  • 12.4. DokÅ‚adniejsze sprawdzanie bÅ‚Ä™dów 697
  • 12.5. Funkcje do odczytywania i zapisywania danych 700
  • 12.6. Inżynieria oprogramowania: praca z wieloma plikami 707
  • 12.7. Pliki binarne 709
  • 12.8. Tworzenie rekordów danych za pomocÄ… struktur 714
  • 12.9. Swobodny dostÄ™p do plików 718
  • 12.10. Otwieranie pliku w trybach wejÅ›ciowym i wyjÅ›ciowym jednoczeÅ›nie 725
  • Pytania i ćwiczenia kontrolne 730
  • Wyzwania programistyczne 734

Rozdział 13. Wprowadzenie do klas 739

  • 13.1. Programowanie proceduralne i obiektowe 739
  • 13.2. Wprowadzenie do klas 746
  • 13.3. Definiowanie instancji klasy 751
  • 13.4. Po co sÄ… prywatne elementy? 763
  • 13.5. Inżynieria oprogramowania: rozdzielenie specyfikacji i implementacji klasy 764
  • 13.6. Metody Å›ródwierszowe 770
  • 13.7. Konstruktory 772
  • 13.8. Umieszczanie wartoÅ›ci w argumentach konstruktorów 778
  • 13.9. Destruktory 784
  • 13.10. Przeciążanie konstruktora 788
  • 13.11. Metody prywatne 793
  • 13.12. Tablice obiektów 794
  • 13.13. RozwiÄ…zywanie problemu i projektowanie programu: przykÅ‚ad programowania obiektowego 798
  • 13.14. Programowanie obiektowe: symulowanie rzutów kostkÄ… za pomocÄ… obiektów 805
  • 13.15. Projektowanie kodu obiektowego: jÄ™zyk UML 808
  • 13.16. Projektowanie kodu obiektowego: dobór klas i okreÅ›lanie ich przeznaczenia 811
  • Pytania i ćwiczenia kontrolne 820
  • Wyzwania programistyczne 825

Rozdział 14. Więcej o klasach 837

  • 14.1. Instancje klasy i statyczne elementy czÅ‚onkowskie 837
  • 14.2. Klasy zaprzyjaźnione 844
  • 14.3. Przypisanie obiektowe 849
  • 14.4. Konstruktor kopiujÄ…cy 850
  • 14.5. Przeciążanie operatorów 856
  • 14.6. Konwersja typów 882
  • 14.7. Agregacja obiektów 884
  • 14.8. Projektowanie kodu obiektowego: wspóÅ‚praca klas 889
  • 14.9. Programowanie obiektowe: symulacja gry Cho-Han 893
  • 14.10. Referencje do r-wartoÅ›ci i przenoszenie danych 903
  • Pytania i ćwiczenia kontrolne 912
  • Wyzwania programistyczne 917

Rozdział 15. Dziedziczenie klas, polimorfizm i funkcje wirtualne 925

  • 15.1. Co to jest dziedziczenie klas? 925
  • 15.2. Chronione elementy czÅ‚onkowskie i dostÄ™p do klasy 933
  • 15.3. Konstruktory i destruktory w klasach bazowych i pochodnych 940
  • 15.4. Redefiniowanie funkcji klasy bazowej 952
  • 15.5. Hierarchia klas 956
  • 15.6. Polimorfizm i metody wirtualne 962
  • 15.7. Abstrakcyjne klasy bazowe i funkcje czysto wirtualne 977
  • 15.8. Wielodziedziczenie klas 984
  • Pytania i ćwiczenia kontrolne 990
  • Wyzwania programistyczne 995

Rozdział 16. Wyjątki i szablony 1003

  • 16.1. WyjÄ…tki 1003
  • 16.2. Szablony funkcji 1021
  • 16.3. Inżynieria oprogramowania: od czego zacząć definiowanie szablonów funkcji? 1027
  • 16.4. Szablony klas 1027
  • Pytania i ćwiczenia kontrolne 1036
  • Wyzwania programistyczne 1039

Rozdział 17. Biblioteka STL 1041

  • 17.1. Wprowadzenie do biblioteki STL 1041
  • 17.2. Podstawowe informacje o kontenerach i iteratorach STL 1042
  • 17.3. Klasa vector 1053
  • 17.4. Klasy map, multimap i unordered_map 1066
  • 17.5. Klasy set, multiset i unordered_set 1091
  • 17.6. Algorytmy 1099
  • 17.7. Wprowadzenie do obiektów funkcyjnych i wyrażeÅ„ lambda 1120
  • Pytania i ćwiczenia kontrolne 1126
  • Wyzwania programistyczne 1131

Rozdział 18.Listy łączone 1137

  • 18.1. Wprowadzenie do list Å‚Ä…czonych 1137
  • 18.2. Operacje na listach Å‚Ä…czonych 1139
  • 18.3. Szablon listy Å‚Ä…czonej 1155
  • 18.4. Odmiany listy Å‚Ä…czonej 1166
  • 18.5. Standardowe kontenery list i forward_list 1166
  • Pytania i ćwiczenia kontrolne 1172
  • Wyzwania programistyczne 1174

Rozdział 19. Stosy i kolejki 1177

  • 19.1. Wprowadzenie do stosów 1177
  • 19.2. Stosy dynamiczne 1193
  • 19.3. Kontener stack 1203
  • 19.4. Wprowadzenie do kolejek 1205
  • 19.5. Kolejki dynamiczne 1216
  • 19.6. Kontenery deque i queue 1223
  • Pytania i ćwiczenia kontrolne 1226
  • Wyzwania programistyczne 1228

Rozdział 20. Rekurencja 1231

  • 20.1. Wprowadzenie do rekurencji 1231
  • 20.2. RozwiÄ…zywanie problemów za pomocÄ… rekurencji 1235
  • 20.3. RozwiÄ…zywanie problemu i projektowanie programu: rekurencyjna funkcja gcd() 1242
  • 20.4. RozwiÄ…zywanie problemu i projektowanie programu: zadania rekurencyjne 1243
  • 20.5. RozwiÄ…zywanie problemu i projektowanie programu: rekurencyjne operacje na listach Å‚Ä…czonych 1245
  • 20.6. RozwiÄ…zywanie problemu i projektowanie programu: rekurencyjna funkcja wyszukiwania binarnego 1248
  • 20.7. RozwiÄ…zywanie problemu i projektowanie programu: Wieże Hanoi 1250
  • 20.8. RozwiÄ…zywanie problemu i projektowanie programu: algorytm sortowania szybkiego 1254
  • 20.9. RozwiÄ…zywanie problemu i projektowanie programu: algorytm wyszukiwania wyczerpujÄ…cego 1258
  • 20.10. RozwiÄ…zywanie problemu i projektowanie programu: rekurencja a iteracja 1260
  • Pytania i ćwiczenia kontrolne 1261
  • Wyzwania programistyczne 1263

Rozdział 21. Drzewa binarne 1265

  • 21.1. Definicja i zastosowanie drzew binarnych 1265
  • 21.2. Operacje przeszukiwania drzewa binarnego 1269
  • 21.3. Szablon klasy do obsÅ‚ugi drzewa binarnego 1285
  • Pytania i ćwiczenia kontrolne 1290
  • Wyzwania programistyczne 1291

Dodatek A. Zestaw znaków ASCII 1295

Dodatek B. Hierarchia operatorów 1299

Dodatek C. Odpowiedzi do punktów kontrolnych 1307

Dodatek D. Odpowiedzi do pytań i ćwiczeń kontrolnych 1343

Skorowidz 1397

Dodaj do koszyka Język C++. Owoce programowania. Wydanie IX

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.