You are on page 1of 87

Programiranje

Neja Zupan

Uvod

Skripta: Sreko Zorman: Programiranje, gradivo za interno uporabo. Knjige (na primer):
Donald Knuth: Umetnost raunalnikega programiranja (The Art of Computer Programming ) Viljem umer, Janez Brest: Uvod v programiranje in programski jezik C++, Maribor, FERI 2004. Martin Juvan, Matja Zavernik: Vaje iz programiranja: C, C++ in Mathematica, Ljubljana, tudentska zaloba, 2000. http://marcel.uni-mb.si/janez/cpp/ http://www.islovar.org/iskanje_enostavno.asp

Namen
Spoznati procese v izgradnji programske opreme Spoznati osnovne sestavine programiranja Spoznati osnove dela s podatki Spoznati elemente algoritmov za pisanje programov

Cilj
Sluatelj naj bi bil sposoben:
Kodirati postopke za obdelavo podatkov med uporabnikom, notranjim in zunanjim pomnilnikom

Vsebina
1. Uvod (Osnovne in znailnosti programiranja, objektno usmerjen pristop, ) 2. Osnove (gradniki, spremenljivke, konstante, podatkovni tipi, ) 3. Osnovne krmilne strukture (pogojni in ponavljalni stavek, podprogrami) 4. Kazalci in funkcije 5. Tabele 6. Dinamini pomnilnik

Znanost in umetnost
Snovanje programov vsebuje elemente:
znanosti, umetnosti, matematike in tehnike.

Programiranje
je dejavnost, katere cilj je ustvarjanje novih raunalnikih programov ali njihovih sestavnih delov na temelju doloenih pravil.

Vrste programiranja
Proceduralno programiranje
Potek izvajanja je v naprej doloen START ... KONEC Blije raunalnikemu jeziku

Dogodkovno - objektno programiranje


Potek programa je odvisen od dogodkov npr.:
Na kateri gumbek klikne uporabnik

Blije lovekemu razmiljanju

Raunalniki programi
Raunalniki programi so napisani v izvorni kodi doloenega programskega jezika, pri delu pa si programer lahko pomaga z ustreznimi razvojnimi orodji zanj.

Programski jezik
skupek pravil, podatkovnih struktur in vmesnikov, ki programerju sluijo kot orodje za izdelavo programa. zbirka ukazov, ki jih razume raunalnik, s katerimi mu doloimo katera opravila naj opravi in po katerem vrstnem redu

Programski jezik
Izbira programskega jezika odvisna od:
Vrsta problema Nae znanje programskih jezikov Delovno okolje Karakteristike raunalnika Finanne omejitve

Programski jeziki
Strojni jezik Zaporedje cifer 1 in 0, edino kar ra. razume Odvisen od procesorja Poasno in nepregledno programiranje Zbirni jezik (assembler) 1 in 0 zamenjajo rkovne kode, laje si zapomnimo Samo za asovno kritine elemente (ra. igre) Viji programski jeziki: Pascal, C++, Basic, Prenosljivost neodvisnost od procesorja Prevajalniki prevajajo kodo v zbirni jezik Jeziki 4. Generacije: SQL, Neprilagodljivi in potratni Za hitro reevanje ozkih problemov
ve dela za loveka veja pomo raunalnika

Programski jezik
Programski jeziki se uporabljajo zato, ker sta lovekova in raunalnikova govorica tako razlini, da je pisati programe v jeziku raunalnika (strojni kodi) nepregledno in nasploh mukotrpno.

Raunalnik razume le strojni jezik


Obstajata dva naina pretvorbe kode:
Prevajanje opravi prevajalnik (compiler)
Prevede preden program poenemo Prevedemo 1x, poenemo vekrat Za razline platforme prevedemo na vsaki (razen Jave)

Tolmaenje opravi tolma (interpreter)


