vezbe c- i deo

Upload: david-jankovic

Post on 03-Mar-2016

229 views

Category:

Documents


0 download

DESCRIPTION

vezbe

TRANSCRIPT

Tipovi podataka

OSNOVE C JEZIKA

1./*Napisati program koji na ekranu ispisuje poruku Zdravo svete!*/

#include

void main()

{

printf("Zdravo svete!\n");

}

Funkcija void main() je glavna funkcija i postoji samo jedna ova funkcija u C programu. ()oznaava da main nema argumenata. printf je funkcija za tampanje poruke Zdravo svete!. Karakter \n predstavlja oznaku za novu liniju. Svaki iskaz se mora zavriti karakterom ;, koji ima ulogu terminatora iskaza. Karakteri { i } objedinjuju vie pojedinanih iskaza u jednu programsku celinu i oni su obavezni jer se tu izvrava neka obrada.

scanf je funkcija slina printf. Razlika je to se argumenti funkcije printf prenose sa vrednou, dok se kod scanf prenose svojom adresom, jer se uitana vrednost mora vratiti u pozivajui program. To se postie navoenjem karaktera & (operator adresiranja) ispred argumenta u listi argumenata. Npr. scanf(%d,&x);

- %d - broj koji se unosi je celobrojni.

- %8.2f ostavljanje mesta za zapis realnog brojaEscape karakteriKonverzioni karakteri funkcije printf

\b povratnik\nnn vrednost karakteraKonverz. kar.Konverzija izlaznog niza

\f from feed\\ - obrnuta kosa crtacKarakter (char)

\n nova linija\ dvostuka navodnicadceo broj (int)

\r carriage return\ jednostruke navodnicefrealan broj (float)

\t horizontalni tab\ - nastavak linijesniz karaktera (string)

\v vertikalni taberealan br. u naunoj notaciji

ledouble

1.2.2 Variables - Promenljive

Promenljiva je objekt jezika koji ima ime i kome se mogu dodeljivati razliite vrednosti u toku izvravanja programa.A variable may be defined using any uppercase or lowercase character, a numerical digit (0 through 9), and the underscore character (_). The first character of the variable may not be a numerical digit or underscore. Variable names are case sensitive. Ime promenljive (indentifikator):

skola

yAb63cauto_skolaOsnovni tipovi podataka

Osnovni tipovi podataka su int, float, double i char.

Podaci tipa int su celobrojne vrednosti. Tu spadaju celobrojne konstante, promenljive, izrazi i funkcije. Opseg celobrojnig vrednosti je razliit i moe se menjati primenom kvalifikatora long, short i unsigned. Kvalifikator long poveava opseg vrednosti celobrojnih promenljivih. Kvalifikator short ispred int smanjuje opseg celobrojnih promenljivih. Kvalifikator unsigned ispred int deklarie promenljivu tako da moe memorisati samo pozitivne vrednosti.

Promenlljive tipa float ili double memoriu vrednosti realnih brojeva, odnosno, vrednosti sa decimalnim (pokretnim) zarezom. Promenljive daklarisane kao double mogu memorisati oko dva puta vie decimalnih cifara od promenljivih tipa float.

Promenljive i konstante tipa char memoriu karaktere. Konstante tipa char dobijaju se stavljanjem karaktera izmeu jednostrukih navodnica, npr. A, 1, itd. A treba razlikovati od A, jer A predstavlja konstantni niz karaktera koji u C jeziku ima posebnu predstavu i tretman.

Primeri:

int bob=32;Creates variable "bob" and initializes it to the value 32. (Kreirana promenljivba "bob" i izvrena inicijalizacija na 32.)boolean yes=1;Creates variable "yes" as type "char" and sets its value to 1. Aritmetiki izrazi i operatori

Aritmetiki operatori C jezika su +, -, *, / i % koji odgovaraju matematikim operacijama sabiranja, oduzimanja, mnoenja, deljenja i deljenja po modulu, respektivno. Ovi operatori su binarni, jer zahtevaju dva operanda, sa izuzetkom operatora -, koji moe biti i unaran. Operator deljenja po modulu (%) daje ostatak posle celobrojnog deljenja.Tablica operatora.

OperatorNamenaPrimerRezultat

+Sabiranje5 + 611

-Oduzimanje7 - 34

*Mnoenje4 * 416

/Deljenje12 / 62

%Deljenje sa ostatkom5 % 21

% operator se naziva jo i modulus operator .

Aritmetiki operatori jednako dobro rade sa negativnim brojevima kao i sa pozitivnim, sa izuzetkom modulus operatora, rade sa celim brojevima jednako dobro kao i sa realnim. Konstante (nepromenjive)

- Varijable su promenjive dok su konstante izrazi sa fiksnim, nepromenjivim vrednostima.- Kostante su objekti koji dobijaju vrednost pre nego to pone izvravanje programa i u toku rada programa se ne mogu menjati.Primer definisanja konstanti:#define PI 3.141592

#define PI 3.141592#define POREZ 20

#define POREZ 20

main(){

.....

Obim=2*r*PI;

...

}

#define IME VLADE DIVAC

#define BROJ 52 main() { printf(Kosarkas %s ima br. Cip.%f,IME, BROJ);

}Odnosni operatori

Odnosni operatori se npr. koriste ako elite napraviti program koji e iz baze podataka odrediti osobe sa vie od 30 godina i slino.

Odnosni operatori:

if ((a>b)&&(b>c)) || (b>d)OperatorZnaenjePrimer

&&logiko I(i>1)&&(j0

pow(x,y) - x

sqrt(x) - , x>=0

fabs(x) - |x| apsolutna vrednost od xcell(x) vrednost funkcije je najmanja celobrojna vrednost koja nije manja od x.

floor(x) - vrednost funkcije je najvea celobrojna vrednost koja nije vea od x.6. /*Napisati program za izraunavanje apsolutne vrednosti celog broja*/

#include

void main()

{

int broj,a_vred;

printf("Ukucajte ceo broj?");

scanf("%d",&broj);

a_vred=broj;

if(a_vred='a'&&c='A'&&c='0'&&cz)&&(x+z>y)&&(y+z>x))

{

s=(x+y+z)/2;

p=sqrt(s*(s-x)*(s-y)*(s-z));

printf("Povrsina trougla je=%0.2f\n",p);

}

else printf("Ne moze se konstruisati trougao\n");

}

9. /*Napisati program koji za dati trocifreni prirodan broj n proverava da li je Armstrongov. Broj je Armstrongov ako je jednak zbiru kubova svojih cifara.*/

#include

void main()

{

int c1,c2,c3,n;

printf("Uneti trocifren broj\n");

scanf("%d",&n);

c1=n%10;

c2=n/10%10;

c3=n/100;

if(c1*c1*c1+c2*c2*c2+c3*c3*c3==n)

printf("Broj %d je Armstrongov\n",n);

else

printf("Broj %d nije Armstrongov\n",n);

}

10. /*Napisati program koji za dato x izraunava y po formuli.*/

#include

void main()

{

double x,y;

printf("Uneti vrednost za x\n");

scanf("%d",&x);

if (x