Programavimo ir IT pagrindai 3 paskaita Lekt Tomas

  • Slides: 19
Download presentation
Programavimo ir IT pagrindai 3 paskaita Lekt. Tomas G. Lipnevičius

Programavimo ir IT pagrindai 3 paskaita Lekt. Tomas G. Lipnevičius

Programavimo pagrindai Programavimas

Programavimo pagrindai Programavimas

Kintamųjų deklaracija Prieš naudojant kintamąjį ar funkciją pirmiausiai jį reikia deklaruoti, pranešti programai apie

Kintamųjų deklaracija Prieš naudojant kintamąjį ar funkciją pirmiausiai jį reikia deklaruoti, pranešti programai apie jo egzistavimą. Duomenų tipas yra suteikiamas deklaruojant kintamajį ar funkciją. Kintamojo deklaracijos sintaksė yra: duomenu-tipas vardas; duomenu-tipas vardas = reikšmė; char c; // vienas baitas int i = 0; // keturi baitai short int x; // du baitai float _pi = 3. 141593; // keturi baitai char c_array[10]={0, 3, 9, 1, 7, 5, 2, 6}; // dešimt baitų int i_array[10]={0, 3, 9, 1, 7, 5, 2, 6}; // 40 baitų

Kintamųjų matomumas Kintamieji, kurie yra deklaruoti funkcijoje, yra lokalus kintamieji ir jie yra prieinami

Kintamųjų matomumas Kintamieji, kurie yra deklaruoti funkcijoje, yra lokalus kintamieji ir jie yra prieinami tik toje funkcijoje kurioje yra deklaruoti. Globalus kintamieji turi būti deklaruoti prieš main() funkciją. Svarbu. Kintamųjų vardai matomumo zonoje negali kartotis!

Duomenų tipai Bet kuris duomenų tipas apibrėžia tam tikrą reikšmių aibę ir operacijų, kurias

Duomenų tipai Bet kuris duomenų tipas apibrėžia tam tikrą reikšmių aibę ir operacijų, kurias galima atlikti su tomis reikšmėmis, aibę. Duomenų tipus galima padalinti į: skaliarinius (pvz. char, int, short, long, float) sudėtinius (pvz. struktūros, masyvai ir t. t. )

Baziniai duomenų tipai Tipas Dydis bitais Ribos Panaudojimas unsigned char 8 0 255 Maži

Baziniai duomenų tipai Tipas Dydis bitais Ribos Panaudojimas unsigned char 8 0 255 Maži sveikieji teigiami skaiciai ir visi ASCII simboliai char 8 -127 Maži sveikieji teigiami ir neigiami skaičiai ir pagrindiniai ASCII simboliai enum 16 -32, 768 Sveikųjų skaičių eilė unsigned short int 16 0 65, 535 Nedideli sveiki skaičiai ir teigiamų skaičių eilė short int 16 -32, 768 Nedideli sveikieji skaičiai su ženklu int 32 -2, 147, 483, 648 Dideli sveikieji skaičiai su ženklu unsigned long 32 0 4, 294, 967, 295 Labai dideli sveikieji skaičiai. long 32 -2, 147, 483, 648 Priklauso nuo architektūros float 32 3. 4 x 10 -38 3. 4 x 1038 Nedidelio tikslumo realieji skaičiai double 64 1. 7 x 10 -308 1. 7 x 10308 Didelio tikslumo realieji skaičiai long double 80 3. 4 x 10 -4932 3. 4 x 104932 Labai didelio tikslumo realieji skaičiai

Loginis bei void duomenų tipai Ne visi C kalbos kompiliatoriai turi aprašytą bool tipą.

Loginis bei void duomenų tipai Ne visi C kalbos kompiliatoriai turi aprašytą bool tipą. Naudojame 0 arba 1. C kalboje yra specialus duomenų tipas void. Šis tipas naudojamas: Pažymėti, kad funkcija neturi parametrų, funkcijos deklaracijoje: int func(void); Deklaruojama funkcija negrąžina jokios reikšmės: void func(int a); Kaip bendra rodyklė (generic pointer) į bet kurį tipą: void *ptr; Tipų priskyrimui (typecasting): extern int errfunc(); // klaidos kodas. . . (void) errfunc(); // negražinti klaidos kodo