Postopno korak za korakom tolmai vrstico izvorne kode med izvajanjem Laje odkrivanje napak, npr. v katerem koraku Poasneje izvajanje programa

Zbirni jezik
Zbirni jezik (assembler) (angleko assemble - zbirati) je programski jezik, ki je napisan z mnemoniki. Mnemoniki predstavljajo kodo v strojnem zapisu (nile in enice).

Primer programa v zbirniku


:004012A2 0500466F72
:004012A7 6D :004012A8 3100 :004012AA 0D010D0041 :004012AF 7070 :004012B1 204368 :004012B4 61 :004012B5 6C :004012B6 6C :004012B7 65

add eax, 726F4600


insd xor dword ptr [eax], eax or eax, 41000D01 jo 00401321 and byte ptr [ebx+68], al popad insb insb BYTE 065h

Zbirni jezik
povezano s strojno opremo programi neprenosljivi na drugano strojno opremo zavzamejo manj prostora v pomnilniku izvajajo se hitreje

C++
konec 70ih: Bjarne Stroustrup (takrat inenir pri Bell Labs) raziritev zelo razirjenega programskega jezika C dodatki iz Simula67 ter Algol68 prvotno se je jezik imenoval C with Classes (C z razredi) ime C++ se prvi pojavi v letu 1983 v drugi polovici osemdesetih let C++ doivi korenite spremembe

Zgodovina imena C++


Ime jezika pripisujejo Ricku Mascittiju in so ga prvi uporabili decembra 1983. Kombinacijo C+ je tedaj e tudi zasedel drug nesoroden jezik. Pripono ++ je po Stroustrupovih besedah dal zaradi evolucijske/revolucionarne narave raziritve C. C++ je tudi pogosteje kot npr. raba ++C. Ker C++ v bistvu ni spremenil C-ja, bi bilo e pravilneje ime C+1. Ko so leta 1992 vpraali Mascittija zakaj je dal takno ime, je navedel, da je bilo ime le neuradno in da si ni nikoli mislil da bo postalo tudi uradno ime.

C++ standardizacija
Leta 1989 pod okriljem ANSI (American National Standards Institution) organizacije ustanovljen oddelek za standardizacijo programskega jezika C++ (J16) zatem ISO (International Standardization Organization) oddelek za mednarodno standardizacijo Specifikacije standarda so tudi zamrznili za naslednjih pet let, dovoljene spremembe so le popravki morebitnih napak Leta 1998 so sprejeli tudi ISO standard za jezik C++ kot ISO/IEC 14882:1998. Trenutna razliica standarda je ISO/IEC 14882:2003. Razvijajo tudi novo razliico z neuradnim imenom C++0x.

C++
C++ (C plus plus) [ce plus plus] je splononamenski programski jezik. V C++ so podatkovni tipi statini, zapis kode je prost. Jezik podpira: veparadigmatino proceduralno programiranje podatkovno abstrakcijo objektno usmerjeno generino programiranje

Proceduralno programiranje
uporablja procedure zaporedje programskih stavkov s svojim imenom lahko izvedena vekrat med delovanjem programa zakljuen del programa, ki ga lahko izvajanje naloge celotnega programa potrebuje vekrat

Abstrakcija podatkov

Abstraktni podatkovni tip


ADT int Podatki: Moen predznak + ali -, ki mu sledi zaporedje desetikih tevk. V nadaljnjem besedilu oznaimo tako predznaeno celo tevilo z N. Operacije: konstruktor Ustvari nov primerek int - torej novo predznaeno celo tevilo. pritej(k) Matematini operator +. Ustvari nov primerek int, ki je vsota N in k. odtej(k) Matematini operator -. Ustvari nov primerek int, ki je razlika N in k. set(k) Operator prirejanja. Predznaenemu celemu tevilu N priredi vrednost k.

Objektno orientirano programiranje


laja in bolj neposredno predstavitev realnega problema v programu z objekti svoje lastnosti (podatkovni del programiranja) svoje obnaanje (funkcionalni del programiranja)

