Programiranje - Blokovi naredbi i logički tipovi – Kolegij: Programski jezik C++ Ak. god. 2017/2018 Doc. Dr. Sc. Marko Maliković
Funkcija main i blok naredbi Do sada smo se već susretali s blokom naredbi - funkcijom main: #include <iostream> using namespace std; int main() { cout << "Dobar dan"; return 0; } Cijeli gornji program se sastoji od jednog bloka naredbi
Blokovi naredbi Dijelovi programa: Pišu se unutar vitičastih zagrada: koji se ponašaju kao jedinstvena cjelina (kao da se radi o jednoj naredbi) koji se možda izvode ovisno o nekom uvjetu čije se izvođenje možda ponavlja … Pišu se unutar vitičastih zagrada: {blok naredbi} ili { blok naredbi } (na koji od gornjih načina ćemo pisati blok naredbi nije važno i spada u "kozmetiku") Ako se blok sastoji samo od jedne naredbe, vitičaste zagrade se mogu izostaviti Varijable deklarirane u bloku vidljive su samo unutar njega Ovo ograničenje područja lokalne varijable zove se scope odn. doseg, domet
Blok naredbi i doseg varijabli // Primjer za dvije različite vrijednosti za varijablu a #include <iostream> #include <conio.h> using namespace std; int main() { int a = 5; int a = 1; cout << a << endl; } getch(); return 0;
Rezultat prethodnog programa
Blok naredbi i doseg varijabli // Primjer kada varijabla izvan bloka više ne postoji #include <iostream> #include <conio.h> using namespace std; int main() { int a = 1; } cout << a << endl; getch(); return 0; Prevoditelj će prilikom prevođenja gornjeg programa javiti grešku: error: 'a' was not declared in this scope
Logički tipovi C++ ima ugrađen tip bool koji može poprimiti samo vrijednosti true ili false Primjer uporabe tipa bool: bool Ozenjen = true; Operacije s logičkim vrijednostima se najviše upotrebljavaju u naredbama za grananje toka programa Pri ispisu i u aritmetičkim izrazima se logički tipovi pretvaraju u int: true se pretvara u 1 false se pretvara u 0 Isto tako, logičkim varijablama se mogu pridruživati aritmetički tipovi: Vrijednosti različite od nule se pretvaraju u true Nula se pretvara u false Drugim riječima: za predstavljanje logičkih podataka se mogu koristiti i cijeli brojevi: Nula predstavlja logičku neistinu Bilo koji drugi broj predstavlja logičku istinu
Primjeri
Primjeri
Primjeri
Primjeri
Logički operatori U C++ postoje samo tri logička operatora: true false U C++ postoje samo tri logička operatora: ! – negacija && – konjunkcija (logički i) || – disjunkcija (logički ili) Primjer korištenja: #include <iostream> using namespace std; int main() { bool tvrdnja = 2 > 1 && (3 < 2 || 3 < 4); cout << tvrdnja; return 0; } A B A && B true false A B A || B true false Logičke tvrdnje
Logički operatori U C++ postoje samo tri logička operatora: true false U C++ postoje samo tri logička operatora: ! – negacija && – konjunkcija (logički i) || – disjunkcija (logički ili) Primjer korištenja: #include <iostream> using namespace std; int main() { bool tvrdnja = 2 > 1 && (3 < 2 || 3 < 4); cout << tvrdnja; return 0; } A B A && B true false A B A || B true false Složena logička tvrdnja
Rezultati operacija poređenja Izvođenjem kôda: cout << (5 > 4) << endl; cout << (5 >= 4) << endl; cout << (5 < 4) << endl; cout << (5 <= 4) << endl; cout << (5 == 4) << endl; cout << (5 != 4) << endl; ... će se na ekranu ispisati redom: 1, 1, 0, 0, 0, 1