Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PODSTAWY PROGRAMOWANIA Przetwarzanie danych w C++.

Podobne prezentacje


Prezentacja na temat: "PODSTAWY PROGRAMOWANIA Przetwarzanie danych w C++."— Zapis prezentacji:

1 PODSTAWY PROGRAMOWANIA Przetwarzanie danych w C++

2 Podstawy tworzenia kodu w C++ Podstawy programowania - Przetwarzanie danych w C++  Case-sensitive czyli rozmiar ma znaczenie  Ignorowanie odstępów (whitespace - białe znaki)  Spacje  Tabulacje  Znaki nowej linii  Komentarze: symbol // lub para /* - */  Układ graficzny i wielkość liter w służbie czytelności  Konwencje  Układ graficzny  Nadawane nazwy  Język  Komentarze z grafiką

3 Kolejność kompilacji i wykonania Podstawy programowania - Przetwarzanie danych w C++  Podstawową zasadą programowania jest zapis poleceń w kolejności, w jakiej mają być wykonywane, od góry do dołu, a jeżeli kilka instrukcji znajduje się w jednej linii kodu: od lewej do prawej  Kolejność ta nie zawsze dotyczy całości pliku programu ze względu na strukturę programu w języku C++, można jednak założyć, że obowiązuje wewnątrz każdego wydzielonego bloku  Kompilacja: zgodna z kolejnością znaków w pliku, a więc od góry do dołu i od lewej do prawej

4 Dane i ich rodzaje Podstawy programowania - Przetwarzanie danych w C++  Pracę programu należy rozumieć jako przetwarzanie danych  Przykłady danych różnych rodzajów:  liczba  tekst  znak  adres w pamięci  data i czas  obraz, dźwięk, video  Kodowanie w postaci kombinacji (ciągu) bitów interpretowanych jako liczby  Sposób kodowania danych to reprezentacja

5 Typy danych w C++ Podstawy programowania - Przetwarzanie danych w C++  Wszystkie dane w programie muszą mieć określony typ definiujący jednoznacznie ich zapis w pamięci  Typy całkowite  Typy zmiennoprzecinkowe  Typ znakowy  Typy pochodne  Wskaźnik  Referencja  Typy złożone  Tablica  Rekord lub klasa  Unia  Pole bitowe

6 Typy całkowitoliczbowe Podstawy programowania - Przetwarzanie danych w C++  Stosowane do zapisu wartości niewymagających użycia ułamków; ilości, numerów porządkowych itp.  Typ int  Zakres liczb - modyfikatory: short, long typy: short int = short, long int = long  Określenie znaku - modyfikatory: signed, unsigned typy: signed int = signed unsigned int = unsigned signed/unsigned short [int] signed/unsigned long [int]  Typ znakowy char może być również traktowany jako liczba całkowita

7 Typy całkowite i ich zakresy Podstawy programowania - Przetwarzanie danych w C++  Rozmiar typu int zależy od kompilatora i z założenia powinien odpowiadać szerokości szyny danych komputera, (obecnie 32b)  Typy int, short i long domyślnie posiadają znak ( signed )  Dla typu char własność ta zależy od kompilatora Rozmiar Znak 1B = 8b char 2B = 16b short (int) 4B = 32b long (int) Ze znakiem signed Bez znaku unsigned

8 Typy zmiennoprzecinkowe Podstawy programowania - Przetwarzanie danych w C++  Zapis wartości zawierających ułamki lub zbyt dużych aby reprezentować je za pomocą typów całkowitych  Typy float, double i long double  Różnią się one precyzją zapisu i zakresem dopuszczalnych wartości oraz liczbą bajtów zajętej pamięci: TypRozmiarPrecyzjaZakres wartości float 4B7-8 cyfr  (1.5* * ) double 8B15-16 cyfr  ( 5* * ) long double 10B19-20 cyfr  ( 3.4* * )

9 Stałe liczbowe w programie Podstawy programowania - Przetwarzanie danych w C++  Liczby całkowite wpisane wprost w tekście programu traktowane są jako typ int, chyba że ich wartość wykracza poza zakres tego typu. Wtedy stosowany jest typ całkowity o większym zakresie (np. long lub int64 ) lub kompilacja kończy się błędem  Znak U po liczbie wymusza utworzenie stałej o typie nieznakowanym ( unsigned )  Znak L wymusza utworzenie stałej o typie long  Para znaków UL po liczbie wymusza utworzenie stałej o typie unsigned long  Liczba zawierająca kropkę dziesiętną lub wartość w tzw. notacji naukowej traktowana jest jako double