OOP: objektno orientirano programiranje


Razred abstrakna predstavitev vsebuje definicije lastnosti in metod Objekt konkretna instanca (primerek) razreda vsebuje vrednosti Lastnost (property) oznauje neko lastnost objekta, npr. velikost rk Metoda (methode) funkcija, ki prebere ali spremeni neko lastnost objekta
Pri tiskanju bi bila matrica razred, vsak tiskan list pa svoj objekt tega razreda

OOP
Gumbek na ekranu je svoj objekt Objekti izhajajo iz razredov Vsi objekti, ki izhajajo iz istega razreda, imajo skupne lastnosti in metode:
Napis Pozicija na ekranu Lahko je (ne)aktiven Zazna, ko ga uporabnik pritisne ...

Objektom uporabnikega vmesnika pravimo tudi gradniki uporabnikega vmesnika

OOP
Lastnosti razreda so zavarovane do njih lahko dostopamo (beremo, spremeninjamo) le preko metod
(object-based programming)

Pomemben element so dogodki (events), npr:


Ko uporabnik klikne na gumbek Ko uporabnik premakne miko Ko uporabnik spremeni besedilo v vnosnem polju

OOP
Vsak razred lahko sprejme sporoila o doloenih dogodkih (event-driven
programming, event procedure)

Program dogodke zazna in takrat lahko program izvede del programske kode imenovan

Primer C++
#include <iostream> int main() { std::cout << "Pozdravljen svet!" << std::endl; return 0; // ni potrebno po ISO standardu }

Zakaj C++
objektno orientirano programiranje prenosljivost zgoenost, jedrnatost modularno programiranje zdruljivost s C hitrost

Povzetek
Programiranje: pisanje (oblikovanje, ...) zaporedja ukazov
Programski jezik: skupek pravil, zbirka ukazov Program: Natanen opis zaporednih korakov (ukazov, akcij, ...), ki naj jih izvede raunalnik Prevajalnik: raunalniki program, ki prevede izvorno kodo napisano v vijem programskem jeziku v strojni jezik Aplikativni programi (aplikacije, uporabnike reitve)

Algoritem
navodilo, s katerim reujemo doloen problem seznam korakov, ki nas pripeljejo do reitve problema primer algoritma iz vsakdanjega ivljenja je kuharski recept zaporedje operacij, ki nas v konnem tevilu korakov vodijo do reitve problema

Znailnosti algoritma
(lahko) ima podatke, 1. (obiajno) vrne rezultat, 2. 3. je natanno doloen, ZANI je konen, PREBERI je izvedljiv. TEVILO A
PREBERI TEVILO B

zajemanje podatkov obdelava podatkov izpis rezultatov

X
VSOTA = A+B
IZPII VSOTA

KONEC

Kategorije algoritmov
Obstajajo razline kategorije algoritmov, bolje reeno strategij, ki jih uporabljamo za reevanje problemov. Poznane strategije so:
deli in vladaj dinamino programiranje porena metoda linearno programiranje verjetnostni algoritmi

Pri analizi algoritma nas obiajno zanimata njegova prostorska in asovna zahtevnost.

Deli in vladaj
Deli in vladaj (angleko Divide and Conquer) predstavlja strategijo delitve problema na manje probleme, ki so prvotnemu problemu enaki (enakega tipa). Tak postopek ponavljamo, dokler nismo sposobni reiti podproblemov. Strategija temelji na rekurziji.

Deli in vladaj
procedure DeliInVladaj(a, dno, vrh, reitev) // a[dno], a[dno+1], ... , a[vrh]; dno>=1 so podatki begin if problem majhen (dno, vrh) then resi (a, dno, vrh, reitev) else begin // problem ni majhen, potrebna delitev s := deli(dno,vrh) // index delitve, razdeli na 2 podproblema DeliInVladaj(a, dno, s, reitev) // rei levi podproblem DeliInVladaj(a, s+1, vrh, reitev) // rei desni podproblem Zdrui(dno, s, vrh, reitev) // zdrui reitve posameznega podproblema end end

