[ Pobierz całość w formacie PDF ]
nemu. Wartość 0 oznacza poprawne zakończenie działania programu. Wszystkie przy-
kłady w tej książce zwracają oczywiście wartość 0.
Wartości zwracane są o wiele bardziej przydatne w przypadku innych rodzajów
funkcji, o których dowiesz się z lektury rozdziału 4. Zwracanie wartości w funkcji
main jest jedną z tych denerwujących rzeczy, które wydają się początkowo kom-
pletnie bezużyteczne, ale które po prostu musisz robić. Zdarza się jednak, że nie-
które programy zwracają wartości inne od 0 w celu poinformowania o wystąpieniu
określonego problemu. Na razie przyjmij, że instrukcja powodująca zwracanie 0
przez funkcję main jest jedną z tych rzeczy, które musisz wstawić do programu, aby
mieć pewność, że jest on poprawny. Dlaczego muszę to robić? , spyta dziecko.
Bo tak powiedziałem , odpowie ojciec.
WICZENIA
wiczenie 1.2.1. Usuń znaki nowej linii z przykładu zaprezentowanego w tym pod-
rozdziale, ale umieść dodatkowe znaki spacji, aby żadne ze słów występujących w zda-
niu nie było sklejone z innym. (Wskazówka: pamiętaj, że C++ nie dodaje automa-
tycznie żadnych pustych znaków pomiędzy wyjściowymi łańcuchami tekstowymi).
Wynikiem tego działania powinien być następujący tekst:
Jestem Blaxxon, komputer o boskiej mocy. Bój się mnie!
wiczenie 1.2.2. Zmień przykładowy kod w taki sposób, aby wyświetlał dodatkowe
puste wiersze między każdymi dwoma liniami tekstu. Innymi słowy, powinieneś spra-
wić, aby wynik działania programu był wyświetlany z podwójnym odstępem między
wierszami. (Wskazówka: wyświetl dwa znaki nowej linii po każdym fragmencie łań-
cucha tekstowego).
42 C++ bez obaw
Co to jest łańcuch tekstowy?
Od samego początku używałem wyłącznie tekstów umieszczonych w cudzy-
słowie, tak jak na przykład w następującym wyrażeniu:
cout
Wszystko, co znajduje się poza znakami cudzysłowu, jest częścią składni C++.
To, co umieszczono między nimi, stanowi dane.
Tak naprawdę wszystkie dane przechowywane w Twoim komputerze mają
ostatecznie postać numeryczną. Zależnie jednak od tego, w jaki sposób
dane te są używane, mogą być interpretowane jako łańcuchy możliwych do
wydrukowania znaków tekstowych. Z tym przypadkiem mamy tu właśnie do
czynienia.
Mogłeś gdzieś kiedyś usłyszeć o kodzie ASCII. Ciąg "Nie bój się, C++
jest tutaj"" jest przykładem danych wykorzystujących ten kod. Znaki 'N',
'i', 'e', ' ', 'b' i kolejne są przechowywane w postaci oddzielnych baj-
tów, z których każdy reprezentuje pojedynczy znak możliwy do wydrukowa-
nia lub wyświetlenia na ekranie komputera.
W rozdziale 7. napiszę dużo więcej na temat tego typu danych. Ważną rzeczą,
którą powinieneś teraz zapamiętać, jest to, że tekst znajdujący się w cu-
dzysłowie jest traktowany jako dana, w przeciwieństwie do komend języka.
Dana tego typu uznawana jest za łańcuch tekstowy (znakowy), który w żar-
gonie informatycznym bywa również określany angielskim terminem string.
Przechowywanie danych
zmienne w C++
Język C++ nie byłby zbyt użyteczny, gdyby wszystko, co możesz dzięki niemu zro-
bić, ograniczało się do wyświetlania głupich komunikatów na ekranie komputera. Za-
daniem programu jest bowiem przeważnie pobranie skądś nowych danych skądś
oznacza zwykle z wejścia konsoli, czyli od użytkownika końcowego a następnie
przeprowadzenie na nich jakichś interesujących działań.
Operacje te wymagają zmiennych stanowiących miejsca, w których możesz umiesz-
czać dane. O zmiennych możesz myśleć jako o magicznych pudełkach przechowują-
cych wartości. Program w czasie swojego działania może wedle potrzeby odczyty-
wać, zapisywać lub zmieniać te wartości. Zaprezentowany niżej przykład korzysta ze
zmiennych o nazwach ctemp i ftemp w celu przechowywania wartości temperatur wy-
rażonych odpowiednio w skali Celsjusza i w skali Fahrenheita.
Rozdział 1. f& Twoje pierwsze programy w C++ 43
W jaki sposób wartości mogą znalezć się w zmiennych? Jedną z metod pobierania
danych jest odczytywanie wejścia konsoli. W C++ możesz tego dokonać, korzystając
z obiektu cin, który ogólnie rzecz biorąc reprezentuje właśnie wejście konsoli.
Wraz z obiektem cin powinieneś używać operatora strumienia, który przedstawia prze-
pływ danych ku prawej stronie.
Oto, co stanie się, w efekcie działania tego polecenia. W rzeczywistości proces ten
jest nieco bardziej skomplikowany i wiąże się z nim sprawdzanie bufora wejścia, ale
punkty znajdujące się poniżej opisują w ogólny sposób wszystkie operacje, które mają
znaczenie w przypadku naszego prostego programu:
1. Wykonywanie programu zostaje zawieszone i oczekuje on na wprowadzenie
przez użytkownika liczby.
2. Użytkownik wpisuje liczbę i naciska klawisz Enter.
3. Liczba zostaje zaakceptowana i umieszczona (w naszym przypadku)
w zmiennej o nazwie ctemp.
4. Program kończy swoje działanie.
Jeśli więc dobrze zastanowisz się, co staje się w odpowiedzi na poniższą instrukcję,
zobaczysz, że dzieje się całkiem sporo:
cin >> ctemp;
Zanim jednak będziesz mógł skorzystać ze zmiennej w C++, będziesz musiał ją zade-
klarować. Zasada ta ma charakter bezwzględny i jest jedną z cech, które odróżniają
C++ od innych języków, takich jak na przykład Basic, który jest dość niedbały w tej
kwestii i nie wymaga żadnych deklaracji. Całe pokolenia programistów pracujących
w Basicu potrzaskały głowy o swoje terminale, gdy dowiedziały się, że masa błędów
w ich programach wynikała ze swobody, z jaką język Basic traktuje kwestie deklaro-
wania zmiennych.
W języku C++ musisz deklarować każdą zmienną, zanim będziesz mógł jej użyć.
Aby zadeklarować zmienną, będziesz najpierw musiał wiedzieć, z jakiego typu da-
nych skorzystać. Kwestia ta ma podstawowe znaczenie w C++, podobnie jak w więk-
szości innych języków programowania.
44 C++ bez obaw
Wprowadzenie do typów danych
Zmienna jest czymś, o czym możesz myśleć jako o magicznym pudełku, w którym
umieszczasz informacje lub raczej dane. Ale jakiego rodzaju dane mogą się w nim
znajdować?
Wszystkie dane są w ostateczności zapisywane przez komputer w postaci cyfrowej,
jednak w przypadku każdej z nich stosowany jest jeden z trzech podstawowych for-
[ Pobierz całość w formacie PDF ]