C++ - od zera do gier kodera.pdf
(
4912 KB
)
Pobierz
Od zera do gier kodera
Karol Kuczmarski (Xion)
Od zera do gier kodera
megatutorial
Kurs C++
Tutorial ten jest kompletnym opisem języka C++. Rozpoczyna się od wstępu do
programowania i języka C++, by potem przeprowadzić Czytelnika przez proces
konstruowania jego pierwszych programów. Po nauce podstaw przychodzi czas na
programowanie obiektowe, a potem zaawansowane aspekty języka - z wyjątkami i
szablonami włącznie.
Kurs jest częścią megatutoriala
Od zera do gier kodera
.
Copyright © 2004 Karol Kuczmarski
Udziela się zezwolenia do kopiowania, rozpowszechniania i/lub modyfikacji tego
dokumentu zgodnie z zasadami Licencji GNU Wolnej Dokumentacji w wersji 1.1 lub
dowolnej późniejszej, opublikowanej przez Free Software Foundation; bez Sekcji
Niezmiennych, bez Tekstu na Przedniej Okładce, bez Tekstu na Tylniej Okładce. Kopia
licencji załączona jest w sekcji
Licencja GNU Wolnej Dokumentacji
.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi lub
towarowymi ich właścicieli.
Autorzy dołożyli wszelkich starań, aby zawarte w tej publikacji informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za
związane z tym ewentualne naruszenie praw patentowych i autorskich. Autorzy nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania
informacji zawartych w tej publikacji.
Avocado Software
http://avocado.risp.pl
Game Design PL
http://warsztat.pac.pl
SPIS TREŚCI
PODSTAWY PROGRAMOWANIA __________________________ 17
Krótko o programowaniu _________________________________________ 19
Krok za krokiem _____________________________________________________________ 19
Jak rozmawiamy z komputerem? ________________________________________________ 21
Języki programowania ________________________________________________________ 23
Przegląd najważniejszych języków programowania ________________________________ 23
Brzemienna w skutkach decyzja ______________________________________________ 26
Kwestia kompilatora ________________________________________________________ 27
Podsumowanie ______________________________________________________________ 28
Pytania i zadania __________________________________________________________ 28
Pytania ________________________________________________________________ 28
Ćwiczenia ______________________________________________________________ 28
Z czego składa się program? ______________________________________ 29
C++, pierwsze starcie ________________________________________________________ 29
Bliskie spotkanie z kompilatorem ______________________________________________ 29
Rodzaje aplikacji___________________________________________________________ 31
Pierwszy program__________________________________________________________ 32
Kod programu_______________________________________________________________ 33
Komentarze ______________________________________________________________ 33
Funkcja
main()
___________________________________________________________ 33
Pisanie tekstu w konsoli _____________________________________________________ 34
Dołączanie plików nagłówkowych______________________________________________ 35
Procedury i funkcje___________________________________________________________ 36
Własne funkcje ____________________________________________________________ 36
Tryb śledzenia ____________________________________________________________ 37
Przebieg programu _________________________________________________________ 38
Zmienne i stałe ______________________________________________________________ 39
Zmienne i ich typy _________________________________________________________ 39
Strumień wejścia __________________________________________________________ 40
Stałe ____________________________________________________________________ 41
Operatory arytmetyczne_______________________________________________________ 42
Umiemy liczyć! ____________________________________________________________ 42
Rodzaje operatorów arytmetycznych ___________________________________________ 43
Priorytety operatorów_______________________________________________________ 44
Tajemnicze znaki __________________________________________________________ 44
Podsumowanie ______________________________________________________________ 45
Pytania i zadania __________________________________________________________ 45
Pytania ________________________________________________________________ 46
Ćwiczenia ______________________________________________________________ 46
Działanie programu _____________________________________________ 47
Funkcje nieco bliżej __________________________________________________________ 47
Parametry funkcji __________________________________________________________ 47
Wartość zwracana przez funkcję ______________________________________________ 49
Składnia funkcji ___________________________________________________________ 50
Sterowanie warunkowe _______________________________________________________ 51
Instrukcja warunkowa
if
____________________________________________________ 51
Fraza
else
_____________________________________________________________ 53
Bardziej złożony przykład__________________________________________________ 54
Instrukcja wyboru
switch
___________________________________________________ 56
Pętle ______________________________________________________________________ 58
Pętle warunkowe
do
i
while
__________________________________________________ 58
Pętla
do
_______________________________________________________________ 58
Pętla
while
_____________________________________________________________ 60
4
Pętla krokowa
for
_________________________________________________________ 62
Instrukcje
break
i
continue
_________________________________________________ 65
Podsumowanie ______________________________________________________________ 66
Pytania i zadania __________________________________________________________ 67
Pytania ________________________________________________________________ 67
Ćwiczenia ______________________________________________________________ 67
Operacje na zmiennych __________________________________________ 69
Wnikliwy rzut oka na zmienne __________________________________________________ 69
Zasięg zmiennych__________________________________________________________ 69
Zasięg lokalny __________________________________________________________ 70
Zasięg modułowy ________________________________________________________ 72
Przesłanianie nazw _______________________________________________________ 73
Modyfikatory zmiennych_____________________________________________________ 74
Zmienne statyczne _______________________________________________________ 75
Stałe __________________________________________________________________ 76
Typy zmiennych _____________________________________________________________ 76
Modyfikatory typów liczbowych _______________________________________________ 77
Typy ze znakiem i bez znaku _______________________________________________ 77
Rozmiar typu całkowitego _________________________________________________ 78
Precyzja typu rzeczywistego _______________________________________________ 79
Skrócone nazwy _________________________________________________________ 80
Pomocne konstrukcje _______________________________________________________ 80
Instrukcja
typedef
_______________________________________________________ 80
Operator
sizeof
________________________________________________________ 81
Rzutowanie _______________________________________________________________ 83
Proste rzutowanie________________________________________________________ 84
Operator
static_cast
____________________________________________________ 86
Kalkulacje na liczbach_________________________________________________________ 88
Przydatne funkcje__________________________________________________________ 88
Funkcje potęgowe _______________________________________________________ 88
Funkcje wykładnicze i logarytmiczne _________________________________________ 89
Funkcje trygonometryczne_________________________________________________ 90
Liczby pseudolosowe _____________________________________________________ 91
Zaokrąglanie liczb rzeczywistych ____________________________________________ 93
Inne funkcje ____________________________________________________________ 94
Znane i nieznane operatory __________________________________________________ 95
Dwa rodzaje ____________________________________________________________ 95
Sekrety inkrementacji i dekrementacji _______________________________________ 96
Słówko o dzieleniu _______________________________________________________ 97
Łańcuchy znaków ____________________________________________________________ 98
Napisy według C++ ________________________________________________________ 99
Typy zmiennych tekstowych ______________________________________________ 100
Manipulowanie łańcuchami znaków ___________________________________________ 100
Inicjalizacja ___________________________________________________________ 100
Łączenie napisów _______________________________________________________ 102
Pobieranie pojedynczych znaków___________________________________________ 103
Wyrażenia logiczne __________________________________________________________ 105
Porównywanie wartości zmiennych ___________________________________________ 105
Operatory logiczne ________________________________________________________ 105
Koniunkcja ____________________________________________________________ 106
Alternatywa ___________________________________________________________ 106
Negacja ______________________________________________________________ 106
Zestawienie operatorów logicznych _________________________________________ 107
Typ
bool
________________________________________________________________ 108
Operator warunkowy ______________________________________________________ 109
Podsumowanie _____________________________________________________________ 110
Pytania i zadania _________________________________________________________ 111
Pytania _______________________________________________________________ 111
Ćwiczenia _____________________________________________________________ 111
Złożone zmienne ______________________________________________ 113
Tablice ___________________________________________________________________ 113
5
Proste tablice ____________________________________________________________ 113
Inicjalizacja tablicy______________________________________________________ 115
Przykład wykorzystania tablicy ____________________________________________ 116
Więcej wymiarów _________________________________________________________ 119
Deklaracja i inicjalizacja__________________________________________________ 120
Tablice w tablicy________________________________________________________ 121
Nowe typy danych __________________________________________________________ 123
Wyliczania nadszedł czas ___________________________________________________ 123
Przydatność praktyczna __________________________________________________ 123
Definiowanie typu wyliczeniowego __________________________________________ 125
Użycie typu wyliczeniowego _______________________________________________ 126
Zastosowania __________________________________________________________ 126
Kompleksowe typy ________________________________________________________ 128
Typy strukturalne i ich definiowanie ________________________________________ 128
Struktury w akcji _______________________________________________________ 129
Odrobina formalizmu - nie zaszkodzi! _______________________________________ 131
Przykład wykorzystania struktury __________________________________________ 131
Unie _________________________________________________________________ 136
Większy projekt ____________________________________________________________ 137
Projektowanie____________________________________________________________ 138
Struktury danych w aplikacji ______________________________________________ 138
Działanie programu _____________________________________________________ 139
Interfejs użytkownika____________________________________________________ 141
Kodowanie ______________________________________________________________ 142
Kilka modułów i własne nagłówki___________________________________________ 142
Treść pliku nagłówkowego ________________________________________________ 144
Właściwy kod gry _______________________________________________________ 145
Zaczynamy __________________________________________________________________ 146
Deklarujemy zmienne __________________________________________________________ 147
Funkcja
StartGry()
___________________________________________________________ 147
Funkcja
Ruch()
_______________________________________________________________ 147
Funkcja
RysujPlansze()
_______________________________________________________ 152
Funkcja
main()
, czyli składamy program ____________________________________ 155
Uroki kompilacji ________________________________________________________ 156
Uruchamiamy aplikację __________________________________________________ 158
Wnioski _________________________________________________________________ 158
Dziwaczne projektowanie_________________________________________________ 158
Dość skomplikowane algorytmy____________________________________________ 159
Organizacja kodu _______________________________________________________ 159
Podsumowanie _____________________________________________________________ 159
Pytania i zadania _________________________________________________________ 160
Pytania _______________________________________________________________ 160
Ćwiczenia _____________________________________________________________ 160
Obiekty______________________________________________________ 161
Przedstawiamy klasy i obiekty _________________________________________________ 161
Skrawek historii __________________________________________________________ 161
Mało zachęcające początki ________________________________________________ 161
Wyższy poziom_________________________________________________________ 162
Skostniałe standardy ____________________________________________________ 163
Obiektów czar__________________________________________________________ 163
Co dalej? _____________________________________________________________ 163
Pierwszy kontakt _________________________________________________________ 164
Obiektowy świat ________________________________________________________ 164
Wszystko jest obiektem ________________________________________________________ 164
Określenie obiektu_____________________________________________________________ 165
Obiekt obiektowi nierówny ______________________________________________________ 166
Co na to C++? _________________________________________________________ 167
Definiowanie klas _____________________________________________________________ 167
Implementacja metod __________________________________________________________ 168
Tworzenie obiektów____________________________________________________________ 168
Obiekty i klasy w C++ _______________________________________________________ 169
Klasa jako typ obiektowy ___________________________________________________ 169
Dwa etapy określania klasy _______________________________________________ 170
Plik z chomika:
grzegorj
Inne pliki z tego folderu:
Allain.Alex-C++.Przewodnik.Dla.Poczatkujacych.2014-iNTERnet.nfo
(11 KB)
APP_Sortowanie_Szybkie.PDF
(103 KB)
Bjarne.Stroustrup-Jezyk.C++.6Ed.(2002)(988s).pdf
(44134 KB)
C i C++ Bezpieczne programowanie.pdf
(457 KB)
C++ - Grafika.pdf
(394 KB)
Inne foldery tego chomika:
__Programy
_Asembler
_Asp
_Basic
_C
Zgłoś jeśli
naruszono regulamin