Dinamino programiranje
sistematino pregledovanje monih poti v reevanju problema in zato tudi pride do optimalne reitve potencialne reitve na tekoem koraku doloamo na osnovi potencialnih reitev iz prejnjega koraka Poznamo dva pristopa za reevanje:
pristop naprej pristop nazaj

Porena metoda
laji del prepustimo raunalniku, teji del pa izvedemo sami neko dejanje privede na preprost nain do cilja Princip delovanja: iemo optimum funkcije (minimum ali maksimum), tako da sproti gradimo reitev. Graditev reitev: dodajamo najbolje dopustne dele reitev.

Zapis algoritma
Algoritem lahko zapiemo na ve nainov: v naravnem jeziku hierarhini diagram s pomojo odloitvene tabele s pomojo psevdokode grafino s pomojo diagrama poteka programskem jeziku

Hierarhini strukturni (drevesni) diagram


Korake za strukturo programa dobimo iz hierarhine strukture, npr. e obstojee, kjer spreminjamo predvsem spodnji del
MAIN INICIALIZACIJA
Deklaracije Izpis glave spremenljivk poroila

PROCES

ZAKLJUEK

Preberi en Setej Izpis vrstice Izraun Izpis skupnih Raunaj zapis vsote tabele povpreja vsot in povrp.

Izraun bruto

Izraun davka

Izraun neto

Odloitvena tabela
Delno zamenja oz. dopolnjuje diagram poteka Razdeljena je na 5 enot:
A vpraanja, ki jih lahko odgovorimo z True ali False, ter razlinost odgovorov vpliva na odloitev B mone odloitve C, D in E stolpci, kjer je vsak stolpec svoje pravilo

C A D

Odloitvena tabela - primer


Pravila:
e ima stranka pri nas odprt raun na katerem je dovolj denarja, izvedi transakcijo e ima stranka pri nas odprt raun s premalo denarja izvedi transakcijo le, e se strinja vodstvo V vseh drugih primerih zavrni Pravila transakcijo

Stranka ima raun

Na raunu je dovolj denarja Vodstvo odobri


Izvedi transakcijo

Zavrni transakcijo

Strukturirano programiranje
Programiramo samo z naslednjimi strukturami:
zaporedje
Rutina 1 Rutina 2 e-potem-drugae ponavljaj-dokler Pogoj True Rutina 1

True
Rutina 1

Pogoj

False
Rutina 2

False

Strukturirano programiranje

Psevdokoda
Opisujemo opravila delno s programskimi ukazi:
DO WHILE imamo e zapise v datoteki IF zaloga je manja od 10% nartovane THEN izpolni naroilo polji naroilo po e-poti ENDIF zapii log LOOP

Akcijski diagram
Podbno psevdokodi Grafino oznaimo:
zanke (debelo) pogojne stavke (tanke) prekinitev zanke (puica)
* Glavni program Prikai naslove Za i = 1 do 100 Vnesi podatke If (podatek ni numerien) If (vsaj en podatek) Izraun Prikai rezultat Else Prikai Ni podatkov

Kodo sestavljata:
* (naslov) (akcija)

Dogodkovni diagram
Opisujejo opravila, ki sledijo npr. enemenu dogodku (za vse dogodke):
Uporabnik pritisne gumbek za konec Izpii, da zakljuuje Zapii podatke v datoteko Sprazni podatke v pomnilniku Izpii Konec

Dogodkovni diagram

Diagram poteka
Grafino opisuje pravila po katerih pridemo do reitve Diagram poteka je eden izmed nainov zapisa algoritma

Osnovni gradniki
start block
izpisovalni blok bralni blok

Osnovni gradniki
prireditveni blok
klic podprograma odloitveni blok
a=0

funkcija

