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

 

Kurs za programirawe vo C

 




 

Lekcija 2

 

2-1Primawe na vnes od tastatura

 

Da vidime eden primer so koj se dobivaat vrednosti od tastatura.

Primer 2:

 

#include <stdio.h>

main()

{

int a,b,c;

printf(“Vnesi vrednost za a:”);

scanf(“%d”,&a);

printf(“Vnesi vrednost za b:”);

scanf(“%d”,&b);

c=a+b;

printf(“a+b=%d”,c);

}

 

Izlezen rezultat:

 

Vnesi vrednost za a: 10

Vnesi vrednost za b: 20

a+b=30

 

*Funkcijata scanf samata vnesuva nov karakter vo linijata nie ne treba da vnesuvame vo printf funkciite.

 

Op{ta forma na scanf funkcijata e:

 

Scanf(“Format string”,&promenliva,&promenliva,…);

 

Format string sodr`i mesta za promenlivi koi planirame da gi primime od tastatura.’&’ znakot doa|a pred sekoe ime na promenliva {to doa|a vo listata na promenlivi.Karakterite se isklu~ok od ova pravilo.Tie ne doa|aat so ovoj znak pred niv.]e gi prou~ime karakterite vo ova poglavje.

 

Ne e dozvoleno da vnesuvate bilo kakov dodaten karakter vo format string osven za~uvuva~i na mesta i nekoi specijalni karakteri.

 

Vnesuvaj}i duri i prazno mesto ili drug nedozvolen karakter }e pri~ini va{iot program da ne raboti kako {to treba.Za sega vnesuvajte gi karakterite za za~uvuvawe na mesta vo scanf format string.

 

Sledniov primer dobiva pove}e promenlivi od tastatura.

 

float a;

int n;

scanf(“%d%f”,&n,&a);

 

Obrnete vnimanie deka scanf funkcijata nemo`e da proveruva gre{ki.Programerot e dol`en za validno vnesuvawe podatoci(tip,opseg isl.) i spre~uvawe gre{ki.

 

2-3 Promenlivi nizi

 

Nizite se strukturi koi memoriraat pove}e promenlivi od ist tip.Niza od celobron tip dr`i celobrojni vrednosti.

 

int niza[10]

 

Nizata “niza” sodr`i niza od 10 celobrojni vrednosti.Mo`eme da go koristime sekoj ~len od nizata so specificirawe na negovata indeksna vrednost.

 

^lenovite na gornata niza se niza[0],….,niza[9] pa taka mo`eme da rabotime so ovie promenlivi kako i so site drugi promenlivi.

 

niza[0]=124;

niza[8]=1190;

 

Primer 2:

 

Vnenete tri ocenki na student od niza i presmetajte go negoviot prosek.

 

#include <stdio.h>

main()

{

int ocenka[3],suma;

float prosek;

printf(“Vnesi ja prvata ocenka: ”);

scanf(“%d”,&ocenka[0]);

printf(“Vnesi ja vtorata ocenka: ”);

scanf(“%d”,&ocenka[1]);

printf(“Vnesi ja tretata ocenka: ”);

scanf(“%d”,&ocenka[2]);

suma=ocenka[0]+ocenka[1]+ocenka[2];

prosek=suma/3;

 

printf(“Sumata e = %d\nProsekot e =%f”,suma,prosek);

}

 

Izlezni rezultati:

 

Vnesi ja prvata ocenka:12

Vnesi ja vtorata ocenka:14

Vnesi ja tretata ocenka:15

Sumata e =41

Prosekot e =13.000000

 

2-4Karakteri

 

Vo programskiot jazik C gi smestuvame imiwata,frazite i sli~no vo karakteri.Karakterni znaci se nizi od karakteri.Sekoj ~len na nizata sodr`i eden karakter vo stringot.

 

Poglednete go ovoj primer:

 

main()

{

char ime[20];

 

printf(“Vnesi go tvoeto ime:”);

scanf(“%s”,ime);

printf(“Zdravo, %s , kako si ?”,ime);

}

 

Izlezen rezultat:

 

Vnesi go tvoeto ime:Dimitar

Zdravo, Dimitar, kako si ?

 

Ako korisnikot vnese “Dimitar” toga{ prviot ~len }e bide ‘D’,vtoriot ‘i’ i takanatamu.

 

C go nao|a krajot na nizata so vrednost na karakter nula.Ovoj karakter go vikame ‘NULL’ karakter i go prika`uvame so ‘\0’ karakter.

 

Isto taka mo`eme da ja sostavime taa niza od karakteri so nazna~uvawe na vrednost na sekoj ~len:

 

Ime[0]=’D’;

Ime[1]=’i’;

Ime[2]=’m’;

Ime[3]=’i’;

Ime[4]=’t’;

Ime[5]=’a’;

Ime[6]=’r’;

Ime[7]=0; ili Ime[0]=’\0’;

 

 

Kako {to vidovme vo gorniot primer za~uvuva~ot na mesto za string promenlivite e %s.

Isto taka nema da koristime ‘&’ znak za primawe na string promenlivite,toa }e go doznaeme vo narednite lekcii.

 

2-5 Preprocesori

 

Preprocesorski izrazi se tie koi zapo~nuvaat so znakot ‘#’.Primer e #include <stdio.h> izrazot {to go koristime za da ja vklu~ime stdio.h datotekata vo na{ite programi.

 

Preprocesorskite izrazi se procesiraat od programot nare~en preprocesor pred kompajliraweto da zapo~ne.Po preprocesorskiot ~ekor kompajlerot ja zapo~nuva svojata rabota.

 

2-6 #define preprocesorska komanda

 

#define se koristi za dafinirawe na konstanti i alijasi.Poglednete go ovoj primer:

 

#include <stdio.h>

 

#define PI 3.14

#define ERROR_1 “Datotekata ne e najdena.”

#define QUOTE “Zdravo Makedonijo!”

 

main()

{

printf(“Plostinata na krug = %f * diametar”,PI);

printf(“\nGreska : %s”,ERROR_1);

printf(“\nKvota : %s”,QUOTE);

}

 

Izlezni rezultati:

 

Plostina na krug = 3.140000 * diametar

Greska : Datotekata ne e najdena.

Kvota : Zdravo Makedonijo!

 

Bidej}i preprocesorskiot ~ekor se izvr{uva pred kompilacijata, kompajlerot programot go ~ita vaka:

 

#include <stdio.h>

main()

{

printf(“Plostinata na krug = %f * diametar”,3.14);

printf(“\nGreska : %s”,”Datotekata ne e najdena.”);

printf(“\nKvota : %s”,”Zdravo Makedonijo!”);

}

 

Nakratko #define ni dozvoluva da definirame simboli~ni konstanti.Naj~esto koristime golemi bukvi za promenlivi od tipot na #define.

 

Zabele`ete deka posle preprocesorski izrazi ne koristime ‘;’.

 

2-7 Ograni~uvawa kaj promenlivite

 

Granicata za memorirawe na promenlivi vrednosti e povrzana so koli~estvoto na memoriski prostor {to taa go koristi vo sistemskata memorija.

Vo razli~ni operativni sistemi i kompajleri razli~na koli~ina na memorija e vrzana za specifi~en tip na promenliva.Na primer, celobroen tip }e koristi 2 bajti vo DOS no 4 vo Windows okolina.

 

Ako ne ste sigurni za ograni~uvawata na tipovite na promenlivi vo va{iot sistem mora da gi vidite informaciite vo va{iot kompajler.

 

Isto taka mo`e da ja koristime sizeof() funkcijata za da odredime golemina na promenliva ili tip na promelniva.

 

Primer:

 

main()

{

int i;

float f;

 

printf(“Celobroen tip koristi %d bitovi od memorijata.”,sizeof(i));

printf(“Realen tip koristi %d bitovi od memorijata.”,sizeof(float));

}

 

Mo`ete da vidite deka mo`eme da koristime i promenliva i tip na promenliva kako parametar za sizeof() funkcijata.

Vo ovaa tabela se dadeni ograni~uvawata na Turbo C i Microsoft C vo DOS operativniot sistem.

 

Opseg na koristeni bitovi

 

char 1 256

int 2 65536

short 2 65536

long 2 4 bilioni

float 4 6 cifri * 10e38

double 8 10 cifri *10e38

 

Isto taka imame dva vida na promenlivi od gornive tipovi vo C programskiot jazik.Znakovni i neznakovni.Znakovnite promenlivi podr`uvaat i negativni vrednosti,dodeka neznakovnite samo pozitivni.

 

Ako se koristi znakovna vrednost gornata vrednost }e se podeli so dva.Na primer znakovniot int opseg e (-32768,+32767).

 

Mo`ete da deklarirate promenlivi kako znakovni ili neznakovni so dodavawe na “signed” ili “unsigned” klu~en zbor pred tipot na promenlivata.

Primer:

 

signed int a;

unsigned int b;

 

a=32700;

b=65000;

 

Dozvoleno ni e da nazna~ime vrednosti pogolemi od 32676 na promenlivata ‘b’ no ne i na promenlivata ‘a’.C mo`e i da ne se `ali ako napravime taka me|utoa programot nema da raboti kako {to o~ekuvame.

Soodvetno mo`e da nazna~ime negativni broevi na ‘a’ no ne i na ‘b’.

Predodreden tip za site promenlivi e znakovniot pa taka ne treba da pi{uvame ‘signed’ pred promenlivata.