Programski jezik C
1 |
S t r a n a
Osnovne osobine programskog jezika C
1. C je operatorski jezik (ima preko 40 operatora tipa +, -, ...)
2. C se naziva slabo tipiziran jezik. Dozvoljeno je mješanje tipova podataka. Način realizacije logičkog tipa je drugačiji i utiče na stil
programiranja.
Elementi programskog jezika C
. To su sintaksa, semantika i pragmatika.
- Sintaksa je "pravopis". Ona nam kaže kako nešto napisati.
- Semantika je "značenje" onoga što je napisano.
- Pragmatika je kako se koristi programski jezik, odnosno kako napraviti dobar program.
Alfabet
. ...svakog programskog jezika je skup dozvoljenih simbola.
1. Prva grupa simbola je engleski alfabet velikih i malih slova kao i _ (donja crta)
2. Druga grupa su cifre od 0-9.
3. Su specijalni znaci (+ * - ? ; , >> += == >>=)
Format izvornog koda
. Format je način raspoređivanja naredbe.
- Slobodni format
- Vezani format
Kraj naredbe je novi red, to se zove "bijeli znak".
Rječnik je skup riječi koje su rezervisane za C. npr. while. Nemožemo nazvati promjenjivu sa riječima iz rječnika. Ima ih ukupno oko
30-40.
Komentari
. Su namjenjeni programerima, a nije prevodiocu odnosno kompajleru. C ima duži i kraći komentar.
/* (otvoren komentar)
tekst
...
...
(zatvoren komentar) */
// tekst (kraći komentar je samo za jednu liniju)
Identifikatori
. Je ustvari "ime". To su promjenjive, funkcije, tipovi, a može se dati i konstanti npr. π=3.14. U indetifikatore mogu
samo da uđu slova i brojevi a nemogu se koristiti specijalni znakovi. Uslov je jedino da prvo bude slovo. Dužina identifikatora može
da bude proizvoljno dugačak ali prevodilac uzima samo jedan dio (oko 31 karakter).
Konvencije
. Stil programiranja u C-u je vrlo individualan i do rješenja se dolazi na različite načine.
1. Prva konvencija je da indetifikatori koji imaju semantiku moraju biti mnemonički tj. da nas posjete na to značenje. Promjenjive se
nazivaju MASA, SNAGA itd. tj. imenom.
2. Odnosi se na promjenjive i programe a nije opšte prihvaćen. Koriste se tzv. CAMEL notacija (počinje malim slovom, a svaka druga
riječ počinje sa velikim) i pišu se spojeno. (myAge, inTransactionFile)
Globalna struktura programa i domet identifikatora
. Ekstenzija.C je konvencija ali nije pravilo.
Bez naslova-nastavak novog predavanja
Potprogrami su smješteni u biblioteke. Direktive nestižu do prevodioca. Prepoznaju se sa početkom #include <stdio.h> i nemora da
bude na početku već prije poziva prve funkcije.
Svaka promjenjiva treba da ima ime i tip.
Globalna promjenjiva
Domet identifikatora je oblast izvornog programa u kome identifikator smije da se koristi. Domet je
od mjesta fizičkog do kraja.
Deklaracija u C-u služi za širenje dometa i primjenjuje se prvenstveno na potprograme a nekad i na
globalne promjenjive.
2 |
S t r a n a
#include <stdio.h>
const double PI=3.1415926;
double obimKruga(doubler) {
return 2*r*PI;
}
Prilikom definisanja u zagradama su parametri ili formalni parametri. Na mjestu gdje se funkcija poziva ono što je na mjestu
parametara zove se argument.
Imenovana konstanta je u praksi uvijek označena velikim slovima. const je modifikator koji zaključava promjenjivu. Naziv
potprogram se u C-u neupotrebljava već funkcija. Kad se ispisuje onda se ispisuje tip rezultata pa ime a zatim idu parametri.
Vraćena vrijednost funkcije main namjenjena je operativnom sistemu.
int znači cjelobrojni tip funkcije main (int main). Takođe funkcija main nemora da ima parametre (int main ())
int main () {
double poluprecnik, obim;
scanf("%lf", &poluprecnik);
obim=obimKruga(poluprecnik);
printf("Obim kruga je:%f", obim);
return 0;
}
Konvenciona specifikacija % je prva koja se piše u scanf-u.
Tipovi podataka
Osnovni (bazni).
To su tipovi koji su ugrađeni u programski jezik i sami sebe objašnjavaju. Bazni se djele na:
- Standardni [1.znakovni (char), 2.cjelobrojni (int), 3.realni (float, double), 4. void]
- Enumeracija
Izvedeni tipovi
. Koji sam naziv govori da nije dovoljno da objasni sam tip. To su: niz, slog (struktura), pokazivač, datoteka ...
Uvedeni su modifikatori u svrhu potpunog definisanja tipa i postoje dvije vrste a to su:
- Modifikator dužine (short i long)
- Modifikator predznaka (signed i unsigned)
char
signed char
short [int] - zauzima dva puta manje nego int. Ovo u [ ] nemora da se piše i piše se samo short.
unsigned short [int]
int - zauzima obično 2 bajta, a opseg je -32768 do +32767
unsigned [int]
long [int]
unsigned long [int]
float - on je najmanji po apsolutnoj vrijednosti i mala je preciznost
double - on je osnovni realni tip
long double
Zadavanje imena tipu
. Kod imena obavezno je da bude prvo slovo veliko. Treba ih stavljati izvan funkcije.
typedef opis Ime;
typedef double Rastojanje;
Promjenjive
. Lokalne promjenjive su definisane unutar funkcije, a globalne van nje. Važnije su lokalne funkcije. Globalne se
najčešće pojavljuju kao konstante koje su imenovane (imenovane konstante).
tip ime
1
[=pv
1
] , ime
2
... -gdje je pv početna vrijednost.
int i=0, j, k, t=100;
Imamo dva modifikatora pristupa:
- const (njega koristimo)
- volatile (koristi se opretavine sisteme)
Ovo zaokruženo i boldirano bi bila definicija funkcije.