odloitev

Osnovni gradniki
blok za shranjevanje podatkov
pot konni blok
konec

Osnovni gradniki

Naloge
Nalogi za ogrevanje: Nariite diagram poteka za popoldanske aktivnosti. Sestavi diagram poteka, ki izrauna ploino trikotnika z dano osnovnico in viino. Sestavi diagram poteka, ki izrauna ploino trikotnika iz treh stranic s pomojo Heronove formule.

Naloge
Naloga 1 Sestavi diagram poteka, ki izrauna absolutno vrednost danega tevila. Naloga 2 Sestavi diagram poteka, ki izbere veje od dveh tevil. Naloga 3 Sestavi diagram poteka, ki vpie 10 tevil in jih seteje.

Povzetek
Algoritem: seznam korakov, ki nas pripeljejo do reitve problema
Kategorije algoritmov: strategije za reevanje problemov Naini zapisa algoritma:
v naravnem jeziku hierarhini diagram s pomojo odloitvene tabele s pomojo psevdokode grafino s pomojo diagrama poteka programskem jeziku

Proces izgradnje programa

Problem, zaetni pogoji in podatki Doloimo cilje in namen programa

1 2 3 4

Programiranje Nart reevanja-zaporedje korakov Kodiranje Zapis v programski jezik


Izvajanje, testiranje

LEGENDA dokumentacija
Dokumentacija za konnega uporabnika Vzdrevanje

5
6

nae delo
7

1. Analiza problema
Precizno definiramo problem oz. podroje, ki ga pokriva aplikacija, napiemo programske specifikacije: opis vhodov, obdelave, izhodov in uporabnikih vmesnikov

2. Zasnova programa
izdelaj podrobno logiko programov z uporabo orodij kot so akcijski diagrami, psevdokoda, diagrami strukture objektov, dogodkovni diagrami, ..in razleni funkcije programa v module, izdelaj algoritme za obdelavo podatkov, preveri algoritme

3 Programiranje 3 reevanja Programiranje Nart -zaporedje korakov

Problem razdelimo na manje podprobleme, dokler ne pridemo do problemov, ki jih znamo kodirati Poiemo e napisano programsko kodo za posamezne korake oz. podprobleme Posamezne korake komentiramo v kodi, kar nam olaja nadaljnje delo

4 Kodiranje 4 Kodiranje Zapis v programski jezik

Posamezne korake zapiemo v izbranem programskem jeziku Teavnost dela je odvisna predvsem od dodelanosti prejnje stopnje in sposobnosti programerja Teimo k im veji preglednosti, enostavnim proceduram (posamezni logino loeni deli kode)

5 Izvajanje, testiranje
Testiranje program in sprotno odpravljanje napak Pri testiranju je potrebno vnaati logine (raznolikost testnih podatkov) in mejne vrednosti (npr. max. tevilo priakovanih podatkov...) Program lahko javi, da so mejne vrednosti preseene, ne sme pa prenehati delovati se odzivati

5 Izvajanje, testiranje
Zagotoviti moramo delovanje programa v skladu s cilji (hitrost, ...) in skladno popraviti kodo Testirajo naj e izkueni programerji, ki niso sodelovali pri programiranju in uporabniki

5. Dokumentiranje aplikacije
Preveri in popravi in integriraj interno dokumentacijo, izdelaj uporabnikovo dokumentacijo

6. Vzdrevanje
Omogoi usposabljanje in podporo konnim uporabnikom; popravljaj napake, ki se pokaejo med uporabo aplikacije, prilagaja program spremenjenim oz. novim zahtevam

KODIRANJE
C++

Vstopna toka
komentar
// Moj Program // verzija 0.0.1 /* OPIS: Kaj e ponemo? Piemo komentarje, ki se lahko raztezajo ez ve vrstic. */ /* 20.2.2022 */ // Naredil sem to!

