Kris Jamsa Wygraj Z C++ lekcja 4


Lekcja 2LEKCJA 2
Przyjrzyjmy się bliżej językowi C++
Podczas Lekcji 1 utworzyłeś kilka programów w C++. Na razie nie chodziło nam o
to, abyś zrozumiał instrukcje tego języka, ale raczej abyś poznał proces
tworzenia i kompilowania programów w C++. Podczas bieżącej lekcji po raz
pierwszy bliżej przyjrzysz się instrukcjom tworzącym program w C++. Przekonasz
się, że większość programów w C++ ma ten sam format z jedną lub większą liczbą
instrukcji #include na początku, dalej linią składającą się z void main(void), a
następnie zbiorem instrukcji pogrupowanych przez lewostronne i prawostronne
klamerki { } . Podczas tej lekcji dowiesz się, że te z pozoru niezrozumiałe
instrukcje są tak naprawdę bardzo proste. Po jej przerobieniu będziesz znał
następujące zagadnienia kluczowe:
Dzięki instrukcji #include możesz korzystać z plików nagłówkowych,
zawierających instrukcje C++ lub definicje programu.
Główna część programu w C++ zaczyna się od instrukcji void main(void).
Program składa się z jednej lub większej liczby funkcji utworzonych przez
powiązane między sobą instrukcje, które wykonują określone zadanie.
Przy wyświetlaniu wyjścia na ekran twoje programy będą w obszerny sposób
korzystać ze strumienia wyjściowego cout.
Tworząc programy w C++, operujesz w rzeczywistości instrukcjami. Podczas
dalszych lekcji poznasz instrukcję przypisania, która przypisuje wartości
zmiennym, instrukcję if, dzięki której program może podejmować decyzje itd. Na
razie będziemy po prostu mówić o zawartości programu jako o instrukcjach
programu.


Przyjrzyjmy się instrukcjom programu
Podczas Lekcji l utworzyłeś w języku C++ program pod nazwą PIERWSZY.CPP, który
zawierał następujące instrukcje:
#include
void main (void)
{
cout << "Wygraj z C++!";
}

W tym przypadku program składa się z trzech instrukcji. Klamerki (zwane
symbolami grupowania) grupują powiązane ze sobą instrukcje:

Omówimy teraz szczegółowo każdą z instrukcji programu.


Znaczenie instrukcji #include
Każdy z programów przedstawionych w Lekcji l zaczynał się od następującej
instrukcji #include:
#include

Przy tworzeniu programów w C++ możesz korzystać z instrukcji i definicji, które
daje Ci kompilator. Podczas kompilacji programu instrukcja #include nakazuje
kompilatorowi, by włączył zawartość podanego pliku na początek twojego programu.
W naszym przypadku kompilator włączy zawartość pliku iostream.h.
Pliki z rozszerzeniem h, włączane na początku (w nagłówku) programu, noszą nazwę
plików nagłówkowych. Gdy zajrzysz do katalogu zawierającego pliki kompilatora,
powinieneś tam znaleźć podkatalog INCLUDE, w którym jest wiele różnych plików
nagłówkowych. Każdy plik nagłówkowy zawiera definicje potrzebne kompilatorowi do
wykonywania różnych operacji. Na przykład, jest plik nagłówkowy , który daje nam
definicje operacji matematycznych, inny definiuje operacje na plikach itd.
Pliki nagłówkowe są w formacie ASCII, a więc możemy wyświetlać ich zawartość na
ekranie lub je drukować. Na razie nie zawracaj sobie głowy tym, co w nich jest.
Natomiast przyjmij po prostu, że dzięki instrukcji #include możesz z nich
korzystać. We wszystkich programach w C++, które przedstawimy w tej książce,
znajdziesz instrukcje #include, które musisz umieścić w swoich programach.
Przyjrzyjmy się plikom nagłówkowym C++
Każdy program w C++, który utworzysz, będzie się zaczynał od jednej lub większej
liczby instrukcji #include. Te instrukcje nakazują kompilatorowi włączenie do
programu zawartości podanego pliku (pliku nagłówkowego), tak jak gdyby program
zawierał to, co jest na danym pliku. Pliki nagłówkowe zawierają definicje
potrzebne w programie do różnego typu operacji. Są pliki nagłówkowe definiujące
operacje wejścia/wyjścia C++, inne definiują funkcje usługowe systemu
operacyjnego (np. zwracające aktualną datę i godzinę) i wiele innych.
Pliki nagłówkowe tak samo jak programy w C++ są plikami ASCII, które można
wyświetlać czy drukować. Aby lepiej zrozumieć co zawierają, wydrukuj teraz plik
nagłówkowy iostream.h, z którego będziemy korzystać we wszystkich
przedstawionych w książce przykładach. Powinieneś go znaleźć w podkatalogu
INCLUDE znajdującym się w katalogu zawierającym pliki kompilatora C++. Przy
użyciu edytora tekstów możesz wyświetlić zawartość pliku nagłówkowego, a
następnie go wydrukuj.
Uwaga: Nigdy nie zmieniaj zawartości plików nagłówkowych. Jeśli to zrobisz,
kompilator może sygnalizować błędy we wszystkich programach, jakie tworzysz.


