BITOWE OPERATORY LOGICZNE
Język C++ oferuje sześć tzw. bitowych operatorów logicznych, które interpretują operandy jako uporządkowany ciąg
bitów. KaŜdy bit moŜe przyjmować wartość 1 lub 0.
Symbol
operatora
Funkcja
Składnia
&
bitowa koniunkcja
wyraŜenie & wyraŜenie
|
bitowa alternatywa
wyraŜenie | wyraŜenie
^
bitowa róŜnica symetryczna
wyraŜenie ^ wyraŜenie
<<
przesunięcie w lewo
wyraŜenie << wyraŜenie
>>
przesunięcie w prawo
wyraŜenie >> wyraŜenie
~
bitowa negacja
~wyraŜenie
Przykłady:
11110000&01010101=01010000
11110000|01010101=11110101
11110000^01010101=10100101
00000010<<1=00000100 //mnoŜenie przez 2
00000010>>1=00000001 //dzielenie przez 2
Przypadkiem szczególnym instrukcji przypisania jest instrukcja:
a = a op b;
gdzie
op
moŜe być jednym z dziesięciu operatorów:
+
,
-
,
*
,
/
,
%
,
<<
,
>>
,
&
,
|
,
^
. Dla bardziej zwięzłego
zapisu wprowadzono w języku C++ złoŜenia znaku przypisania “=” z symbolem odpowiedniego operatora, co pozwala
zapisać powyŜszą instrukcję w postaci:
a op= b;
Na przykład instrukcję przypisania
a = a << 3;
, której wykonanie przesuwa wartość zmiennej
a
o trzy pozycje w lewo,
a następnie przypisuje wynik do
a
. Instrukcję tę moŜna przepisać w postaci:
a <<= 3;
Symbol operatora
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;
PĘTLA for
for(pole inicjowania; warunek; algorytm)
pole inicjowania zawiera algorytm wykonywany tylko raz, przed obrotem pętli.
warunek, po spełnieniu którego wykonany zostanie kolejny obrót pętli, jest wykonywane wielokrotnie, tuŜ przed kaŜdym
obrotem pętli.
algorytm, wykonuje się go na koniec kaŜdego obrotu pętli, zazwyczaj zwiększa licznik obrotów pętli (np. zmienną i).
INSTRUKCJA continue
Przydaje się wewnątrz pętli np. for. Sprawia, Ŝe instrukcje stanowiące treść pętli nie zostaną wykonane, ale samej pętli nie
przerywa. Instrukcja przerywa tylko ten obieg pętli i zaczyna następny.
INSTRUKCJA if
I
if(wyraŜenie) instrukcja;
II
if(wyraŜenie) instrukcja1;
else instrukcja2;
Zadanie 4.1
Napisać program, który zsumuje liczby naturalne od 1 do liczby, która zostanie wczytana z klawiatury, a następnie wynik
wypisze na ekranie
Zadanie 4.2
Napisać program, który policzy wartość potęgi o wykładniku naturalnym x
n
(x oraz n zostaną wczytana z klawiatury), pod
warunkiem, Ŝe x jest liczbą całkowitą dodatnią, a następnie wynik wypisze na ekranie
Zadanie 4.3
Napisać program, w wyniku którego dwie wczytane z klawiatury liczby naturalne zostaną wydrukowane na ekranie, a
następnie obliczyć ich iloczyn, nie uŜywając operacji mnoŜenia, przy czym wynik równieŜ powinien wyświetlić się na
ekranie.
Zadanie 4.4
Napisać program pozwalający na wyznaczenie pierwiastków rzeczywistych równania kwadratowego wczytujący z
klawiatury jego współczynniki, jeśli delta jest ujemna, powinien pojawić się na ekranie odpowiedni komunikat.
Zadanie 4.5
Zadany jest ciąg n liczb rzeczywistych. Napisz program obliczający sumę i średnią ciągu.