Vstopna toka
funkcija main () struktura programa
// prvi program izpis pozdrava #include <iostream.h> int main () { cout << Pozdrav iz C++a!; return 0; }

Vstopna toka
deklaracija in definicija
/* */ // deklaracija char a; int b; // deklaracija ter definicija, uporaba preznaka char c = 10; int d = +10; // prvi program izpis pozdrava char e = -10; #include <iostream.h> int f = +10; int main () { cout << Pozdrav iz C++a!; return 0; } Primeri deklaracij ter definicij celotevilnih spremenljivk.

Podatki
podatkovni tipi spremenljivke konstante inicializacija doseg spremenljivk

Osnovni podatkovni tipi


PODATKOVNI TIPI

ARITMETINI

LOGINI

ZNAKOVNI

CELOTEVILNI

REALNI BOOL

CHAR

INT

FLOAT

DOUBLE

Podatkovni tipi
podatkovni tip tevilo zlogov short int long char float double long double bool 2zloga (16 bitov) 2 zloga ali 4 zlogi 4 zlogi 1 zlog 4 zlogi 8 zlogov 10 zlogov 1 bit obseg -32768...32767 (predznaena) (nepredznaena) 0...65355

-2147483648...2147483648 (predznaena) 0...4294967295 (nepredznaena) -128...127 (predznaena) 0...255 (nepredznaena) 7 mest 15 mest 19 mest true ali false

Cela tevila
Naravna, cela tevila (integer) sestavljajo tiri podskupine: short je sestavljen iz dveh bajtov, int iz 4 bajtov, long pa omogoa uporabo tevil, ki niso veja od osmih bajtov.

Cela tevila
Cela tevila lahko zapisujemo v treh tevilnih sistemih: Najpogosteje jih zapiemo v desetikem sistemu. e jih elimo v osmikem sistemu, uporabimo le tevilke od O do 7, pred tako tevilko pa moramo vedno zapisati tevilko 0, npr.011 (decimalno 9) Za pisanje estnajstikih tevil lahko uporabimo tevilke od 0 do 9 in rke od A do F. Pred estnajstiko tevilo moramo zapisati simbola 0x ali 0X. tevilo 11 bi lahko zapisali v obliki 0xB.

Realna tevila
Realna tevila so sestavljena iz celega tevila in decimalne vrednosti, ki ju loimo z decimalno piko. e elimo, jih lahko zapiemo v eksponenti obliki, z znakom e ali E, npr.12.16+E20. Realna tevila sestavljata dve podskupini, podatkovni tip z enojno (float) ali z dvojno natannostjo (double). Prvi podatkovni tip zasede 4 bajte raunalnikovega pomnilnika, drugi pa 8.

Znaki
Spremenljivko lahko predstavlja en sam znak (char). Znak zapiemo med dva enojna narekovaja, npr. 'P'. S simbolom \ lahko prikaemo tudi posebne, ubene (escape) znake, ki jih ne najdemo na tipkovnici. Znak za novo vrstico lahko zapiemo v obliki '\n Znak za pomik na zaetek vrstice '\r'

Konstante in spremenljivke
V spremenljivke shranjujemo zaasne vrednosti, ki se praviloma spreminjajo med izvajanjem programa Konstante shranjujejo vrednosti, ki se ne spreminjajo med izvajanjem programa Vsako spremenljivke najavimo preden jo uporabimo v programu (opiemo tip, dolino, ) (priporoeno)

Konstante in spremenljivke
Na prvem mestu naj bo rka angleke abecede; v imenih slovenskih rk ne uporabljamo sledijo lahko rke, tevilke, spodnji vezaji pika, presledek, posebni znaki, (%,$,/, ) ne smejo biti del imena; ne sme vsebovati rezerviranih besed (ukazov, vgrajenih konstant, ) ime naj bo pomensko dolga imena so lae berljiva, e se vsaka beseda v imenu zane z veliko rko