10 Stałe liczbowe - przykłady Podstawy programowania - Przetwarzanie danych w C++  100// int  U// unsigned int!  1L// long  (5mld)// int64!  50UL// unsigned long  // double  26.// double, 26.0 .5// double, 0.5  e25 // double, *10^25  1e6// double, 1 mln  5e-1// double, 0.5

11 Stałe ósemkowe i szesnastkowe Podstawy programowania - Przetwarzanie danych w C++  Liczby całkowite można podawać, oprócz postaci dziesiętnej, również w kodzie ósemkowym lub szesnastkowym  Stała całkowita rozpoczynająca się od 0 traktowana jest jako liczba ósemkowa, a od 0x jako szesnastkowa, np.  010 // 8  -077 // -63  0xff// 255  -0x10// -16

12 Zmienne Podstawy programowania - Przetwarzanie danych w C++  Jeżeli w programie zachodzi potrzeba zapamiętania pewnej wartości lub jej przetwarzania należy zarezerwować odpowiedni obszar w pamięci nadając mu nazwę oraz typ.  Obszar taki wraz z nazwą i typem nazywa się zmienną.  Zmienna zawsze zawiera wartość  Składnia deklaracji (utworzenia) zmiennej: typ nazwa_zmiennej; typ nazwa_zmiennej1, nazwa_zmiennej2,...;  Ograniczenia nazwy: litery wielkie i małe (bez polskich znaków), cyfry oraz znak ‘_’, nie może zaczynać się od cyfry, zwykle max. 32 znaki  Przykłady: int x; unsigned long _Bardzo_Dluga_Nazwa_Zmiennej; float Pole_Kola1, Pole_Kola2;

13 Korzystanie ze zmiennej Podstawy programowania - Przetwarzanie danych w C++  Zapamiętanie wartości w zmiennej odbywa się dzięki operatorowi przypisania = Składnia:zmienna = wartość;  Od chwili utworzenia zmiennej użycie jej nazwy (za wyjątkiem lewej strony przypisania) oznacza odczyt wartości w niej zapisanej  Przykłady int x,y;// utworzenie zmiennych x=25;// przypisanie wartości zmiennej x y=x;// odczyt wartości ze zmiennej x // i przypisanie tej wartości zmiennej y

14 Inicjalizacja zmiennej Podstawy programowania - Przetwarzanie danych w C++  Jeżeli chcemy nadać zmiennej pewną wartość początkową, możemy dokonać zwykłego przypisania po jej utworzeniu, np.: int x; x=5;  Możliwe jest jednak połączenie obu czynności czyli nadanie wartości zmiennej już w chwili tworzenia - inicjalizacja, np.: int x=5; float f, d=0.5; long a1=100L, a2, a3=5;  Powoduje to skrócenie zapisu, a w niektórych przypadkach może być jedyną szansą nadania wartości zmiennej (np. zmienne typu const )

15 Wyrażenia Podstawy programowania - Przetwarzanie danych w C++  Wyrażenie to ciąg symboli, któremu w danej chwili działania programu można przypisać konkretną wartość określonego typu  Do budowy wyrażeń używa się operatorów oraz m.in. stałych i zmiennych odgrywających rolę operandów  Przykłady wyrażeń: 1 x // wyrażenia bez operatora -a 2*x+(a-1) // działania arytmetyczne a>1 a==x+1 // relacje x &&(a>1) // działania logiczne

16 Operatory Podstawy programowania - Przetwarzanie danych w C++  Operator to symbol oznaczający wykonanie pewnego działania. Obiektem działania jest symbol lub symbole sąsiadujące z operatorem, zwane operandami.  Operatory arytmetyczne jednoargumentowe: + - Przykłady: -a +b// ‘+’ nie daje efektu  Operatory arytmetyczne dwuargumentowe: + - * / % (tylko całkowite)  Przykłady: a+b x-y 2*p rok/12.0 // dzielenie „arytmetyczne” 10/3 10%3 // dzielenie całkowite i reszta

17 Typ wyniku działań arytmetycznych Podstawy programowania - Przetwarzanie danych w C++  Jeżeli operandy działań arytmetycznych są całkowite, wynik jest typu int, chyba że jeden z operandów był typu long  Jeżeli chociaż jeden z operandów był zmiennoprzecinkowy, wynik jest zmiennoprzecinkowy (takiego typu jak ten operand)  Jeżeli zakres wartości typów operandów jest różny, wynik posiada typ o zakresie odpowiadającym większemu z zakresów operandów  Przykłady: short x; float f; x+2// short +int = int // int + double = double f // float + double = double f + 1// float + int = float 2 * 1L// int + long= long

