Andrzej Stasiewicz c++. ćwiczenia praktyczne. wydanie ii full.pdf

(4228 KB) Pobierz
6
C++.
Ć
wiczenia praktyczne
Rozdział 6. Algorytmy
Zwrotnica if() … else …
Zwrotnica switch{...}
Pętla for( ...; ...; ...)
Pętla while(...)
Pętla do {...} while(...)
Instrukcje break i continue
Podsumowanie
51
51
57
63
68
71
73
78
Rozdział 7. Funkcje
Deklarowanie funkcji
Definiowanie funkcji
Argumenty funkcji i referencja
Podsumowanie
79
79
81
88
93
Rozdział 8. Dane
Typy danych
Deklarowanie i inicjowanie prostych danych
Deklarowanie i inicjowanie danych tablicowych
Deklarowanie i inicjowanie danych wskaźnikowych
Operacje na danych
Podsumowanie
95
95
98
100
105
110
117
Rozdział 9. Klasy i obiekty
Klasa jako nowy typ danych
Wewnętrzny ustrój klasy — dane
Wewnętrzny ustrój klasy — algorytmy
Pewien specjalny algorytm, zwany konstruktorem
Podsumowanie
119
119
121
125
129
137
Rozdział 10. Kontenery na dane
Podsumowanie
139
149
Zakończenie
150
3
Pliki
źródłowe
w języku C++
Pliki jako nośniki programów
Treść programu komputerowego zazwyczaj umieszczamy w plikach
dyskowych. Zawartość tych plików będzie odczytywana przez kompi-
lator języka C++ i tłumaczona na ciąg binarnych poleceń dla procesora
komputera.
Programowanie nie zawsze jest równoznaczne z zapisywaniem czegoś
w plikach — np. w przemyśle spotykamy się z sytuacjami wprowa-
dzania programu do komputera za pomocą odpowiedniego ustawiania
mikroprzełączników. Kiedyś powszechne było umieszczanie programu
na odpowiedniej ilości dziurkowanych kart.
Przygotowywanie programu w formie zapisów umieszczanych w pli-
kach jest bardzo wygodne, tanie i uniwersalne. Zawsze można taki
program odtworzyć, poprawić, zlecić jego wykonanie, zarchiwizować
na całe lata.
Zapis programu dla komputera zazwyczaj ma strukturę zwykłego tek-
stu — mamy zatem do czynienia z plikami tekstowymi. Rzeczywiście,
program napisany w zdecydowanej większości znanych języków daje
24
C++.
Ć
wiczenia praktyczne
się otworzyć i przeczytać za pomocą zwykłego Notatnika. Jest to do-
datkowe uproszczenie sposobu kodowania i przechowywania współ-
czesnych programów.
Skoro pliki
źródłowe
są zwyczajnymi plikami tekstowymi, do progra-
mowania wystarczy najzwyklejszy edytor tekstowy — np. popularny
Notatnik. Jednak większość współczesnych
środowisk
programistycz-
nych udostępnia programiście własne, wbudowane edytory. Są to edy-
tory tekstowe, ale „znające” składnię języka i na przykład odpowied-
nio kolorujące niektóre frazy języka. Praca nad programem w takim
edytorze jest prawdziwą przyjemnością! Pamiętajmy jednak,
że
pora-
dzilibyśmy sobie także, dysponując zwykłym Notatnikiem.
Nośniki programów w C++
W języku C++ przyjęto powszechnie konwencję,
że
głównym nośni-
kiem algorytmów jest plik o rozszerzeniu
cpp,
czyli np. plik o nazwie
test.cpp.
Spotkamy się także z plikami o rozszerzeniu
h,
czyli np. o na-
zwie
test.h,
które są nośnikami nie tyle algorytmów, ile ich zapowiedzi
lub
ściślej
— deklaracji. Wiadomo, skąd pochodzi nazwa
cpp,
natomiast
literka
h
w nazwie pliku z deklaracjami wzięła się od słowa
header
— nagłówek.
Swoje programy będziemy spisywać w pliku o nazwie np.
test.cpp
lub
przyklad.cpp,
lub
cokolwiek.cpp.
Plik ten powinien mieć strukturę
zwykłego pliku tekstowego i mógłby być przygotowany w dowolnym
edytorze, potem odczytany przez kompilator języka C++, skompilo-
wany i uruchomiony.
Ć
W I C Z E N I E
3.1
Pliki
źródłowe
na dysku
Pliki
źródłowe
naszych programów:
1.
Po wykonaniu
ćwiczeń
z poprzedniego rozdziału na dysku
Twojego komputera powinny pojawić się ich pliki
źródłowe.
Odszukaj katalog, w którym
środowisko
DEV zapisało te pliki
(rysunek 3.1).
2.
Spróbuj otworzyć swoje pliki
źródłowe
za pomocą zwykłego
Notatnika.
Rozdzia
ł
3. • Pliki
ź
ród
ł
owe w j
ę
zyku C++
Rysunek 3.1.
Oto rzut oka na katalog
roboczy — widzimy
tutaj dwa pliki
źródłowe
(są to programy napisane
w poprzednim rozdziale)
i utworzone w wyniku
ich kompilacji dwa
finalne pliki
exe,
nadające się
do uruchamiania
w systemie Windows
25
Najprostsze programy w całości spisuje się w pliku
cpp.
Jeśli zachodzi
konieczność zadeklarowania czegokolwiek, odpowiednie frazy umiesz-
cza się raczej w górnej części tego pliku (gdzieś przed zasadniczą funk-
cją
main()
) niż w oddzielnym pliku
h.
Umieszczanie deklaracji w pliku
nagłówkowym jest wyrazem profesjonalizmu programisty, jego wyso-
kiej kultury, dobrego smaku i zamiłowania do porządku. Jednak drob-
niutkie algorytmy z całym spokojem możemy umieszczać wyłącznie
w pliku
cpp.
Postarajmy się zapamiętać,
że
język C++ w najlepszym, profesjonal-
nym wydaniu operuje parą plików
cpp
i
h
oraz
że
para ta nazywa się
modułem.
Dyrektywa #include
i scalanie plików cpp i h
A oto następny szczegół, na który powinniśmy zwrócić uwagę. Skoro
język C++ wprowadza do gry dwa pliki
źródłowe,
tym samym roz-
dzielając tak zwane
deklaracje
(zapowiedzi algorytmów) od tak zwa-
nych
implementacji
(algorytmów), to w strukturze języka powinna
znaleźć się dyrektywa
łączenia
pary takich plików w całość. Dla po-
równania — w Pascalu, Fortranie czy Basicu problem ten nie wy-
stępuje, bo zarówno deklaracje, jak i implementacje umieszczamy
w jednym i tym samym pliku.
Zgłoś jeśli naruszono regulamin