| free hosting image hosting hosting reseller online album e-shop famous people | ||
![]() ![]() |
||
|
|
Kurs za programirawe vo C
|
|
|
|
Lekcija 3 3-1Operatori
Ima mnogu vidovi na operatori vo sekoj programski jazik.]e spomeneme nekoi od tie operatori sega:
()Zagradi +Sobirawe -Odzemawe *Mno`ewe /Delewe
Isto taka ima i drugi operatori koi rabotat razli~no:
%Modul ++Zgolemi za eden --Namali za eden =Dodeluvawe na vrednost
sizeof() vra}a vrednost na goleminata na promenlivata ili tipot na promenliva vnatre vo zagradite vo bajti.Ova e vsu{nost goleminata koja promenlivite ja zafa}aat vo memorijata.
Primeri:
c=4%3 C }e bide ednakvo na 1 po izvr{uvaweto na ovaa komanda.
i=3; i=i*3; i }e bide ednakvo na 9.
f=5/2 ako f e celobroen toga{ }e bide ednakov na 2,ako e realen negovata vrednost }e bide 2.5
j++ ja zgolemuva vrednosta na j za eden.
j-- ja namaluva vrednosta na j za eden.
sizeof(int) vratenata vrednost e 2 vo DOS i 4 vo Windows bidej}i goleminata na celobrojnite promenlivi e razli~na vo razli~ni OS.
3-2 Ciklusi
Ponekoga{ sakame nekoj del od na{iot program da bide izveden pove}e od edna{.Mo`eme ili da go povtorime kodot vo na{iot program ili da koristime ciklusi.O~igledno e deka ako na primer sakame da izvr{ime nekoja ista operacija stotina pati ne e prifatlivo da go povtoruvame kodot.
Zatoa mo`eme da go stavime na{iot kod vo ciklus.
While(ne e sto pati) { code }
Ima mnogu vidovi na komandi za ciklusi vo C.Ovie komandi }e gi vidime vo narednovo poglavje.
3-3 while ciklus
while ciklusot e konstruiran od uslov i na komanda ili blok od komandi koi mora da rabotat vo ciklusot.Kako {to ka`avme prethodno blok od komandi e serija od komandi zatvoreni pome|u zagradi.
while (uslov) komanda;
while (uslov) { blok od komandi }
Uslovot vo ciklusot e boolean izraz.Toj izraz mo`e da bide ili 0 ili 1 vo dadeno vreme.
Primer:
#include <stdio.h> main() { int i=0;
while (i<100) { printf(“\ni=%d”,i); i=i+1; } }
Vo gorniov primer i=i+1 zna~i:dodadi 1 na i i potoa dodeli ja na i ili ednostavno zgolemija negovata vrednost.Kako {to vidovme prethodno, postoi specijalen operator vo C koj ja vr{i istata rabota.Mo`eme da go koristime izrazot i++ namesto i=i+1.
3-3 Konverzija na tipovi
Od vreme na vreme }e bide potrebno da konvertirate tip na vrednost ili promenliva za da ja nazna~ite na promenliva od drug tip.Ovoj tip na konverzija mo`e da bide korisna vo druga situacija,na primer,mo`ete da konvertirate tip na promenliva za da bide kompatibilna so funkcii so razli~ni tipovi na argumenti.
Nekoj pravila vo C slu`at tokmu za ovaa rabota.
1-Avtomatska konverzija na tip se pojavuva vo nekoi slu~ai.Char avtomatski se konvertira vo int.Unsigned int avtomatski }e se konvertira vo int.
2-Ako ima dva razli~ni tipovi vo izrazot toga{ dvata }e se konvertiraat vo podobar tip.
3-Vo izraz za nazna~uvawe,finalniot rezultat od presmetkata }e bide konvertiran vo tipot na promenlivata za koja se nazna~uva rezultatot.
Na primer ako dodadete dve vrednosti na int i float i gi nazna~ite na tip od double promenliva,rezultatot }e bide double.
3-4 Koristewe na ciklusi vo primeri
Da se napi{e program koj }e prima ocenki za student,}e presmetuva nivna suma i niven prosek i }e gi ispe~ati.
Re{enie:
#include <stdio.h> main() { int brojac=0; float broj=0,suma=0,prosek=0;
printf(“Vnesi ja ocenkata : “); scanf(“%f”,&broj); while (broj>=0> { suma=suma+broj; brojac++; printf(“Vnesi ja ocenkata : “); scanf(“%f”,&broj); }
prosek=suma/brojac; printf(“\nProsekot=%f”,prosek); printf(“\nSumata=%f”,suma); }
Vo ovoj primer go dobivame prviot broj i potoa vleguvame vo ciklusot.]e ostaneme vo ciklusot se dodeka korisnikot ne vnese vrednost pomala od 0.Ako korisnikot vnese vrednost pomala od 0 }e ja interpretirame kako KRAJ na vnesuvaweto vrednosti.
Ova se izleznite rezultati od programot:
Vnesi ja ocenkata : 12 Vnesi ja ocenkata : 14 Vnesi ja ocenkata : -1
Prosekot=13.000000 Sumata=26.000000
Koga korisnikot vnesuva -1 kako vrednost na broj,logi~kata vrednost vo uslovot na ciklusot stanuva neto~en bidej}i broj>=0 e neprifatlivo.
Samo zapomnete deka se dodeka logi~kata vrednost na izrazot pome|u zagradite vo while uslovot e to~na toj }e se izvr{uva.
3-5 for ciklus
Kako {to ka`avme prethodno,postojat mnogu vidovi na ciklusi vo C.Vo ova poglavje }e vidime kako se koristi for ciklusot.
For ciklusot e ne{to kako while ciklusot no e mnogu poslo`en.For ciklusot e konstruiran od kontrolen izraz koj odreduva kolku pati ciklusot }e se izvr{uva,i od sekcija na komandi.Komandna sekcija e ili edna komandna linija ili blok od komandi.
for (kontrolen izraz) komanda;
for (kontrolen izraz) { blok od komandi }
Samiot kontrolen izraz e sostaven od tri dela.
for (inicijalizacija;test uslov;komanda za izvr{uvawe sekoj pat)
Inicijalizaciskiot del se izvr{uva samo edna{ na po~etokot na ciklusot.Ovde mo`eme da inicijalizirame ciklusna promenliva. Test uslovot e najva`niot del od ciklusot.Ciklusot }e prodol`i da se izvr{uva se dodeka uslovot e to~en.Ako uslovot postane neto~en toga{ ciklusot prestanuva.
Delot od ‘Komandata za izvr{uvawe sekoj pat, }e se izvr{uva sekoj krug od ciklusot.Ovoj del go koristime za da stigneme do krajniot uslov za prestanok na ciklusot.Na primer mo`eme da ja zgolemime ili namalime vrednosta na ciklusot za da ne go ispolnuvame ciklusot pove}e i so toa da go zavr{ime ciklusot.
Vo ovoj ~ekor }e go prepi{eme primerot od while no so for ciklus.Samo obrnete vnimanie deka ve}e ne ni treba i=i+1 delot za zgolemuvawe na vrednosta na ciklusot.Toj e vnesen vnatre vo for uslovniot izraz.
Primer:
#include <stdio.h> main() { int i=0;
for(i=0;i<100;i++) printf(“\ni=%d”,i); } Primer: Da se napi{e programa vo koja }e se vnesuva nedelna temperatura i }e se presmetuva prose~na temperatura za taa nedela.
#include <stdio.h> main() { int brojac=0; float broj=0,suma=0,prosek=0;
for (brojac=0;brojac<7;brojac++) { printf(Vnesi temperatura : “); scanf(“%f”,&broj); sum=sum+broj; }
prosek=suma/7; printf(“\nProsecnata temperatura=%f”,prosek); printf(“\nSumata=%f”,suma); }
|