Definicija konstant
const pomeni, da ima spremenljivka konstantno vrednost in je ne moremo spreminjati

Definicija spremenljivk
deklaracija
TIP IME_SPREMNLJIVKE;

definicija
IME_SPREMNLJIVKE = NEKA_VREDNOST;

deklaracija in definicija istoasno


TIP IME_SPREMENLJIVKE = NEKA_VREDNOST;

Modifikatorji
MODIFIKATOR TIP IME_SPREMENLJIVKE;
MODIFIKATOR TIP IME_SPREMENLJIVKE = NEKA_VREDNOST;

// uporaba modifikatorjev short ter long short int malo = 100; // velikost spremenljivke naj bi bila 2 byte-a long int veliko = 10000; // velikost spremenljivke naj bi bila 8 byte-ov

Modifikatorji
// uporaba modifikatorjev signed ter unsigned char a; // -127 do +128, signed je privzeta vrednost signed char b; // -127 do +128 unsigned char c; // 0 do 255 int d; // - 21474836648 do +21474836647 unsigned int e; // 0 do 42944967296

Modifikatorji
char a; // v char lahko zapiemo tevila od -128 do +127 a = 0; // ni teav a = -100; // ni teav a = +100; // ni teav a = +129; // teava! vrednost spremenljivke a postane -127, kako? 129 - 256 = -127 a = 135; // teava! vrednost spremenljivke a postane -121, kako? 135 - 256 = -121 a = 1000; // teava! vrednost spremenljivke a postane -24, kako? 1000 - (4*256) = -24 a = -200; // teava! vrednost spremenljivke a postane +56, kako? -200 + 256 = +56

Modifikatorji
unsigned char a; // 0 do 255 a = 100; // ni teav a = 300; // teave, vrednost spremenljivke a postane 44, kako? 300 - 256 = 44 a = -300; /* teave, vrednost spremenljivke a postane 212, kako? -300 + (2*256) = 212, dvakrat pridemo naokoli*/ a = 1000; /* teave, vrednost spremenljivke a postane 232, kako? 1000 - (3*256) = 232, trikrat pridemo naokoli*/

V/I funkcije
//predprocesorska direktiva za V/I tok #include <iostream.h> int main() { int stevilo;
cout << "Vpisi celo stevilo:" << endl; cin >> stevilo; cout << "Vpisal-a si stevilo:" << stevilo << endl; return 0;

Operatorji
aritmetini operatorji (arithmetical operators), prireditveni operatorji (assignment operators), primerjalni operatorji (relational operators), logini operatorji (logical operators), operatorji nad biti (bitwise operators).

:: :: () () . -> [] ++ -++ -+ ! ~ & * podatkovni tip .* ->* * / % + << >> < <= > >= == != & ^ | && || ?: = *= /= %= += -= ,

//operator za doloanje globalnega vidnega obmoja //operator za doloanje vidnega obmoja v objektu (member) //oklepaji za klic funkcije //oklepaji pri klicu konstruktorja //izbor lana v nekem objektu //izbor lana v nekem objektu, kot kazalec //dostop do elementa v polju //inkrementacija, dekrementacija (kot popona) //inkrementacija, dekrementacija (kot predpona) //predznak //logini NE //bitni komplement //naslov spremenljivke //dereference //osnovna pretvorba enega tipa v drugega //razklic nad lanom (bolji prevod e iemo) //indirekten razklic nad lanom (bolji prevod e iemo) //mnoenje, deljenje //setevanje, odtevanje //vhodni ter izhodni operator //operatorji za doloanje neenakosti //operatorji za doloanje enakosti //bitni AND //bitni XOR //bitni OR //logini IN //logini ALI //pogojni operator //prirejanje, nastavitev //mnoenje in prirejanje //deljenje in prirejanje //deljenje z ostankom in prirejanje //setevanje in prirejanje //odtevanje in prirejanje //tudi to je operator (ne samo loilo), dve izjavi zdrui v eno

You might also like