free hosting   image hosting   hosting reseller   online album   e-shop   famous people 
Free Website Templates
Free Installer

 

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);

}