Professional Documents
Culture Documents
C Za 90 Minuta
C Za 90 Minuta
http://fizika.pmf.ni.ac.rs/mmilan
4. novembar 2011
Istorija
C 1970. god, Dennis Ritchie C++ - nadogradnja C-a Skoro svaki C program radi u C++ C++ objektno orijentisan Primena aplikacije, sistem, nauka itd
C++
Preporuka
Na poetku programa zaglavlje Imena promenljivih neki smisao Komentari za promenljive, delove koda... Prazne linije razdvajaju blokove koda
Struktura programa
/* Opis programa */ #include direktive int main() { konstante promenljive radi neto... return 0; }
// komentar
#include
#include <stdio.h>
Standard
Input and Output Library Funkcije ulaz/izlaz (printf, fprintf, scanf, fscanf, fopen, itd)
#include <math.h>
Matematike
#include moj_fajl.h"
Promenljive
Deklarisanje promenljivih:
int a; int b = 10; int rezultat = a + b;
Globalne i lokalne
Zavisi od mesta deklarisanja U funkciji (unutar {...}) vai za tu funkciju -> lokalna Globalna pristupa bilo gde u kodu
Moraju poeti slovom ili _donjom crtom, ne smeju da sadre navodnike, razmake i sline specijalne znake Razlikuju mala i VELIKA slova
Tipovi podataka
Razliiti tipovi promenljivih koriste memoriju na razliite naine Deklraisanje rezervie memoriju
Konstante
Bolji nain
const unsigned int N = 100;
Operatori
Aritmetiki
Dodela
vrednosti: dekrement
Inkrement,
Logiki
Uslovi
If...else Switch
Petlje
For While Do...while
If ... else
Uslovno grananje if (uslov) naredba else if (drugi uslov) naredba else naredba
Switch
switch (promenljiva) {
case mogucnost1: naredba; break; case mogucnost2: naredba; break; ... default: naredbe; }
switch (x) { case 1: "x je 1"; break; case 2: "x je 2"; break; default: "x je nepoznato"; } *** if (x == 1) { "x je 1"; } else if (x == 2) { "x je 2"; } else { "x je nepoznato"; }
For petlja
for (start; uslov; promena vrednosti) { naredbe; }
Primer
for (int i=10; i>0; i--) { printf(%d, i); }
Rezultat:10,9,8,7,6,5,4,3,2,
While petlja
Primer:
broj = 1; while (broj < 5) { broj = broj + 1; // ili broj += 1; }
Break i Continue
Break
Prekida
Primer:
petlju 5 4 STOP
Continue
Preskae
for (n = 5; n > 0; n--) { if (n == 3) { printf(STOP); break; // ili continue } else printf(%d\n, n); }
Funkcije
Definicija:
tip ime_funkcije (lista_parametara) { .... telo_funkcije(blok_naredbi).... }
Primer:
int zbir (int a, int b) { int r; r = a + b; return (r); }
Opseg vaenja
Funkcije u kodu
main()
Nizovi
Definicija:
tip ime [broj elemenata]
Niz argument funkcije: int funkcija (int niz[]) int mojniz [40]; funkcija (mojniz);
Primer:
int A[20];
Vrednosti lanova:
Viedimenzionalni
int matrica [5][5];
Strukture
Korienje:
v = automobil.brzina automobil.polozaj = x;
Primer:
struct kretanje { float brzina; float polozaj; bloat ubrzanje; ... } automobil, bicikla;
tampanje podataka
Naredba printf ili fprintf Format:
%[irina].[preciznost]f
Snimanje u fajl
FILE * ime_fajla; ime_fajla = fopen (ime.tip","w") fprintf(..., ...) fclose(ime_fajla)
Zadaci
1.
2. 3. 4.
Raunanje faktorijela Raunanje sume lanova niza Raunanje rastojanja izmeu dve take tampanje prostih brojeva manjih od N
Zadatak 1
=5 n! =125
Zadatak 2
=5 a(0) = 4, a(1) = 2.5, a(2) = 17, a(3) = 21, a(4) = 7 SUMA = 51.5
Zadatak 3
Funkcija za izraunavanje rastojanja izmeu dve take. Koordinate taaka date su kao:
A.x,
= (3, 5, 8) i B = (6, 2, 1)
Zadatak 4