Znaczenie instrukcji void main(void)
Gdy tworzysz program w C++, twój plik źródłowy może zawierać wiele instrukcji.
Jak zobaczysz, porządek w jakim te instrukcje występują w programie
niekoniecznie jest zgodny z kolejnością, w jakiej będą one wykonywane podczas
uruchamiania programu. Każdy program w C++ ma jedno miejsce, w którym zaczyna
się jego wykonywanie, instrukcję main programu. W programach w C++ instrukcja
void main(void) określa miejsce początkowe programu.
Gdy twoje programy będą większe i bardziej złożone, będziesz je dzielić na
mniejsze i łatwiejsze do opanowania części. Wtedy instrukcja void main(void)
będzie określać grupę głównych instrukcji, czyli część programu wykonywaną na
początku.
Znaczenie instrukcji main programu
Pliki źródłowe C++ mogą zawierać wiele instrukcji. Podczas uruchamiania programu
instrukcja void main(void) jest instrukcją main programu, czyli pierwszą
instrukcją, jaką program wykonuje. Twoje programy w C++ muszą zawierać jedną i
tylko jedną instrukcję zawierającą nazwę main.
Przy czytaniu dużych programów w C++ szukaj instrukcji zawierającej nazwę main,
aby ustalić, w którym miejscu zaczyna się wykonywanie programu.


Znaczenie słowa void
Gdy twoje programy staną się bardziej złożone, będziesz je dzielić na mniejsze i
łatwiejsze do opanowania części zwane funkcjami. Funkcja to po prostu zestaw
instrukcji programu, które realizują określone zadanie. Na przykład, jeśli
tworzysz program listy płac, to możesz utworzyć funkcję pod nazwą zarobki, która
oblicza pensję pracownika. Analogicznie przy pisaniu programu matematycznego
zdefiniujesz funkcję pierwiastek_kwadratowy czy potęga, która będzie zwracać
wynik określonego działania matematycznego. Gdy używasz funkcji w swoim
programie, to wykonuje ona swoje zadanie, a następnie zwraca wynik do programu.
Każda funkcja w programie ma niepowtarzalną nazwę. Ponadto każdy program ma co
najmniej jedną funkcję. Programy przedstawione w Lekcji l miały jedną funkcję
pod nazwą main. Podczas Lekcji 9 omówimy funkcje szczegółowo. A na razie
powinieneś po prostu zrozumieć, że funkcja składa się z jednej lub większej
liczby powiązanych instrukcji, które realizują określone zadanie.
Przyglądając się programom w C++ będziesz często napotykać słowo void. W
programach oznacza ono, że dana funkcja nie zwraca żadnej wartości lub nie
pobiera żadnych wartości. Na przykład, jeśli pracujesz w środowisku MS-DOS lub
UNIX, to programy mogą przy powrocie do systemu operacyjnego zwracać wartość,
która określa czy program zakończył swe działanie powodzeniem i którą można
sprawdzać w plikach typu BAT. W środowisku MS-DOS pliki BAT badają wartość
zwracaną przez program przy użyciu polecenia IF ERRORLEVEL. Na przykład,
przypuśćmy, że program LISTA.EXE zwraca przy wyjściu do systemu operacyjnego
jedną z następujących wartości, zależną od powodzenia jego działania:
Zwracana wartośćZnaczenie
0
1
2Powodzenie
Brak Pliku
Brak papieru w drukarce

W pliku BAT MS-DOSa możesz w następujący sposób badać, czy program zakończył się
powodzeniem przy użyciu polecenia ERRORLEVEL:
LISTA
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 GOTO POWODZENIE
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO BRAK_PLIKU
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO BRAK_PAPIERU
REM Inne instrukcje

Większość programów, które utworzysz, czytając tę książkę, nie będzie zwracać do
systemu operacyjnego żadnej wartości. W związku z tym przed słowem main będziesz
pisać słowo void, tak jak tutaj:

Podczas dalszych lekcji dowiesz się, że programy mogą korzystać z informacji
(takiej jak nazwa pliku), którą użytkownik podaje w linii poleceń przy
wywoływaniu programu. Gdy program nie używa informacji z linii poleceń, to
umieszczasz słowo void w nawiasach za słowem main, tak jak tutaj:
void main(void)
Bardziej złożone programy być może będą zwracać wartości do systemu operacyjnego
albo przyjmować parametry linii poleceń. Na razie używaj w programach słów void
i main tak jak tutaj pokazaliśmy.


