Gratulacje, kretor Mój egrafik został zakończony. Jeżeli rejestrowałeś się w tym kreatorze, pamiętaj aby kliknąć w link potwierdzający, wysłany na Twój adres email. Jeżeli tego nie zrobisz, nie będziesz mógł się zalogować, a dodane przez Ciebie wpisy nie zostaną opublikowane.
Nadludzkim wysiłkiem dobrnęliśmy wreszcie do samego końca tego niezwykle długiego i niezwykle ważnego rozdziału. Poznałeś tutaj większość szczegółów dotyczących zmiennych oraz trzech podstawowych typów wyrażeń. Cały ten bagaż będzie ci bardzo przydatny w dalszym kodowaniu, choć na razie możesz być o tym nieszczególnie przekonany :)
Uzupełnieniem wiadomości zawartych w tym rozdziale może być Dodatek B, Reprezentacja danych w pamięci . Jeżeli czujesz się na siłach, to zachęcam do jego przeczytania :)
W kolejnym rozdziale nauczysz się korzystania ze złożonych struktur danych, stanowiących chleb powszedni w poważnym kodowaniu - także gier.
Pytania i zadania
Nieubłaganie zbliża się starcie z pracą domową ;) Postaraj się zatem odpowiedzieć na poniższe pytania oraz wykonać zadania.
Pytania
Co to jest zasięg zmiennej? Czym się różni zakres lokalny od modułowego?
Na czym polega zjawisko przesłaniania nazw?
Omów działanie poznanych modyfikatorów zmiennych.
Dlaczego zmienne bez znaku mogą przechowywać większe wartości dodatnie niż zmienne ze znakiem?
Na czym polega rzutowanie i jakiego operatora należy doń używać?
Który plik nagłówkowy zawiera deklaracje funkcji matematycznych?
Jak nazywamy łączenie dwóch napisów w jeden?
Opisz funkcjonowanie operatorów logicznych oraz operatora warunkowego
Ćwiczenia
Napisz program, w którym przypiszesz wartość 3000000000 (trzy miliardy) do dwóch zmiennych: jednej typu int , drugiej typu unsigned int . Następnie wyświetl wartości obu zmiennych. Co stwierdzasz?
( Trudne ) Czy potrafisz to wyjaśnić? Wskazówka : zapoznaj się z podrozdziałem o liczbach całkowitych w Dodatku B.
Wymyśl nowe nazwy dla typów short int oraz long int i zastosuj je w programie przykładowym, ilustrującym działanie operatora sizeof .
Zmodyfikuj nieco program wyświetlający tablicę znaków ANSI:
zamień cztery wiersze wyświetlające pojedynczy rząd znaków na jedną pętlę for
zastąp rzutowanie w stylu C operatorem static_cast
( Trudniejsze ) spraw, żeby program czekał na dowolny klawisz po całkowitym zapełnieniu okna konsoli - tak, żeby użytkownik mógł spokojnie przeglądnąć całą tablicę Wskazówka : możesz założyć "na sztywno", że konsola mieści 24 wiersze
Stwórz aplikację podobną do przykładu LinearEq z poprzedniego rozdziału, tyle że rozwiązującą równania kwadratowe. Pamiętaj, aby uwzględnić wartość współczynników, przy których równanie staje się liniowe (możesz wtedy użyć kodu ze wspomnianego przykładu). Wskazówka : jeżeli nie pamiętasz sposobu rozwiązywania równań kwadratowych (wstyd! :P), możesz zajrzeć na przykład do encyklopedii WIEM .
Przyjrzyj się programowi sprawdzającemu, czy dana liczba jest pierwsza i spróbuj zastąpić występującą tam instrukcję if - else operatorem warunkowym ?: .