background image

 

 

Operatory

Operatory

background image

 

 

Operatory arytmetyczne:

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

background image

 

 

Operatory relacji:

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

 

przeciwnym  przypadku

  wartością  relacji 

jest 

0

background image

 

 

Operatory logiczne:

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 )

background image

 

 

Operatory bitowe:

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

background image

 

 

Inkrementacja i 

Inkrementacja i 

dekrementacja:

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.

background image

 

 

#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

;

}

Przykład:

i =

 

10

j =

 

10

i =

  

11

j =

  

11

i =

  

11

j =

  

12

i =

  

12

j =

  

12

background image

 

 

Pozostałe  operatory 

Pozostałe  operatory 

przypisania:

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;

background image

 

 

Wyrażenie  warunkowe:

Wyrażenie  warunkowe:

(

 

warunek

  )  ?

 

wartość1

 

:

 

wartość2

( i > 5) ? 15 : 20

c = ( x > y ) ? 17 : 56;

Przykład:

background image

 

 

Operator

Operator

  

  

sizeof

sizeof

:

:

sizeof

 (

nazwa_typu

)

sizeof

 

(

nazwa_obiektu

)

Operator

Operator

 

 

 

 

rzutowania

rzutowania

:

:

(

nazwa_typu

)

 

obiekt

lub

nazwa_typu

 (

obiekt

)

int

 a = 85;

char

 b;

b = (

char

) a;         // 

b = 

‘U’

background image

 

 

Przecinek to też operator

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;

background image

 

 

Funkcje

Funkcje

Funk_3

main

 ( )

{

    instrukcja_1;
    

Funk_1

( );

    instrukcja_2;
    

Funk_2

( );

    instrukcja_3;
    

Funk_3

 ( );

    instrukcja_4;

}

Program

  return

   return

  return

  Funk_4

 ( )

    return

Funk_1

Funk_2

Funk_4

background image

 

 

#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

background image

 

 

Przykład:

Przykład:

Zdefiniuj funkcję:

3

2

2

)

,

(

y

x

y

x

F

i użyj  do obliczeń wyrażeń:

abc

p

r

p

a

p

a

c

b

a

q

b

a

p

)

1

1

ln(

)

(

)

(

34

.

0

)

(

3

2

3

2

2

3

2

2

background image

 

 

#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);

}

3

2

2

)

,

(

y

x

y

x

F

abc

p

r

p

a

p

a

c

b

a

q

b

a

p

)

1

1

ln(

)

(

)

(

34

.

0

)

(

3

2

3

2

2

3

2

2

background image

 

 

Uwagi:

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. 

background image

 

 

Przesyłanie 

Przesyłanie 

argumentów

argumentów

 do 

 do 

funkcji:

funkcji:

przez wartość

przez referencję

background image

 

 

#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;

}

a = 

10

b = 

20

Przed  

zamianą:
x =

 

10

y =

 

20

Po  

zamianie:
x =

 

20

y =

 

10

Teraz:
a =

 10

b =

 20

background image

 

 

//-- przesyłanie argumentów przez 

wartość

!!!

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

;

}

Przed 
zamianą:

x =

 

10

y =

 

20

Po zamianie:

x =

 

20

y =

 

10

background image

 

 

#include <iostream.h>
#include <conio.h>

void

 Zamiana(

int

 &, 

int

 &);

//--------------------------------

void

 

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

;

}

a = 

10

b = 

20

Przed  

zamianą:
x =

 

10

y =

 

20

Po  

zamianie:
x =

 

20

y =

 

10

Teraz:
a =

 20

b =

 10

background image

 

 

// 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

;

}

Przed 
zamianą:

x =

 

10

y =

 

20

Po zamianie:

x =

 

20

y =

 

10

background image

 

 

Uwagi:

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 

zmienne

 

automatyczne nie 

są zerowane

 w chwili definicji. 

 Jeśli nie zainicjowaliśmy ich jakąś wartością, to 

przechowują one wartości przypadkowe. 

background image

 

 

Funkcje  biblioteczne

background image

 

 

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.

background image

 

 

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.

background image

 

 

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

background image

 

 

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.

background image

 

 

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 

e

x

cdn.

background image

 

 

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

x

y

pow10

double pow (int p);

math.h

10

p

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.

background image

 

 

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


Document Outline