4 |
S t r a n a
Simboličke konstante
.
#define ime vrijednost
# define FALSE Ǿ
U stringu neće promjeniti, a u svim ostalim slučajevima hoće (gdje god naiđe na FALSE u ovom slučaju daće vrijednost Ǿ)
Nizovi (tip niza)
. Svrha niza je da objedini srodne promjenjive u cjelinu.
tip imeNiza[dužina] Ǿ ≤ indeks ≤ dužina - 1
int vek [50], i=1, j;
vek [10]
vek [i]
vek [2*i-j+1]
vek [50]
Indeksiranje u C-u je operacija za razliku od svih drugih programskih jezika.
double mtr [30] [40]
mtr [i] [j]
mtr [k]
mtr [2]
int iN[4] = {1, 6, -5, 10};
= {11, -24};
double d [ ] = {1.5, -0.8, 4.3};
double d [30] [40] = { {...}, {...}, ..., {...} };
Logički tip
.
2*( p>0)
Tip stringa
. String se u C-u realizuje kao znakovni niz sa specijalnim osobinam. Znakovni niz se pojavljuje u dve uloge.
- Jedna uloga je niz čiji su elementi znakovi.
- Druga uloga je znakovni niz u ulozi stringa.
Ima tri osobine:
-
Prva
osobina je posjedovanje stringovne konstante (Literale)
"Pero Perić"
Mogu se koristiti za inicijalizaciju ili kao argument funkcije. Dodjela se nemože vršiti.
-
Druga
osobina je način na koji se memoriše.
char ime [20] = "Pero Perić";
'P
'
'e' 'r'
'o'
' '
'P' 'e' 'r'
'i' 'ć
'
' Ǿ '
...
' Ǿ' -ASCII Ǿ
%s - konverziona specifikacija
string.h - biblioteka za stringove
Struktur ili slog
. Slog je kolekcija raznovrsnih elemenata (misli se na tip podataka). Slog služi da opišemo neki entitet.
Iste su tehnike kao kod enumeracije
struct tck {
double x, y;
}
struct tck t
1
, t
2
= {1.3, -0.5};
t1 = t2 t1.x
t1.x t2.y
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti