Professional Documents
Culture Documents
(b=2): {0, 1} oktalni (b=8): {0, 1, 2, 3, 4, 5, 6, 7} decimalni (b=10): {0, 1, 2, 3,4 ,5 ,6 ,7 , 8, 9} heksadecimalni (b=16): {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Primer
ta su varijable?
Imenovani
prostor u memoriji raunara, koji je namenjen uvanju vrednosti odreenog tipa (celobrojne, realne, karakteri, itd). Sadre podatke koje koristi va program Koriste se za uvanje podataka koji se koriste u toku izvravanja programa
korienja varijabla mora biti deklarisana. Deklaracija se vri navoenjem tipa i naziva varijable. Opciono, mogu se pomou kvalifikatora dodatno specificirati karakteristike varijable. VANO: Kada se izvri deklaracija varijable, njena vrednost je nedefinisana.
i; char c; float f1, f2; float f1=7.0, f2 = 5.2; unsigned int ui = 0; (u poslednja dva sluaja izvrena je i inicijalizacija na poetnu vrednost)
Sadraj memorije
ADRESE ADRESE 0000 0000 0000 0000 int x1; 0000 0000 0000 0004 int x2=1; 0000 0000 0000 0008 double y1; 0000 0000 0000 000C 0000 0000 0000 0010 double y2=0.5; 0000 0000 0014 0000 0000 0000 0000 0018 0000 0000 0000 001C 0000 0000 0000 0020 0000 0000 0000 0024 0000 0000 0000 0028 0.5
promeljiva y2
SADRAJI
promeljiva x2
1
promeljiva y1
promeljiva x1
char jednobajtni znakovni tip. short int (ili samo short) celobrojni tip, obino duine 2 bajta (ree korien tip). int - celobrojni tip obino duine 4 bajta. long int (ili samo long) celobrojni tip, duina 4 ili 8 bajta (ree korien tip). float realna vrednost jednostruke preciznosti obino 4 bajta. double realna vrednost dvostruke preciznosti obino 8 bajta. long double - realna vrednost dvostruke preciznosti obino 8 bajta (ree korien tip). Signed nasuprot unsigned tipova
Primer 1
Napisati program koji primenom operatora sizeof odreuje veliinu memorije u bajtovima koja je potrebna za smetanje podataka tipa: char, int, float, double. Reenje: #include <stdio.h> int main() { printf("Velicina memorije (izrazena u bajtovima) iznosi:"); printf("\n-za char \t %d", sizeof(char)); printf("\n-za int \t %d", sizeof(int)); printf("\n-za float \t %d", sizeof(float)); printf("\n-za double \t %d", sizeof(double)); return 0; }
printf i scanf
Formatirani
ulaz-izlaz printf ispisuje na standardni izlazni ureaj stdout (ekran). Moe prihvatiti varijable i ispisati njihovu vrednost u odgovarajuem formatu. scanf uitava vrednost sa standardnog ulaznog ureaja stdin(tastatura) i uitanu vrednost dodeljuje varijabli.
Primer 2
/* Uitava se temperatura u celzijusima i konvertuje u Kelvine*/ #include <stdio.h> int main( ) { double celzijusi, kelvini; printf(Unesite temperaturu u celzijusima: "); scanf("%lf",&celzijusi); kelvini = celzijusi +273.15; printf(%lf stepeni celzijusa je %lf stepeni kelvina\n", celzijusi, kelvini); return 0; }
printf ("z=%d\n", z ); Format string ("... ") Sekvenca %d je specijalna sekvenca (format specifikator) i ona se ne tampa na izlaznom ureaju! %d saoptava printf-u da na zadatom mestu ispie vrednost celobrojne promenljive koja sledi iza format stringa.
Konstrukcija %<format> u format stringu printf/scanf se zamenjuje sa vrednou odgovarajue varijable. %c karakter konverzija %d celobrojna konverzija, %u neoznaena celobrojna konverzija. %f konverzija realne vrednosti (float) %lf konverzija realne vrednosti dvostruke preciznosti (double) %g drugi specifikator formata za double (u printf) %% - karakter % (u printf)
Primer 3
/* Aritmeticke operacije */ #include <stdio.h> int main() { int a = 5; int b = 3; printf("Zbir a+b je : %d\n",a+b); printf("Razlika a-b je : %d\n",a-b); printf("Proizvod a*b je : %d\n",a*b); printf("Celobrojni kolicnik a/b je : %d\n", a/b); printf("Pogresan pokusaj racunanja realnog kolicnika a/b je : %f\n", a/b); printf("Realni kolicnik a/b je : %f\n", (float)a/(float)b); printf("Ostatak pri deljenju a/b je : %d\n", a%b); return 0; }
int tip
Celobrojne Najee
korien celobrojni tip. -2,147,483,648 do 2,147,483,647. Ukoliko su koriene celobrojne vrednosti dovoljno male moe se, zbog utede memorijskog prostora, koristiti char ili short.
double tip
Realni
Najefikasniji
floating point tip. Raspon vrednosti: 2.22507e-308 - 1.79769e+308 Kada je neophodno postii utedu memorijskog prostora, a oekivane vrednosti promenljive to dozvoljavaju, moe se koristit float (raspon vrednosti: 1.17549e-038 - 3.40282e+038) Kada se koriste izrazito velike vrednosti ili je potrebno postii vrlo veliku preciznost, koristi se long double.
char tip
Karakteri:
znakova, netampajuih (belih) znakova, ali moe se koristiti i za uvanje malih celobrojnih vrednosti (0 do 255 ili -128 do 127).
ASCII.
Primer 4
/* koristenje char kao znakovnog tipa i za malu numericku vrednost */ #include<stdio.h> int main() { char znak; printf(Unesite znak: ); scanf(%c, &znak); printf(Znak kao karakter je: %c\n", znak); printf(Numericka vrednost znak-a je: %d\n", znak); printf(Karakter posle %c je %c\n", znak, znak+1); return 0; }
Aritmetiki operatori
Omoguavaju obavljanje odreene akcije (u naem sluaju matematike operacije) nad odreenim vrednostima (konstantama, varijablama). Vrednsoti nad kojima se obavlja akcija - operandi. Uobiajeni operatori:
zagrade () dodela vrednosti = sabiranje + oduzimanje mnoenje * deljenje / moduo % inkrementacija (uveanje za 1) ++ dekrementacija (umanjenje za 1) - -
Aritmetiki operatori
a
=a+3 a = a b a = a * c /=, %=
a
a += 3 a = b a *= c
= a + 1 a += 1 a++ ++a b = b 1 b = 1 b b
i
= j++; i = ++j;
i = j; j = j + 1; j = j+1; i = j;
tano je sve razliito od 0 (pre svega 1) Logiki netano je sve jednako sa 0 Relacioni: < > <= >= == != Logiki: && (I), || (ILI), ! (NE)
Overflow primer
#include <stdio.h> int main( ) { int iA = 1000; int iB = 1000000; int iC = 3000000; int iD = 5000000; printf ("%d * %d = %d\n", iA, iB, iA*iB); printf ("%d * %d = %d\n", iA, iC, iA*iC); printf ("%d * %d = %d\n", iA, iD, iA*iD); return 0; }
Veba 1
Napisati program koji od korisnika trai da unese vrednost u centimetrima, a zatim datu vrednost konvertuje u metre. Za unos koristiti celobrojne vrednosti, a metre prikazati kao realne vrednosti
Veba 2
Napisati program koji od korisnika trai da unese tri celobrojne vrednosti, a zatim ispisuje njihov zbir i aritmetiku sredinu.
Vezba 3
Napisati C program koji uitava sa tastature temperaturu u Celzijusima i konvertuje u Farenhajte. Formula za raunanje: [F] = [C] 9 5 + 32
Vezba 4
Napisati
START
a, b
DA
a>b a b
NE
END