OPERATORY ARYTMETYCZNE 45 Operatory arytmetyczne Język C definiuje następujące dwuargumentowe operatory arytmetyczne: • dodawanie (“+”), • odejmowanie (“-”), • mnożenie (“*”), • dzielenie (“/”), • reszta z dzielenia (“%”) określona tylko dla liczb całkowitych (tzw. dzielenie modulo ). int a=7, b=2, c; c = a % b; printf ("%d\n",c); /* wypisze "1" */ Należy pamiętać, że (w pewnym uproszczeniu) wynik operacji jest typu takiego jak największy z argumentów. Oznacza to, że operacja wykonana na dwóch liczbach całkowitych nadal ma typ całkowity nawet jeżeli wynik przypiszemy do zmiennej rze- czywistej. Dla przykładu, poniższy kod: float a = 7 / 2; printf("%f\n", a); wypisze (wbrew oczekiwaniu początkujących programistów) 3, a nie 3.5. Odnosi się to nie tylko do dzielenia, ale także mnożenia, np.: float a = 1000 * 1000 * 1000 * 1000 * 1000 * 1000; printf("%f\n", a); prawdopodobnie da o wiele mniejszy wynik niż byśmy się spodziewali. Aby wymusić obliczenia rzeczywiste należy zmienić typ jednego z argumentów na liczbę rzeczywistą po prostu zmieniając literał lub korzystając z rzutowania, np.: float a = 7.0 / 2; float b = (float)1000 * 1000 * 1000 * 1000 * 1000 * 1000; printf("%f\n", a); printf("%f\n", b); Operatory dodawania i odejmowania są określone również, gdy jednym z argu- mentów jest wskaźnik, a drugim liczba całkowita. Ten drugi jest także określony, gdy oba argumenty są wskaźnikami. O takim użyciu tych operatorów dowiesz się więcej C/Wskaźnikiâw dalszej czÄÅci ksiÄ
żki. Inkrementacja i dekrementacja Aby skróciÄ zapis wprowadzono dodatkowe operatory: inkrementacji (â++â) i de- krementacji (âââ), które dodatkowo mogÄ
byÄ pre- lub postï¬ksowe. W rezultacie mamy wiÄc cztery operatory: ⢠pre-inkrementacja (â++iâ),
... zobacz całą notatkę
Komentarze użytkowników (0)