Znaczenie instrukcji grupowania { }
Podczas pisania bardziej złożonych programów będziesz chciał, żeby komputer
wykonywał jakiś zbiór instrukcji określoną liczbę razy, a inny ciąg instrukcji
wykonywał tylko, jeśli spełniony jest określony warunek. W pierwszym przypadku
komputer może wykonywać 100 razy ten sam zbiór instrukcji, aby dodać wyniki z
egzaminu dla 100 studentów. W drugim przypadku komputer może wyświetlać na
ekranie pewien komunikat, jeśli wszyscy studenci zdali, a inny jeśli są tacy,
którzy nie zdali. W swoich programach w C++ będziesz przy użyciu lewej i prawej
klamerki { } grupował powiązane ze sobą instrukcje. W prostych programach
przedstawionych w pierwszych lekcjach z tej książki te symbole grupują
instrukcje programu głównego.


Wyświetlanie wyjścia na ekran przy użyciu cout
Każdy z programów w C++, które utworzyliśmy podczas lekcji 1, wyświetlał na
ekranie komunikat. Aby wyświetlić informację, pisaliśmy cout i dwa znaki
mniejszości (<<), tak jak tutaj:
cout << "Cześć C++";
Słowo cout oznacza strumień wyjściowy, który C++ przypisuje do standardowego
urządzenia wyjściowego systemu operacyjnego. Domyślnie system operacyjny
przypisuje standardowe urządzenie wyjściowe do ekranu. Aby wyświetlić komunikat
na ekranie, po prostu należy zastosować symbol podwójnego znaku mniejszości
(operacja wstawiania) do strumienia wyjściowego cout. Podczas Lekcji 3 dowiesz
się, że możesz przy użyciu operatora wstawiania przesyłać na ekran znaki, liczby
i inne symbole.
Znaczenie strumienia wyjściowego cout
Jak pisaliśmy, programy w C++ wyświetlają komunikaty na ekranie przy uŻyciu
strumienia wyjściowego cout. Korzystając z tego strumienia traktuj go jak ciąg
znaków, które system operacyjny wyświetli na ekranie. Innymi słowy porządek, w
jakim program przesyła znaki do strumienia cout definiuje kolejność, w jakiej
będą one wyświetlone na ekranie. Na przykład, dla poniższych instrukcji
programu:
cout << "Ten komunikat pojawi się najpierw,";
cout << "a za nim ten komunikat";
system operacyjny wyświetli strumień znaków w sposób następujący.
Ten komunikat pojawi się najpierw, za nim ten komunikat
Nazwa operatora wstawiania (<<) jest związana z tym, że pozwala on programom
wstawiać znaki do strumienia wyjściowego.
Jak już wiemy, strumień wyjściowy cout standardowo odpowiada ekranowi. Innymi
słowy, gdy programy przesyłają wyjście na cout, to pojawia się ono na ekranie.
Ale przy użyciu operatorów kierunkowych wyjścia systemu operacyjnego możesz
przesyłać wyjście programu do drukarki czy pliku. Na przykład, poniższe
polecenie mówi systemowi MS-DOS, by przesłał wyjście programu PIERWSZY .EXE na
drukarkę, a nie na ekran.
C:\> PIERWSZY > PRN
Jak dowiesz się z Lekcji 3, C++ pozwala przy użyciu cout wypisywać znaki, liczby
całkowite, takie jak 1001 i liczby zmiennoprzecinkowe, takie jak 3.12345.
Podczas Lekcji 8 przedstawimy także strumień wejściowy C++ pod nazwą cin, przy
użyciu którego programy mogą wczytywać informację z klawiatury .


Zapamiętaj
Podczas tej lekcji przedstawiliśmy wiele elementów wspólnych, które występują w
programach w C++. Lekcja 3 pozwoli Ci nauczyć się jak przy użyciu strumienia
cout wyświetlać znaki, liczby całkowite i wartości zmiennoprzecinkowe. Zobaczysz
też w jaki sposób możesz formatować takie wyjście. Zanim jednak przejdziemy do
Lekcji 3 upewnij się, że jesteś za pan brat z następującymi zagadnieniami
kluczowymi:
Większość programów w C++ zaczyna się od instrukcji #include, która nakazuje
kompilatorowi włączyć do programu zawartość podanego pliku nagłówkowego.
Pliki nagłówkowe zawierają dołączane przez kompilator definicje, których
możesz używać w programie.
Plik źródłowy może składać się z wielu instrukcji. Instrukcja void main(void)
określa początek programu głównego, czyli pierwszą instrukcję wykonywaną przez
program.
W miarę jak twoje programy będą coraz bardziej złożone, będziesz grupować
powiązane ze sobą instrukcje w mniejsze i łatwiejsze do pojęcia części zwane
funkcjami. Do grupowania instrukcji programu służą lewa i prawa klamerka { }.
Większość programów w C++ przy użyciu strumienia wyjściowego cout wyświetla
informacje na ekranie. Ale korzystając z operatorów kierunkowych wyjścia
systemu operacyjnego możesz skierować wyjście strumienia cout do pliku,
urządzenia (np. drukarki), a nawet do innego programu.



WsteczSpis treściDalej



Wyszukiwarka