1 Języki programowania C++Pętle i instrukcje warunkowe Mgr Inż. Michał Żyjewski
2 Typy Liczbowe int a; int b=3; float c; float d=-2.5;int - liczba całkowita, dozwolone dla niej modyfikatory to long (długa), short (krótka), signed (ze znakiem) i unsigned (bez znaku). Zależnie od architektury komputera i naszej wersji C, typ ten może zająć 2, 4 lub więcej bajtów pamięci. float - liczba rzeczywista, zmiennoprzecinkowa, służy do reprezentacji liczb niecałkowitych, możliwe jest zastosowanie modyfikatora long, zajmuje 4 bajty pamięci. double - liczba rzeczywista podwójnej precyzji, nie wdając się w szczegóły, można za pomocą takich liczb przedstawić wartości o wiele większe (rzędu ) lub bliższe zeru (mniejsze - rzędu ) niż w przypadku float int a; int b=3; float c; float d=-2.5;
3 Konwertowanie c = (float)b; /* to samo, co c = b */Generalnie, najczęściej w operacjach matematycznych będziemy używali zmiennych typu int (liczby całkowite) i float (liczby rzeczywiste) zmienne temożemy między sobą konwertoać. c = (float)b; /* to samo, co c = b */ b = (int)d; /* daje -2, tracimy dokładność więc nie wystarczy napisać b = d */
4 Operacje MatematyczneJęzyk C deklaruje następujące operacje matematyczne: dodawanie ("+") odejmowanie ("-") mnożenie ("*") dzielenie ("/") Jeśli dzielimy liczby całkowite, wynikiem jest dzielenie całkowite (bez reszty). Jeśli dzielimy liczby rzeczywiste - wynik jest dokładny.
5 Inkrementacja i dekrementacjainkrementacja ("++") - wyrażenie "a=a+1" można zapisać jako "a++", przykład: int a=1; ++a; /* to samo, co a=a+1 */ dekrementacja ("--") - wyrażenie "a=a-1" można zapisać jako "a--", przykład: int a=2; --a; istotną rzeczą jest fakt, że oba operatory zachowują się inaczej w zależności od tego, czy pojawiają się przed czy po zmienną. a = 3; b = a--; /* po operacji b=3 a=2 */ c = --b; /* po operacji b=2 c=2 */
6 Operator Wyrażenia WarunkowegoW C mamy do czynienia operatorem ? : nazywany też operatorem wyrażenia warunkowego. Jest to jedyny operator w języku C przyjmujący trzy argumenty. a ? b : c; a = (b>=c) ? b : c; /* działanie operatora wygląda następująco: najpierw oceniana jest wartość logiczna wyrażenia a, jeśli jest ono prawdziwe, to zwracana jest wartość b, jeśli natomiast wyrażenie a jest nieprawdziwe, zwracana jest wartość c. */
7 Operatory Logiczne Rozróżniamy następujące operatory logiczne w języku C: koniunkcja - & alternatywa - | negacja - ~ alternatywa wyłączna (XOR) - ^ W instrukcjach warunkowych nie używa się powyższych symboli. Do realizacji odpowiednich działań służą następujące wyrażenia: koniunkcja (i) - && alternatywa (lub) - || negacja (zaprzeczenie) - !
8 Instrukcja if if (wyrażenie){// blok wykonany, jeśli wyrażenie jest prawdziwe } else { // blok wykonany, jeśli wyrażenie jest nieprawdziwe }
9 Instrukcja if - przykładif (a != 0) b = 1/a; else b = 0; Powyższy przykład jest równoważny z: b = (a !=0) ? 1/a : 0;
10 Instrukcja switch switch (zmienna) {Aby ograniczyć wielokrotne stosowanie instrukcji if możemy użyć switch: switch (zmienna) { case wyr1: // instrukcje, jeśli zmienna == wyr1 break; case wyr2: // instrukcje, jeśli zmienna == wyr2 break; default: /* instrukcje, jeśli wyr1 != zmienna i wyr2 != zmienna */ break; }
11 Pętla while while (warunek) { /* instrukcje do wykonania w pętli */ }Aby nie przepisywać wiele razy tego samego kodu można skorzystać z mechanizmu pętli. Pętla wykonuje się dotąd, dopóki prawdziwy jest pewien logiczny warunek . while (warunek) { /* instrukcje do wykonania w pętli */ }
12 #include
13 Pętla for for (wyrażenie1; wyrażenie2; wyrażenie3) {/* instrukcje do wykonania w pętli */ } wyrażenie1 - jest to instrukcja, która będzie wykonana przed pierwszym przebiegiem pętli. Zwykle jest to inicjalizacja zmiennej, która będzie służyła jako "licznik" przebiegów pętli. wyrażenie2 - jest warunkiem zakończenia pętli. Pętla wykonuje się tak długo, jak prawdziwy jest ten warunek. wyrażenie3 - jest to instrukcja, która wykonywana będzie za każdym powtórzeniem pętli. Zamieszczone są tu instrukcje, które zwiększają licznik o odpowiednią wartość.
14 Pętla for - przykład #include
15 Pętla do/while Do { /* instrukcje do wykonania w pętli */} while (warunek); Pętle while i for mają jeden zasadniczy minus a mianowicie może się zdarzyć, że nie wykonają się ani raz. Aby mieć pewność, że pętla będzie miała co najmniej jeden przebieg należy użyć pętli do/while.
16 Pętla do/while - przykład#include