Konstantos Konstanta yra toks duomenų tipas, kuriam vieną kartą priskyrus reikšmę programos veikimo metu

Konstantos Konstanta yra toks duomenų tipas, kuriam vieną kartą priskyrus reikšmę programos veikimo metu jos pakeisti negalima. C kalboje turime du būdus norėdami apsirašyti konstantas: Pasinaudojant identifikatoriumi const: int const a=10; const int b=5; const double _e = 2. 718282; const double _pi = 3. 1415926535897932384626433832795; const double sqrt 02 = 1. 414213562373; Indentifikatorių const galime rašyti prieš ar po tipo pavadinimo. Konstantą būtina iškart inicializuoti, t. y. priskirti pradinę reikšmę. Pasinaudojus preprocesoriaus direktyva #define: #define konstantos_pavad konstantos_reikšmė

Specialus simboliai C kalboje Jie dar yra vadinami specialiais simboliais: a - skambutis b

Specialus simboliai C kalboje Jie dar yra vadinami specialiais simboliais: a - skambutis b - grįžimas vienu simboliu atgal arba Back. Space klavišo paspaudimas t - horizontali tabuliacija arba Tab klavišo paspaudimas v - vertikali tabuliacija n - nauja eilutė r - kursoriaus grąžinimas į pradžią “ - simbolis “ (kabutės) ` - simbolis ` (viengubos kabutės) \ - simbolis - eilutės pabaigos simbolis ddd aštuonetainis kodas gali būti ir ASCII xddd šešioliktainis kodas gali būti ir ASCII

Operatoriai Operatorius Simbolinis žymėjimas Funkcija Sudėtis + Dvejetainė sudėtis (sudėtis) Atimtis - Dvejetainė atimtis(atimtis)

Operatoriai Operatorius Simbolinis žymėjimas Funkcija Sudėtis + Dvejetainė sudėtis (sudėtis) Atimtis - Dvejetainė atimtis(atimtis) Daugyba * Aritmetinė daugyba Dalyba / Aritmetinė dalyba Liekana % Aritmetinės dalybos liekana Postumis (shift) << Į kairę >> Į dešinę & AND (bitinė IR) ^ XOR (bitinis išskirtinis ARBA) | OR (bitinis ARBA) Operacijos su bitais Loginiai && || Loginė IR operacija Loginė ARBA operacija

Operatoriai Operatorius Priskyrimo Simbolinis žymėjimas Funkcija = Priskirti *= Padauginti ir priskirti /= Padalinti

Operatoriai Operatorius Priskyrimo Simbolinis žymėjimas Funkcija = Priskirti *= Padauginti ir priskirti /= Padalinti ir priskirti %= Priskirti dalybos liekaną += Pridėti ir priskirti -= Atimti ir priskirti <<= Pastumti į kairę ir priskirti >>= Pastumti į dešinę ir priskirti &= Priskirti po loginės AND ^= Priskirti po logins XOR |= Priskirti po logins OR

Operatoriai Operatorius Priklausymo Sutapimo Simbolinis žymėjimas Funkcija < Mažiau > Daugiau <= Mažiau arba

Operatoriai Operatorius Priklausymo Sutapimo Simbolinis žymėjimas Funkcija < Mažiau > Daugiau <= Mažiau arba lygu >= Daugiau arba lygu == Sutampa su != Nesutampa su

Operatoriai Operatorius Simbolinis žymėjimas Komponentės išrinkimo . Funkcija Tiesioginis išrinkimas –> Kai turime rodyklę

Operatoriai Operatorius Simbolinis žymėjimas Komponentės išrinkimo . Funkcija Tiesioginis išrinkimas –> Kai turime rodyklę a? x: y Jei a tai x kitaip y Didinimo (increment) ++ Kintamąjį padidina vienetu Mažinimo (decrement) -- Kintamąjį sumažina vienetu Kablelis , Reiškinio dalių skirtukas Sąlygos

Operatoriai ++ ir – – Didinimo operatorius ++ (increment) kintamojo reikšmė padidina vienetu, o

Operatoriai ++ ir – – Didinimo operatorius ++ (increment) kintamojo reikšmė padidina vienetu, o mažinimo operatorius – – (decrement) kintamojo reikšmė sumažina vienetu. int kint 1 = 5; int kint 2 = 5; kint 1++; --kint 2; Kai operatorius (++) arba (--) yra parašytas prieš kintamąjį, kintamojo reikšmė pirmiausiai yra pakeičiama (padidinama arba sumažinama), o po to vykdomi reiškinio veiksmai, Jei operatorius (++) arba (--) parašytas už kintamojo, kintamojo tai reikšmė pakeičiama (padidinama arba sumažinama) tik tada, kai visi veiksmai reiškinyje būna atlikti. int a, b, c, d, e, f; a = 10; d = 10; b = ++a; // padidina ir priskiria c = a++; // priskiria po to padidina e = -- d; // sumažina ir priskiria f = d--; // priskiria po to sumažina

Kiti operatoriai a += 5; atitinka a = a + 5; a –= 5;

Kiti operatoriai a += 5; atitinka a = a + 5; a –= 5; atitinka a = a – 5; a *= 5; atitinka a = a * 5; a /= 5; atitinka a = a / 5; a %= 5; atitinka a = a % 5;

Sąlygos operatoriai Operatorius if – else yra naudojamas esant poreikiui atlikti pasirinkimą iš galimų

Sąlygos operatoriai Operatorius if – else yra naudojamas esant poreikiui atlikti pasirinkimą iš galimų dviejų ar vieno variantų. Sintaksė: if (išraiška) operatorius 1; [else operatorius 2; ] kur else dalis nėra būtina. Operatorius vykdomas nuo išraiškos apskaičiavimo. Jei išraiška yra “teisinga” yra vykdomas operatorius 1; jei išraiška “neteisinga” ir jei yra else dalis yra vykdomas operatorius 2. Jei išraiška yra kombinuota ji pagal sintaksė turi būti apskliausta, t. y. toks užrašymas yra neteisingas: if (a>b) && (a>c) teisingai bus: if ((a>b) && (a>c))

Sąlygos operatoriai Jei skaitinė išraiška yra lyginama su skaičiumi 0 – galimas trumpesnis if

Sąlygos operatoriai Jei skaitinė išraiška yra lyginama su skaičiumi 0 – galimas trumpesnis if operatoriaus užrašymas, t. y. vietoje: if (išraiska != 0) galime rašyti if ( !išraiška)

Sąlygos operatoriai Kadangi else dalis nebūtina, yra galima dviprasmybė tuo atveju kai šį dalis

Sąlygos operatoriai Kadangi else dalis nebūtina, yra galima dviprasmybė tuo atveju kai šį dalis naudojama sudėtiniuose if operatoriuose. Šiuo atveju else dalis visada bus rišama su artimiausiu prieš tai einančiu if operatoriumi neturinčiam else dalies: if (a>0) if (b>c) a = b; else a = c; Norint išvengti tokių dviprasmybių reikia naudotis sudėtiniais operatoriais (blokais).

Sąlygos operatoriai Operatorius else – if yra naudojamas esant poreikiui atlikti pasirinkimą iš kelių

Sąlygos operatoriai Operatorius else – if yra naudojamas esant poreikiui atlikti pasirinkimą iš kelių galimų variantų. Sintaksė: if (išraiška 1) operatorius 1; [else if (išraiška 2) operatorius 2; ] [else if (išraiška 3) operatorius 3; ]. . . [else if (išraiška. N) operatorius. N; ] [else operatorius. N+1; ] Tokia konstrukcija yra dažniausiai naudojama. Visos išraiškos yra tikrinamos (skaičiuojamos) iš eilės, ir jei kuri nors yra “teisinga” – yra vykdomas atitinkamas operatorius. Kiekvienas iš operatorių gali būti sudėtiniu operatoriumi. Paskutinė else dalis yra vykdoma tik tuo atveju, jei nei viena iš prieš tai buvusių išraiškų nebuvo “teisingos”. Ši dalis nėra būtina.