18 Operator konwersji Podstawy programowania - Przetwarzanie danych w C++  Opisane wyżej sytuacje dotyczą tzw. konwersji niejawnych czyli zmian typu niezależnych od programisty  Możliwa jest również zmiana typu poprzez konwersję jawną (tzw. rzutowanie) za pomocą operatora ()  Składnia: ( typ ) wyrażenie  Przykłady: short x=1; float f; f= x / 5;// 0 dzielenie całkowite f= (float) x / 5; // 0.2, dzielenie zwykłe x= f * 5; // 0.2 * 5 = 1.0 x= (int) f * 5;// 0 * 5 = 0 x= 2* (int)(1.0/10+1);// 2*(int) 1.1 = 2*1=2

19 Operatory relacji Podstawy programowania - Przetwarzanie danych w C++  Operatory relacji: > (większe) = (większe lub równe) <= (mniejsze lub równe) oraz porównania: == (równe) != (różne) Są to operatory dwuargumentowe generujące wartość typu int równą 1 (prawda) lub 0 (fałsz) w zależności od prawdziwości relacji dla podanych operandów  Przykłady: 1==0// 0 2>=2// 1 2<1// 0 0!=0// 0 x+1 > 2*y-5// wynik zależy od zmiennych // dla x=5 i y=2: 1

20 Operatory logiczne Podstawy programowania - Przetwarzanie danych w C++  Operatory logiczne: ! (negacja/not) && (i/and) || (lub/or) Negacja jest jednoargumentowa, pozostałe są dwuargumentowe. Wykonują działania logiczne przy założeniu, że wartość operandu równa jest: 1 (prawda) jeżeli jest on różny od zera 0 (fałsz) jeżeli jest on równy zero xy!xx && yx || y

21 Operatory bitowe Podstawy programowania - Przetwarzanie danych w C++  Operatory bitowe: ~ (negacja/not) & (i/and) | (lub/or) ^ (xor) Działanie jest bardzo podobne do działania operatorów logicznych, jednak w tym przypadku działania wykonywane są na każdej z odpowiadających sobie par bitów. xy~xx & yx | yx ^ y

22 Operatory logiczne i bitowe Podstawy programowania - Przetwarzanie danych w C++  Przykład: 10 && 25 //1(nie-zero) && 25(nie-zero) = 1 10 & 25 // // & // // = // = 16

23 Operatory przesunięć bitowych Podstawy programowania - Przetwarzanie danych w C++  Operatory: >> (przesunięcie bitowe w prawo) << (przesunięcie bitowe w lewo) powodują przesunięcie wszystkich bitów lewego operandu o liczbę miejsc określoną przez prawy operand. Oba operandy muszą być całkowite. Wypadające bity giną, a wchodzące przyjmują wartość 0 (Przy operatorze >> dla wartości ujemnych, z lewej strony wchodzą 1 - powielenie bitu znaku)  Efekt działania operatora >> jest zbliżony do podzielenia liczby przez 2, a operatora << do pomnożenia.  Przykłady: 50 << 1 // 50(32b): // 100 : >> 2 // -50: //-12:

24 Operatory działań z przypisaniem Podstawy programowania - Przetwarzanie danych w C++  Operator += (operator zwiększenia) Zapis: x += 5; oznacza: x = x + 5;  Zaletą tego podejścia jest skrócenie zapisu oraz przyspieszenie działania tej operacji (wygenerowany kod maszynowy jest krótszy). Nieco obniża się czytelność tych operacji.  Analogiczne operatory to: -= *= /= %= &= |= ^= >=  Przykład: int x=5; x+=10;// x=x+10; 15 x/=2;// x=x/2; 7 (dzielenie całkowite) x%=5;// x=x%7; 2 (reszta z dzielenia) x>>=1;// x=x>>2; 1

25 Wartość operacji przypisania Podstawy programowania - Przetwarzanie danych w C++  Wartość operacji przypisania równa jest zmiennej po przypisaniu, np. wyrażenie a=5+5 ma wartość 10.  Operacja przypisania może być więc użyta w wyrażeniach, np.: zapis: y = 3+ (a=10);// nawias konieczny oznacza: a = 10; y = 3+a; // czyli 13  Powoduje to skrócenie zapisu oraz przyspieszenie działania tych operacji kosztem spadku czytelności  Analogicznie działają operatory: -= *= /= %= &= |= ^= >=  Przykłady: int x, y; y= 1+ (x=4); //x=4,y=1+4=5; y= 2* (x+=11); // x=15,y=2*15=30; y+= 5+(x/=3); // x=5,y=y+5+5=40 y= (x*=2) + (x+=3); // wartości niepewne (kolejność)!

