5020057299

5020057299



46


ROZDZUŁ 8. OPERATORY

   post - i nkrementacja (“i+4-”),

•    pre-dekrementacja (“-i”) i

•    post. dekr ementacja (“i-”).

Operatory inkrementacji zwiększa, a dekrementacji zmniejsza argument o jeden. Ponadto operatory pre- zwracają nową wartość argumentu, natomiast post- starą wartość argumentu.

int a, b, c; a = 3;

b = a—; /* po operacji b=3 a=2 */ c = —bj /* po operacji b=2 c=2 */

Czasami (szczególnie w C++) użycie operatorów stawianych za argumentem jest nieco mniej efektywne (bo kompilator musi stworzyć nową zmienną by przechować wartość tymczasową).

Bardzo ważne jest. abyśmy poprawnie stosowali operatory dekrementacji i inlcre-mentacji. Chodzi o to, aby w jednej instrukcji nie umieszczać kilku operatorów, które modyfikują ten sam obiekt (zmienną). Jeżeli taka sytuacja zaistnieje, to efekt działania instrukcji jest nieokreślony. Prostym przykładem mogą być następujące instrukcje:

int a = 1; a = a++; a = ++a; a = a++ + ++a;

printf("7.d 7.d\n", ++a, ++a); printf("7«d 7«d\n", a++, a++);

Kompilator CCC potrafi ostrzegać, przed takimi błędami - aby to czynił należy podać mu jako argument opcję -Wsequence-point.

Operacje bitowe

Oprócz operacji znanych z lekcji matematyki w podstawówce, język C został wyposażony także w operatory bitowe, zdefiniowane dla liczb całkowitych. Są to:

*    negacja bitowa (“ ”),

*    koniunkcja bitowa (“&”),

•    alternatywa bitowa (“—”) i

•    alternatywa rozłączna (XOR) (“*").

Działają one na poszczególnych bitach przez co mogą być szybsze od innych operacji Działanie tych operatorów można zdefiniować za pomocą poniższych tabel:



Wyszukiwarka

Podobne podstrony:
46ROZDZIAŁ 8. OPERATORY post-inkrcmentacja (“i++”), pre-dekrementacja (“-i”)
monumentahistor00storgoog22 46 THEODfilCr MOHACHI post hinc elapso tempore metnor Magnus rex injuri
Slajd72 (46) •    może wystąpić podstawienie Si - Al •    pokrój słupo
Slajd72 (46) •    może wystąpić podstawienie Si - Al •    pokrój słupo
Slajd73 (46) grupa piroksenów: augit (Ca,Mg,Fe+2,Fe+3,Ti, AI)2[(Si,Al)206]
Poznaj C++ w$ godziny0061 46 Godzina 4Operatory relacji Operatory relacji są używane do określenia,
Image 006 OPERATEUR/TAXES OCCASIONNEL HABITU EL SOCIETE Imposition IR 18% (si seuil de cession alte
skanowanie0076 Odpowiedź Si Rys. 6.46. Do zadania 6.28 miri , (m2r2 m3Rl r m4r§ r 2  &nbs
42459 Zdjęcied8 dawniej trwał, jak post wielki, dni 40, a zaczynał si» f na drugi dzień po św. Marci
6B (3) ca Bad.com Parametry rozkładu ALFA współczynnik jednorodności przepustowości operatora ALFA=
p044 (2) ploto=P. 40-43 Ono point Uon- P.46-47 ^ k-;ua fflSTSfeOz a * ->;u^ . ? . -k-z/JSdo)85g,

więcej podobnych podstron