570 likes | 765 Views
PROGRAMIRANJE NA JEZIKU C. #include <stdio.h> main() { printf(“Pozdrav svima!”); }. Preprocesorske direktive. #include <stdio.h> #define BROJ 10. Komentari. // Komentar u jednom redu /* komentar u vise redova */. Tipovi podataka. Tipovi podataka. znakovni, celobrijni i
E N D
#include <stdio.h> main() { printf(“Pozdrav svima!”); }
Preprocesorske direktive #include <stdio.h> #define BROJ 10
Komentari // Komentar u jednom redu /* komentar u vise redova */
Tipovi podataka • znakovni, • celobrijni i • racionalni. int broj; double pi;
Operatori • dodeljivanja • aritmetički • inkrementiranja i dekrementiranja • poređenja • logički • nad bitovima • pomeranja • sizeof • adresa od i posredni pristup
Operator dodele int broj; redniBroj = 70;
int x, y; x = 5; y = x++; // y ima vrednost 5 a x ima vrednost 6 x = --y; // x ima vrednost 4
Kontrolne strukture • Blokovi naredbi • Selekcine i • iteracije
Blokovi naredbi void testBlokIskaza() { int x = 10; { // Pocetak bloka int y = x + 10; ... } // Kraj bloka // y ovde ne postoji }
Selekcije • IF selekcija • SWITCH
IF selekcija if (uslov) { // blok A } else { // blok B } Na primer: if (x > 10) y = x + 10; else y = x ;
SWITCH selekcija switch (selektorskaPromenljiva) { case vrednost1: // niz naredbi break; case vrednost 2: // niz naredbi break; . . . case vrednost n: // niz naredbi break; default: // niz naredbi }
Primer 1 #include <stdio.h> main() { int op; int broj1, broj2; broj1 = 7; broj2 = 9; printf("Unesi op:"); op = getchar(); switch(op){ case '+': printf("%d + %d = %d \n", broj1, broj2, broj1+broj2); break; case '-': printf("%d - %d = %d \n", broj1, broj2, broj1-broj2); break; case '*': printf("%d * %d = %d \n", broj1, broj2, broj1*broj2); break; default: printf("Pogresan operator!\n"); } }
Iteracije • FOR petlja • WHILE • DO
FOR for (inicijalizacija; test; inkrement) { // blok naredbi; }
Primer2 #include <stdio.h> #define MIN 11 #define MAX 19 main() { int y; int x; for (x = MIN; x <= MAX; x++){ y = 3*x*x + 2*x + 1; printf("za x = %d y = %d \n", x, y); } }
While while (uslov) { // blok A }
Primer 3 #include <stdio.h> #define MIN 11 #define MAX 19 main() { int y; int x; x = MIN; while ( x<=MAX ){ y = 3*x*x + 2*x + 1; printf("za x = %d y = %d \n", x, y); x++; } }
DO petlja do { // blok A } while
Primer 4 #include <stdio.h> #define MIN 9 #define MAX 19 main() { int i; i = MIN; do { printf("i = %d, i*i = %d \n", i, i*i); i++; } while ( i<=MAX ); }
Naredbe break i continue u petljama int i = 0; while (i < 100) { i++; printf (" i = %d" , i); if (i == 10) break; } int i = 0; while (i < 10) { printf (" i = %d" , i); if (i++ % 2 == 0) continue; printf(''\n'); }
Štampanje znakovnih podataka putchar(znak); printf(“Tekst koji treba da se prikaze na ekranu”);
Štampanje celobrojnog podatka int broj1, broj2; broj1 = 7; broj2 = 9; printf(“Vrednost broja 1 je: %d a vrednost broja 2 je:%d \n”, broj1, broj2);
Štampanje znakovnih nizova static char ime[] = “Petar”; static char prezime[] = “Petrovic”; printf(“Ime studenta je %s a prezime je %s”, ime, prezime);
Štampanje realnih brojeva float broj1; double broj2; broj1 = 10.77; broj2 = 2.718828458; printf(“broj 1 = %2f\n , broj 2 = %7.5f\n”, broj1, broj2);
%[markice][sirina][.preciznost]tip • f • e ili E • g ili G
Primer 5 #include <stdio.h> main(void){ double pi; pi = 3.141592653; printf("Vrednost broja pi je:%5.3f\n", pi); printf("Vrednost broja pi je:%7.5f\n", pi); }
Učitavanje char ime[20]; gets(ime); printf(“Ime je: %s \n”, ime);
char bafer[7]; int ceoBroj; printf(“Unesite ceo broj:”); gets(bafer); ceoBroj = atoi(bafer); printf (“Vrednost unesenog broja je %d \n”, ceoBroj);
float realanBroj; printf (“Unesi realan broj: ”); scanf(“%f \n”, &realanBroj); printf (“Realan broj je: 3f \n”, realanBroj);
Funkcije povratni_tip ime (lista_argumenata) { deklaracija promenljivih naredba1 naredba2 … povratna_naredba }
int max(int a, int b) { if (a>b) return a else return b } int x,y; x = 11; y = 9; int m = max(x, y);
Primer 6 #include <stdio.h> int max(int, int); main() { int x,y; x = 11; y = 9; int m = max(x, y); printf("Maksimalna vrednost je: %d",m); } int max(int a, int b) { if (a>b) return a; else return b; }
Primer 7 #include <stdio.h> int stepen(int, int); main() { int x,y; x = 2; y = 7; int m = stepen(x, y); printf("%d Stepen broja: %d je %d",y,x, m); } int stepen(int a, int b) { int st = 1; for (int i = 1; i<=b; i++) st = st*a; return st; }
Primer 8 #include <stdio.h> int fakt(int); main() { int n; n = 4; int faktorijel = fakt(n); printf("Faktorijel broja: %d je %d",n, faktorijel); } int fakt(int n) { int f = 1; for (int i = 1; i<=n; i++) f = f*i; return f; }
Rekurzija Primer 9 #include <stdio.h> #include <stdlib.h> #define BROJ_CIFARA 5 int faktorijel(int); main() { char bafer[BROJ_CIFARA]; int broj; int rezultat; printf("Unesite ceo broj:"); gets(bafer); broj = atoi(bafer); rezultat = faktorijel(broj); printf("faktorijel broja %d je %d \n", broj, rezultat); } int faktorijel(int n) { if (n<= 1) return 1; else return n*faktorijel(n-1); }
Nizovi tip_niza ime_niza[velicina_niza]; int niz[] = {3,6,7,9,1}; printf(“Drugi element niza je %d”, niz[1]);
Primer 10 #include <stdio.h> #include <stdlib.h> #define BROJ_CIFARA 5 #define BROJ_ELEMENATA 5 main() { char bafer[BROJ_CIFARA]; int niz[BROJ_ELEMENATA]; for (int i = 0; i< BROJ_ELEMENATA; i++){ printf("Unesite %d elemenat niza:",i); gets(bafer); niz[i] = atoi(bafer); } printf("Elementi niza su:\n"); for ( i = 0; i< BROJ_ELEMENATA; i++){ printf("x[%d]=%d\n",i,niz[i]); } }