Jerzy Kotowski Politechnika Wrocławska Informatyka I Wykład 3 - Nazwy - Typy i rozmiary danych - Zakłócenia numeryczne - Stałe Jerzy Kotowski Politechnika Wrocławska
NAZWY Nazwy mają: dane, funkcje, etykiety, etc. Ala = ma(_kota); Nazwy tworzy się z liter, cyfr oraz znaku podkreślenia. Dopuszczalne nazwy zmiennych: Cx_1 a_1_2 Ala_ma_kota Liczba_zmiennych xyz xYz XyZ Uwaga!! Język C prawie wszędzie odróżnia małe litery od dużych => wszystkie wymienione powyżej nazwy są różne!!
NAZWY c.d. Ograniczenia 1Ala ERROR!!! _1Ala ERROR!!! ___Ala OK!!! Pierwszy znak nie może być cyfrą 1Ala ERROR!!! Pierwszy znak może być znakiem podkreślenia Po znakach podkreślenia na początku nazwy nie może być cyfra _1Ala ERROR!!! ___Ala OK!!! Nazwa zmiennej (identifier) może mieć dowolną długość. Język C odróżnia zmienne po określonej liczbie pierwszych znaków (w produktach Borlanda jest to standardowo 32 - identifier length)
short long signed unsigned TYPY I ROZMIARY DANYCH Podstawowe typy danych char int float double Kwalifikatory short long signed unsigned Przykład (deklaracji zmiennej) unsigned char Ala; Operator jednoargumentowy sizeof long double Ula; int x = sizeof(long double); x = sizeof(Ula);
ZAKRESY WARTOŚCI ZMIENNYCH dla implementacji TURBO C++ 1.0
ZAKRESY WARTOŚCI ZMIENNYCH dla implementacji TURBO C++ 1 ZAKRESY WARTOŚCI ZMIENNYCH dla implementacji TURBO C++ 1.0 Obiekty typu rzeczywistego Przykład char i; for(i=0;i<200;i++) printf("\n%d",i); To jest nieskończona pętla
ZAKŁÓCENIA NUMERYCZNE Skończona precyzja zapisu może doprowadzić do następującej sytuacji 1.e6 + 1.e-6 - 1.e6 = 0 1.e6 - 1.e6 +1.e-6 = 1.e-6 Czyli: 1. komputer źle liczy 2. dodawanie w komputerze nie jest przemienne Zjawisko nosi nazwę szumów numerycznych (zakłócenia numeryczne) i jest bardzo trudne do uniknięcia. Przy analizie złożonych algorytmów obliczeniowych sprawdza się w szczególności , czy szumy się kumulują czy też się wytłumiają.
STAŁE Stałe są to napisy reprezentujące dane, z których zapisu (w ramach ustalonej interpretacji wynikają wszystkie własności danych, w tym ich wartości. Stałe dzielimy na: liczbowe, znakowe i łańcuchowe. Stałe liczbowe mogą być dwóch typów: - całkowitoliczbowego lub - zmiennopozycyjnego. Stałe całkowitoliczbowe dzielimy na: - dziesiętne, - ósemkowe, - szesnastkowe i - długie.
STAŁE CAŁKOWITOLICZBOWE y=128; stała typu dziesiętnego y=0377; ósemkowego y=0xFF; szesnastkowego y=0XFF; x może być duże lub małe y=0xFFL; stała długa, zapisana tak jak liczba typu long. CIEKAWOSTKI y=0128; ERROR!!! Ile to jest?: y=50/8; dokładnie 6. Ile to jest?: y=100/010; y=12