26 Inkrementacja i dekrementacja Podstawy programowania - Przetwarzanie danych w C++  Inkrementacja to zmiana pewnej wartości na następną. W praktyce zwykle oznacza to jej zwiększenie o 1 Dekrementacja to operacja odwrotna (zmniejszenie o 1)  W języku C i C++ operatory tych działań to: ++ i --  Zapis: ++x; lub x++; oznacza: x = x+1; --x; lub x--; oznacza: x = x-1;  Preinkrementacja Predekrementacja: Postinkrementacja Postdekrementacja:  Przykłady: int x, y=5; x= y++ +1; // x= 6;y=6; x= --y *10 // x=50;y=5 y = ++xx = x+1; y = x; y = --x;x = x-1; y = x; y = x++y = x; x = x+1; y = x--;y = x; x = x-1;

27 Operator warunkowy Podstawy programowania - Przetwarzanie danych w C++  Wykorzystuje się go w sytuacji gdy chcemy przypisać zmiennej jedną z dwóch wartości w zależności od pewnego warunku.  Jest to jedyny operator trzyargumentowy (warunek oraz dwie wartości alternatywne)  Zapisywany jest za pomocą symboli: ? i :  Składnia: (warunek) ? wartosc_gdy_niezero : wartosc_gdy_zero Warunek to dowolne wyrażenie, istotne jest czy jego wartość wynosi zero czy nie. Nawias jest obowiązkowy.  Przykłady: int x, y=5; x= (y>0) ? 1 : 0;// x=1, y=5 y= (x--) ? 100 : 0;// x=0, y=100 y= 25 + ((x<5) ? 25 : 10));// x=0, y=25+25=50

28 Operator, Podstawy programowania - Przetwarzanie danych w C++  Umożliwia on podanie kilku wyrażeń w sytuacji, gdy oczekiwane jest tylko jedno, np. x= (1, b=2); Wartość całego wyrażenia w nawiasie równa jest wartości najbardziej prawego z wyrażeń oddzielonych przecinkami: 2 Wartości wyrażeń wyliczane są w kolejności od lewej do prawej  Przykłady: int x, y; x= (y=1, y+5);// x=6, y=1 y= (1,2,3,4,5);// y=5 x+= (++x, y++);// x=12, y=6

29 Operator sizeof Podstawy programowania - Przetwarzanie danych w C++  Operator ten pozwala uzyskać liczbę bajtów konieczną do zapisania podanej wartości lub podanego typu  Składnia: sizeof( wyrażenie ) sizeof( nazwa typu )  Przykłady: int x,y; x= sizeof (int); // zwykle 4 x= sizeof(10.0/3); // sizeof(double), zwykle 8 x= sizeof(y)*8; /// liczba bitów dla int: 32

30 Priorytety operatorów Podstawy programowania - Przetwarzanie danych w C++  Kolejność interpretowania operatorów nie jest dowolna, regulują ją tzw. priorytety  Na przykład w wyrażeniu: x + 5 * a pierwsze zostanie wykonane mnożenie (ma wyższy priorytet), kolejność ta jest w tym wypadku podyktowana zasadami algebry  Jeżeli oba działania dotyczące pewnego operandu mają jednakowy priorytet, kolejność ich wykonania zależy od kompilatora, zazwyczaj od lewej do prawej  Zmianę kolejności można wymusić za pomocą nawiasów ( )

31 Podstawy programowania - Przetwarzanie danych w C++ 1 ( ) nawiasy postfix ~ ! sizeof + - prefix oraz jednoargumentowe 4 (typ) konwersja 5 * / % multiplikatywne addytywne 7 > przesunięcie bitowe 8 = relacje 9 == != porównanie 10 & bitowe and 11 ^ bitowe xor 12 | bitowe or 13 && logiczne and 14 || logiczne or 15 ? : warunkowy 16 = *= /= %= += -= >>= <<= &= ^= |= przypisanie 17, przecinek Priorytety poznanych operatorów


Pobierz ppt "PODSTAWY PROGRAMOWANIA Przetwarzanie danych w C++."

Podobne prezentacje


Reklamy Google