C++. Przewodnik dla początkujących
Book information
Description
Już dziś naucz się programować! Pomimo ogromnej konkurencji ze strony Javy oraz platformy .NET język C++ wciąż jest niezastąpiony w wielu zadaniach. Sprawdza się wyśmienicie, gdy konieczna jest pełna kontrola nad sprzętem oraz możliwie najwyższa wydajność. Jeżeli chcesz się przekonać, jak wykorzystać jego potencjał, trafiłeś na doskonałą książkę! Opanowanie tego języka nie jest tak trudne, jak myślisz. Dzięki temu podręcznikowi bez problemu rozpoczniesz przygodę z C++. W trakcie lektury przygotujesz Twoje środowisko pracy (niezależnie od tego, czy korzystasz z Linuksa, Mac OS, czy Windowsa), poznasz składnię języka i jego elementy. Z kolejnych rozdziałów dowiesz się, jak deklarować zmienne i przechowywać w nich dane oraz jak używać instrukcji warunkowych. Część druga tej książki została poświęcona zagadnieniom związanym z pracą z danymi. Poznasz możliwości tablic, struktur oraz popracujesz ze wskaźnikami. Na koniec zajmiesz się technikami programowania obiektowego oraz debugowaniem kodu. To świetny podręcznik, dzięki któremu nawet laik może zacząć programować w C++. Warto spróbować! Dzięki tej książce: przygotujesz środowisko pracy poznasz składnię i elementy języka C++ opanujesz tablice, struktury i wskaźniki poznasz techniki programowania obiektowego stworzysz swój pierwszy program w C++ Poznaj moc C++! Spis treści......Page 3 Część I. Wskocz w C++......Page 13 Słyszałem o języku, który nazywa się C. Jaka jest różnica między nim a C++?......Page 15 Plik wykonywalny......Page 16 Windows......Page 17 Krok 3. Uruchom Code::Blocks......Page 18 Rozwiązywanie problemów......Page 21 Xcode......Page 23 Tworzenie pierwszego programu C++ w Xcode......Page 24 Tworzenie pierwszego programu C++ w Xcode......Page 28 Rozwiązywanie problemów......Page 31 Krok 1. Instalowanie g++......Page 33 Krok 3. Uruchomienie programu......Page 34 Konfigurowanie nano......Page 35 Korzystanie z nano......Page 36 Najprostszy program w C++......Page 39 Co się dzieje, jeżeli nie możesz zobaczyć swojego programu?......Page 41 Komentowanie programów......Page 42 Specyfika myślenia programisty. Tworzenie kodu wielokrotnego użycia......Page 43 Sprawdź się......Page 44 Zadania praktyczne......Page 45 Deklarowanie zmiennych w C++......Page 47 Co zrobić, gdy program błyskawicznie kończy działanie?......Page 48 Zmiana wartości zmiennych oraz ich porównywanie......Page 49 Skrócone zapisy na dodawanie i odejmowanie jedynki......Page 50 Najczęściej popełniane błędy podczas deklarowania zmiennych w C++......Page 51 Rozróżnianie wielkości liter......Page 52 Przechowywanie łańcuchów tekstowych......Page 53 No dobrze, rozumiem już łańcuchy tekstowe, ale co z pozostałymi typami?......Page 55 Mały sekret liczb zmiennoprzecinkowych......Page 56 Sprawdź się......Page 57 Zadania praktyczne......Page 58 Podstawowa składnia instrukcji if......Page 59 Wyrażenia......Page 60 Typ bool......Page 61 Instrukcje else-if......Page 62 Porównywanie łańcuchów tekstowych......Page 63 Logiczne nie......Page 64 Logiczne LUB......Page 65 Łączenie wyrażeń......Page 66 Sprawdź się......Page 67 Zadania praktyczne......Page 68 Pętla while......Page 69 Pętla for......Page 70 Aktualizacja zmiennej......Page 71 Pętla do-while......Page 72 Kontrolowanie przebiegu pętli......Page 73 Pętle zagnieżdżone......Page 75 Pętla while......Page 76 Pętla do-while......Page 77 Zadania praktyczne......Page 78 Składnia funkcji......Page 81 Zmienne lokalne......Page 83 Zmienne globalne......Page 84 Ostrzeżenie dotyczące zmiennych globalnych......Page 85 Definicja i deklaracja funkcji......Page 86 Przykład użycia prototypu funkcji......Page 87 Kiedy chcesz, żeby kod był łatwiejszy do czytania......Page 88 Podsumowanie wiadomości o funkcjach......Page 89 Zadania praktyczne......Page 90 Rozdział 7. Instrukcje switch case oraz typ wyliczeniowy......Page 91 Porównanie instrukcji switch case z if......Page 93 Tworzenie prostych typów za pomocą wyliczeń......Page 94 Zadania praktyczne......Page 96 Rozdział 8. Dodawanie do programu elementu losowości......Page 97 Uzyskiwanie liczb losowych w C++......Page 98 Błędy i losowość......Page 100 Sprawdź się......Page 101 Zadania praktyczne......Page 102 Rozdział 9. Co zrobić, kiedy nie wiesz, co robić?......Page 103 Krótka dygresja na temat wydajności i bezpieczeństwa kodu......Page 106 Co robić, kiedy nie znasz algorytmu?......Page 107 Zadania praktyczne......Page 110 Część II. Praca z danymi......Page 111 Podstawowa składnia tablic......Page 113 Przechowywanie zamówień w tablicach......Page 114 Tablice i pętle......Page 115 Przekazywanie tablic do funkcji......Page 116 Sortowanie tablic......Page 118 Sprawdź się......Page 122 Zadania praktyczne......Page 123 Składnia......Page 125 Przekazywanie struktur......Page 127 Sprawdź się......Page 129 Zadania praktyczne......Page 130 No dobrze, czym są wskaźniki? Dlaczego powinny mnie obchodzić?......Page 131 Czym jest pamięć komputera?......Page 132 Uwaga na temat nazewnictwa......Page 133 Organizacja pamięci......Page 134 Nieprawidłowe wskaźniki......Page 135 Pozostałe zalety i wady wskaźników......Page 136 Zadania praktyczne......Page 137 Deklarowanie wskaźnika......Page 139 Użycie wskaźnika......Page 140 Niezainicjalizowane wskaźniki i wartość NULL......Page 143 Wskaźniki i funkcje......Page 144 Referencje......Page 146 Referencje a wskaźniki......Page 147 Zadania praktyczne......Page 148 Pozyskiwanie pamięci za pomocą instrukcji new......Page 151 Wskaźniki i tablice......Page 152 Arytmetyka wskaźników......Page 155 Zrozumieć tablice dwuwymiarowe......Page 156 Wskaźniki do wskaźników......Page 157 Wskaźniki do wskaźników i tablic dwuwymiarowych......Page 159 Sprawdź się......Page 160 Zadania praktyczne......Page 161 Rozdział 15. Wprowadzenie do struktur danych: listy powiązane......Page 163 Wskaźniki i struktury......Page 165 Tworzenie listy powiązanej......Page 166 Pierwszy przebieg......Page 167 Drugi przebieg......Page 168 Przeglądanie listy powiązanej......Page 169 Oswajanie list powiązanych......Page 170 Tablice a listy powiązane......Page 171 Sprawdź się......Page 173 Zadania praktyczne......Page 175 Jak postrzegać rekurencję?......Page 177 Rekurencja i struktury danych......Page 179 Pętle i rekurencja......Page 181 Stos......Page 183 Wady rekurencji......Page 185 Debugowanie przepełnienia stosu......Page 186 Sprawdź się......Page 188 Zadania praktyczne......Page 189 Rozdział 17. Drzewa binarne......Page 191 Konwencje nazewnicze......Page 193 Wstawianie węzła do drzewa......Page 194 Przeszukiwanie drzewa......Page 196 Niszczenie drzewa......Page 197 Usuwanie węzła z drzewa......Page 199 Praktyczne zastosowanie drzew binarnych......Page 206 Koszt tworzenia drzew i map......Page 207 Zadania praktyczne......Page 208 Rozdział 18. Standardowa biblioteka szablonów......Page 211 Wektor — tablica o zmiennych rozmiarach......Page 212 Inne właściwości wektorów......Page 213 Mapy......Page 214 Iteratory......Page 215 Sprawdzanie, czy wartość znajduje się w mapie......Page 217 Oswajanie biblioteki STL......Page 218 Sprawdź się......Page 219 Zadania praktyczne......Page 220 Wczytywanie łańcuchów tekstowych......Page 221 Długość łańcucha i dostęp do jego elementów......Page 223 Wyszukiwanie i podłańcuchy......Page 224 Przekazywanie łańcucha przez referencję......Page 225 Szerzenie się const......Page 226 Const i STL......Page 227 Sprawdź się......Page 228 Zadania praktyczne......Page 229 Rozdział 20. Debugowanie w Code::Blocks......Page 231 Zaczynamy......Page 232 Wstrzymywanie działania programu......Page 233 Debugowanie awarii......Page 239 Zaglądanie do zawieszonego programu......Page 242 Modyfikowanie zmiennych......Page 245 Zadanie nr 1. Problem z wykładnikiem......Page 246 Zadanie nr 3. Problem z ciągiem Fibonacciego......Page 247 Zadanie nr 4. Problem z odczytywaniem i wyświetlaniem listy......Page 248 Część III. Tworzenie większych programów......Page 249 Proces kompilacji w języku C++......Page 251 Przetwarzanie wstępne......Page 252 Konsolidacja......Page 253 Jak rozbić program na wiele plików?......Page 254 Krok 3. Przeniesienie wspólnych funkcji do nowych plików......Page 255 Przykładowy program......Page 256 Pozostałe zasady pracy z plikami nagłówkowymi......Page 259 Praca z wieloma plikami źródłowymi w środowisku programistycznym......Page 260 Sprawdź się......Page 262 Zadania praktyczne......Page 264 Powielony kod......Page 265 Założenia dotyczące przechowywania danych......Page 266 Projekt i komentarze......Page 268 Sprawdź się......Page 269 Rozdział 23. Ukrywanie reprezentacji struktur danych......Page 271 Użycie funkcji w celu ukrycia układu struktury......Page 272 Deklaracja metody i składnia wywołania......Page 273 Przeniesienie definicji funkcji poza strukturę......Page 274 Zadania praktyczne......Page 275 Rozdział 24. Klasa......Page 277 Ukrywanie sposobu przechowywania danych......Page 278 Deklarowanie instancji klasy......Page 279 Odpowiedzialności klasy......Page 280 Sprawdź się......Page 281 Zadania praktyczne......Page 282 Konstruowanie obiektu......Page 283 Co się stanie, jeśli nie utworzysz konstruktora?......Page 285 Inicjalizacja składowych klasy......Page 286 Użycie listy inicjalizacyjnej do pól stałych......Page 287 Niszczenie obiektu......Page 288 Niszczenie przy wyjściu poza zakres......Page 290 Kopiowanie klas......Page 291 Operator przypisania......Page 292 Konstruktor kopiujący......Page 295 Całkowite zapobieganie kopiowaniu......Page 296 Sprawdź się......Page 297 Zadania praktyczne......Page 298 Rozdział 26. Dziedziczenie i polimorfizm......Page 299 Dziedziczenie w C++......Page 300 Dziedziczenie, konstruowanie obiektów oraz ich niszczenie......Page 304 Polimorfizm i dziedziczenie obiektów......Page 306 Problem przycinania......Page 308 Dane chronione......Page 309 Dane obejmujące całą klasę......Page 310 W jaki sposób zaimplementowany jest polimorfizm?......Page 311 Sprawdź się......Page 313 Zadania praktyczne......Page 314 Rozdział 27. Przestrzenie nazw......Page 317 Kiedy należy utworzyć przestrzeń nazw?......Page 319 Zadania praktyczne......Page 320 Czytanie z plików......Page 321 Formaty plików......Page 323 Koniec pliku......Page 324 Zapisywanie plików......Page 326 Pozycja pliku......Page 327 Pobieranie argumentów z wiersza poleceń......Page 330 Pliki binarne......Page 332 Praca z plikami binarnymi......Page 334 Przykład binarnych operacji we/wy......Page 335 Przechowywanie klas w pliku......Page 336 Czytanie z pliku......Page 338 Sprawdź się......Page 340 Zadania praktyczne......Page 341 Szablony funkcji......Page 343 Kacze typowanie......Page 345 Szablony klas......Page 346 Wskazówki dotyczące pracy z szablonami......Page 347 Podsumowanie informacji o szablonach......Page 349 Interpretacja komunikatów o błędach w szablonach......Page 350 Sprawdź się......Page 353 Zadania praktyczne......Page 354 Część IV. Zagadnienia rozmaite......Page 355 Określanie szerokości pola za pomocą instrukcji setw......Page 357 Trwała zmiana ustawień......Page 358 Korzystanie ze znajomości iomanip......Page 359 Wyświetlanie liczb......Page 360 A co z pieniędzmi?......Page 361 Wyświetlanie liczb o różnych podstawach......Page 362 Rozdział 31. Wyjątki i raportowanie błędów......Page 363 Zwalnianie zasobów po wystąpieniu wyjątku......Page 364 Ręczne czyszczenie zasobów w bloku catch......Page 365 Zgłaszanie wyjątków......Page 366 Specyfikacja wyjątków......Page 367 Korzyści płynące z wyjątków......Page 368 Nieprawidłowe użycie wyjątków......Page 369 Podsumowanie informacji o wyjątkach......Page 370 Rozdział 32. Końcowe przemyślenia......Page 371 Rozwiązanie testu z rozdziału 2.......Page 372 Rozwiązanie testu z rozdziału 3.......Page 373 Rozwiązanie testu z rozdziału 5.......Page 374 Rozwiązanie testu z rozdziału 7.......Page 375 Rozwiązanie testu z rozdziału 8.......Page 376 Rozwiązanie testu z rozdziału 11.......Page 377 Rozwiązanie testu z rozdziału 12.......Page 378 Rozwiązanie testu z rozdziału 13.......Page 379 Rozwiązanie testu z rozdziału 14.......Page 380 Rozwiązanie testu z rozdziału 15.......Page 381 Rozwiązanie testu z rozdziału 16.......Page 382 Rozwiązanie testu z rozdziału 17.......Page 383 Rozwiązanie testu z rozdziału 18.......Page 384 Rozwiązanie testu z rozdziału 21.......Page 385 Rozwiązanie testu z rozdziału 23.......Page 386 Rozwiązanie testu z rozdziału 25.......Page 387 Rozwiązanie testu z rozdziału 26.......Page 389 Rozwiązanie testu z rozdziału 27.......Page 390 Rozwiązanie testu z rozdziału 29.......Page 391 Skorowidz......Page 393
Similar books
C++. Przewodnik dla początkujących
2014 · EPUB
C++. Przewodnik dla początkujących
2014 · PDF
Jumping into C++
2013 · PDF
Jumping into C++
2013 · PDF
Jumping into C++ (PDF book with sample code)
ZIP
Kwantechizm - elementarz doktrynalny mechaniki kwantowej
Kwintesencja wszystkiego. Dwanaście eksperymentów, które zmieniły nasz świat
2024 · PDF
Pieśń komórek. Nowa epoka medycyny
2024 · PDF