1 / 30

Operatory

Operatory. Operatory arytmetyczne:. Operator Działanie Przykład + dodawanie a = b + c; - odejmowanie a = b - c; * mnożenie a = b * c; / dzielenie a = b / c; % reszta z dzielenia (modulo) a = b % c; . Przykłady: 25 / 7  3 25 / 7.  3.571428

kioko
Download Presentation

Operatory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operatory

  2. Operatory arytmetyczne: Operator Działanie Przykład + dodawanie a = b + c; - odejmowanie a = b - c; * mnożenie a = b * c; / dzielenie a = b / c; % reszta z dzielenia (modulo) a = b % c; • Przykłady: • 25 / 73 • 25 / 7. 3.571428 • 35. / 57.0 • 1 / 4 0 • 19 % 61 • 0 % 5 0 • 18 % 60

  3. Operatory relacji: Operator Działanie Przykład < mniejszy a < b <= mniejszy lub równy a <= b > większy a > b >= większy lub równy a >= b == równy a = = b != nie równy a != b • wszystkie operatory relacji są dwuargumentowe; • jeśli relacja jest prawdziwa, to jej wartością jest 1; • w przeciwnym przypadku wartością relacji jest 0.

  4. Operatory logiczne: Operator Działanie Przykład ! negacja ! a && koniunkcja (iloczyn logiczny) a && b || alternatywa (suma logiczna) a || b • wyrażenia połączone operatorami && i || zawsze są wartościowane od strony lewej do prawej; • kompilator oblicza wartość wyrażenia dotąd, dopóki na pewno nie wie jaki będzie wynik. ( a == 0 ) && ( m == 5 ) && ( x > 23 )

  5. Operatory bitowe: Operator Działanie Przykład & bitowa koniunkcja a = b & c; | bitowa alternatywa a = b | c; ^ bitowa różnica symetryczna a = b ^ c; << przesunięcie w lewo a = b << c; >> przesunięcie w prawo a = b >> c; ~ bitowa negacja a = ~b

  6. Inkrementacja i dekrementacja: • inkrementacja - dodanie 1; • dekrementacje - odjęcie 1; Przykład: i = i + 1; // i ++ j = j - 1; // j - - • operatory inkrementacji i dekrementacji mogą występować w dwóch odmianach: przedrostkowej i przyrostkowej; i++ ; i-- ; ++i ; --i ; • operator przedrostkowy jest obliczany przed przypisaniem; • operator przyrostkowy jest obliczany po przypisaniu.

  7. Przykład: i =10 j =10 i =11 j =11 i =11 j =12 i =12 j =12 #include <iostream.h> #include <conio.h> void main() {int i=10, j=10; clrscr(); cout << "i = " << i <<endl << "j = " << j <<endl; i++; ++j; cout << "i = " << i <<endl << "j = " << j <<endl; cout << "i = " << i++ << endl << "j = " << ++j << endl; cout << "i = " << i << endl << "j = " << j << endl; }

  8. Pozostałe operatory przypisania: Operator Zapis skrócony Zapis rozwinięty += a += b; a = a + b; - = a - = b; a = a - b; *= a *= b; a = a * b; /= a /= b; a = a / b; %= a %= b; a = a % b; <<= a <<= b; a = a << b; >>= a >>= b; a = a >> b; &= a &= b; a = a & b; |= a |= b; a = a | b; ^= a ^= b; a = a ^ b;

  9. Wyrażenie warunkowe: • (warunek ) ?wartość1:wartość2 Przykład: • ( i > 5) ? 15 : 20 • c = ( x > y ) ? 17 : 56;

  10. Operatorsizeof: • sizeof (nazwa_typu) • sizeof (nazwa_obiektu) Operatorrzutowania: • (nazwa_typu)obiekt • lub • nazwa_typu (obiekt) • int a = 85; • char b; • b = (char) a; // b = ‘U’

  11. Przecinek to też operator • X = 1, 2, 3, 4; • // x == 1 • Uwaga na konstrukcję Tab[i , j] !!! • To nie jest to samo co Tab[ i ] [ j ] • Kiedy to się może przydac? • Tam gdzie możemy umieścić tylko jedną instrukcję • for(i=1, j=10; i<=j; i++, j+=2) • cout << ”i=” << i << ”j=” << j << endl;

  12. Program Funk_1 main ( ) { instrukcja_1; Funk_1( ); instrukcja_2; Funk_2( ); instrukcja_3; Funk_3 ( ); instrukcja_4; } Funk_2 Funk_4 Funk_4 ( ) return return return return Funk_3 Funkcje

  13. #include <iostream.h> #include <conio.h> int kukulka (int ile); //******************************************************************* main () { int m = 30; clrscr (); cout <<"Zaczynamy"<<endl; m = kukulka (2); cout <<"\nNa koniec m = "<< m; return 0; } //******************************************************************* int kukulka (int ile) { int i; for (i = 0; i < ile; i++) cout <<"Ku-ku! "; return 77; } Zaczynamy Ku-ku! Ku-ku! Na koniec m =77

  14. Przykład: Zdefiniuj funkcję: i użyj do obliczeń wyrażeń:

  15. #include <iostream.h> #include <conio.h> #include <math.h> float F(float x, float y); //-------------------------------------- void main() { float a, b, c, p, q, r; clrscr(); cout << "a = "; cin >> a; cout << "b = "; cin >> b; cout << "c = "; cin >> c; p = F(a, b); q = (a + b)*c + 0.34*F(a+p, a-p); r = log(1 + F(1, p)) + a*b*c; cout.width(10); cout.precision(2); cout << "\np = " << p << "\nq = " << q; cout << "\nr = " << r; } //-------------------------------------- float F(float x, float y) { return pow(x*x + y*y, 1./3); }

  16. Uwagi: • Funkcja ma swoją nazwę, która ją identyfikuje. • Przed odwołaniem się do nazwy wymagana jest jej deklaracja. Deklaracja, ale niekoniecznie definicja. • Sama funkcja może być zdefiniowana później; • Wywołanie funkcji, to napisanie jej nazwy wraz z listą argumentów przesyłanych do funkcji, ujętych w nawiasy okrągłe.

  17. Przesyłanie argumentów do funkcji: • przez wartość • przez referencję

  18. a = 10 b = 20 Przed zamianą: x =10 y =20 Po zamianie: x =20 y =10 Teraz: a = 10 b = 20 #include <iostream.h> #include <conio.h> void Zamiana(int, int); //-------------------------------- int main() { int a, b; clrscr(); cout << "a = "; cin >> a; cout << "b = "; cin >> b; Zamiana (a, b); cout <<"\nTeraz:\n"; cout << "a = " << a <<endl; cout << "b = " << b <<endl; cout <<endl; return 0; }

  19. Przed zamianą: x =10 y =20 Po zamianie: x =20 y =10 //-- przesyłanie argumentów przezwartość!!! void Zamiana(int x, int y) { int z; cout << "\nPrzed zamianą:\n"; cout << "x = " << x <<endl; cout << "y = " << y <<endl; z = x; x = y; y = z; cout << "\nPo zamianie:\n"; cout << "x = " << x <<endl; cout << "y = " << y <<endl; }

  20. a = 10 b = 20 Przed zamianą: x =10 y =20 Po zamianie: x =20 y =10 Teraz: a = 20 b = 10 #include <iostream.h> #include <conio.h> void Zamiana(int &, int &); //-------------------------------- voidmain() { int a, b; clrscr(); cout << "a = "; cin >> a; cout << "b = "; cin >> b; Zamiana (a, b); cout << "\nTeraz:\n"; cout << "a = "<< a <<endl; cout << "b = "<< b <<endl; cout <<endl; }

  21. Przed zamianą: x =10 y =20 Po zamianie: x =20 y =10 // przesyłanie argumentów przez referencję void Zamiana(int &x, int &y) { int z; cout << "\nPrzed zamianĄ:\n"; cout << "x = " << x <<endl; cout << "y = " << y <<endl; z = x; x = y; y = z; cout << "\nPo zamianie:\n"; cout << "x = " << x <<endl; cout << "y = " << y <<endl; }

  22. Uwagi: • Obiekt zdefiniowany na zewnątrz wszystkich funkcji ma zasięg globalny. • Zmienne globalne zakładane są w normalnym obszarze pamięci, który przed uruchomieniem programu jest zerowany. • Zmienne lokalne są zmiennymi automatycznymi. • W momencie, gdy kończymy blok, w którym zmienne lokalne zostały powołane do życia, automatycznie przestają istnieć. • Obiekty automatyczne komputer przechowuje na stosie. • Należy pamiętać, że zmienneautomatyczne nie są zerowane w chwili definicji. • Jeśli nie zainicjowaliśmy ich jakąś wartością, to przechowują one wartości przypadkowe.

  23. Funkcje biblioteczne

  24. Funkcje obsługi ekranu i klawiatury: Nazwa funkcji Składnia Biblioteka Znaczenie clreol void clreol (void);conio.h kasowanie linii, w której znajduje się kursor poczynając od pozycji kursora do końca clrscr void clrscr (void);conio.h kasowanie ekranu delline void delline (void);conio.h usunięcie linii, w której znajduje kursor gotoxy void gotoxy (int x, int y);conio.h pozycjonowanie kursora highvideo void highvideo (void); conio.h zwiększenie jaskrawości koloru znaku cdn.

  25. insline void insline (void);conio.h wstawienie nowego wiersza w miejscu aktualnego położenia kursora lowvideo void lowvideo (void);conio.h zmniejszenie jaskrawości koloru znaku normvideo void normvideo (void);conio.h ustalenie koloru tła i znaku, jakie obowiązywały na początku programu (białe znaki na czarnym tle) textattr void textattr (int atr);conio.h ustawienie atrybutów znaku textbackground void textbackground (int kolor);conio.h ustawienie koloru tła cdn.

  26. textcolor void textcolor (int kolor);conio.h ustawienie koloru znaku wherex int wherex (void)conio.h określenie aktualnej współrzędnej X kursora wherey int wherey (void)conio.h określenie aktualnej współrzędnej Y kursora window void window (int xlg, int ylg, int xpd, int ypd );conio.h zdefiniowanie okna tekstowego

  27. Funkcje matematyczne: abs int abs (int x); stdlib.h wartość bezwzględna argumentu całkowitego acos double acos (double x); math.h arccos x asin double asin (double x);math.h arcsin x atan double atan (double x); math.h arctg x atof double atof (const char *s); math.h konwersja łańcucha znaków na liczbę zmiennopozycyjną cdn.

  28. atoi int atoi (const char *s); math.h konwersja łańcucha znaków na liczbę całkowitą cos double cos (double x); math.h cos x cosh double cosh (double x); math.h cosh x div div_t div (int licz, int mian); stdlib.h dzielenie dwóch liczb całkowitych; jako wynik otrzymuje się iloraz oraz resztę z dzielenia exp double exp (double x); math.h funkcja wykładnicza ex cdn.

  29. log double log (double x); math.h logarytm naturalny log10 double log10 (double x) math.h logarytm dziesiętny pow double pow (double x, double y); math.h xy pow10 double pow (int p); math.h 10p random int random (int N); stdlib.h generowanie liczb losowych z zakresu od 0 do N-1 randomize void randomize (void) stdlib.h time.h inicjalizacja generatora liczb losowych cdn.

  30. sin double sin (double x) math.h sin x sinh double sinh (double x); math.h sinh x sqrt double sqrt (double x); math.h pierwiastek kwadratowy z x tan double tan (double x) math.h tg x tanh double tanh (double x); math.h tgh x

More Related