Naslovnica Tehnologija Vodič za programiranje u C++ drugi dio

Vodič za programiranje u C++ drugi dio

49
0

  1. DIO: Struktura programa

Najlakši način za učenje programskog jezika je programiranje tj. Pisanje programa. Tipično, prvi program koji početnici pišu je program zvan „Hello World“ koji prikazuje Hello World na vašem Ekranu. Iako je vrlo jednostavan, sadrži sve temeljne dijelove C++ programa.

1
2
3
4
5
6
7
// my first program in C++

#include <iostream>

 

int main()

{

std::cout << “Hello World!”;

}

Hello World!

 

Lijevi panel prikazuje C++ kod za ovaj program. Desni panel prikazuje rezultat koji se dobije kad se pokrene kompajler. Sive brojke na lijevoj strani panela su brojevi redaka koji pomažu lakšem pregledu i traženju pogrešaka. One nisu dio programa.

Proučimo sada ovaj program, redak po redak:

Red 1: // my first program in C++
Dvije kose linije znače da je ostatak reda komentar koji je umetnuo programeri da nema nikakvog utjecaja na ponašanje programa. Programeri ih koriste za kratko objašnjenje vezano uz kod ili program. U ovom slučaju, radi se o uvodnom opisu programa.

Red 2: #include <iostream>

Redovi koji počinju s # su upute koje čita i tumači predprocesor. Ti redovi su protumačeni prije nego počne sama kompilacija programa. U ovom slučaju, uputa #include <iostream> upućuje predprocesor da uključi dio standardnog C++ koda, poznatog kao header iostream, koji dopušta standardne operacije vezane za upis i ispis, kao što je ispis programa (Hello World) na ekranu.

Red 3: Prazan red
Prazni redovi ne utječu na program ego pomažu boljoj čitljivosti koda programa.

Red 4: int main ()
Ovaj redak inicira izjašnjenje funkcije. Funkcija je grupa izjava kodova kojima je dano ime, u ovom im je slučaju naziv „main“. Funkcije ćemo objasniti kasnije, ali, općenito, funkcija je predstavljena s slijedom tipa (int), imenom (main) i parom zagrada ( () ) koje opcionalno sadrže neke parametre.

Funkcija imena main je posebna funkcija u svim C++ programima; to je funkcija koja se poziva kad se pokreće program. Izvršavanje svih C++ programa počinje s funkcijom main, neovisno o tome gdje se točno nalazi funkcija unutar koda.

Red 5 i 7: ( i )
Otvorena zagrada u redu 5 označava početak definicije main funkcije, a zatvorena zagrada u redu 7 označava njezin završetak. Sve napisano između zagrada opisuje što će se dogoditi kada se pozove funkcija main. Sve funkcije koriste zagrade za označavanje početka i kraja njene definicije.

Red 6: std::cout << “Hello World!”;
Ovaj red je C++ izjava. Izjava je ekspresija koja može prouzročiti nekakav efekt. Sama je srž programa koja navodi njeno ponašanje. Izjave se izvršavaju redom kojim se pojavljuju u funkciji.
Ova izjava ima tri dijela: Prvi, std::cout, koji identificira uređaj za ispis riječi (standard character output), koji je uglavnom ekran vašeg računala. Drugi, operater umetka (<<), koji pokazuje da je ono sto slijedi umetnuto u std::cout. Zadnji dio, fraza unutar navodnika(“Hello World!”), je sadržaj ispisa.
Možete primjetiti da izjava završava s (;). Taj znak označava kraj izjave, kao što točka označava kraj rečenice. Se C++ izjave moraju završiti s ;. Jedna od najčešćih pogrešaka u C++ je zaboravljanje stavljanja ; na kraj izjave.

Možete primjetiti da ne provode si redovi akciju kada se izvrši kod. Jedan redak sadrži komentar ( redak s //), tu je i redak s uputama za predprocesor (redak koji počinje s #), još i redak koji definira funkciju (u ovom slučaju, main funkciju), te konačno redak s izjavom koja završava s točka-zarez (umetak u cout), koja se nalazi unutar zagrada glavne main funkcije.

Program je strukturiran u različitim linijama i propisno razrađen kako bi olakšao razumijevanje ljudi koji ga čitaju. C++ nema stroga pravila o razradi i podjeli instrukcija u različitim linijama. Na primjer, umjesto ovako:

1
2
3
4
int main ()

{

std::cout << ” Hello World!”;

}

Možete napisati ovako: sve u istom retku, i mati će isto značenje.

  int main () { std::cout << “Hello World!”; }

U C++, razmak između izjava se određuje s ;, dok razmak između redova ne igra nikakvu ulogu. Više izjava može biti napisano u jednoj liniji, ili svaka izjava može biti napisana u zasebnom retku. Podijela koda na retke služi prvenstveno za lakše čitanje, ali nema apsolutno nikakvog utjecaja na ponašanje programa.

Sad, dodajmo još jednu izjavu u našem prvom programu.

1
2
3
4
5
6
7
8
// my second program in C++

#include <iostream>

 

int main ()

{

std::cout << “Hello World! “;

std::cout << “I'm a C++ program”;

}

Hello World! I'm a C++ program

U ovom slučaju imamo dva umetka u std::cout u dvije različite izjave. Podjela koda u različite retke daje bolju čitljivost programu iako se program mogao napisati i ovako.

  int main () { std::cout << ” Hello World! “; std::cout << ” I'm a C++ program “; }

Ali, kod se može podijeliti u više linija koda i rezultat će biti isti.

1
2
3
4
5
6
7
int main ()

{

std::cout <<

“Hello World!”;

std::cout

<< “I'm a C++ program”;

}

Predprocesorske upute (koje počinju s #) ne podliježu ovom pravilu jer nisu izjave. One su redovi koje su pročitane i obrađene predprocesorski prije nego sama kompilacija počne. Predprocesorske upute moraju imati zaseban redak jer nisu izjave, također ne moraju završiti s ;.

Komentari

Kao što smo već naveli, komentari ne utječu na samo izvođenje programa, već služe za zapisivanje onoga što program radi i kako se njime upravlja unutar samog koda.

 

C++ podržava dva načina komentiranja koda:

1
2
// line comment

/* block comment */

Prvi od njih, poznat kao line comment, isključuje sve napisano od dvije kose crte // pa do kraja retka. Drugi, poznat kao block comment isključuje sve napisano između oznake /* i pojave */, s mogućnošću da komentar može biti napisan u više redaka.
Dodajmo komentare našem drugom programu.

1
2
3
4
5
6
7
8
9
10
/* my second program in C++

with more comments */

 

#include <iostream>

 

int main ()

{

std::cout << “Hello World! “;     // prints Hello World!

std::cout << “I'm a C++ program”; // prints I'm a C++ program

}

Hello World! I'm a C++ program

 

Ako unesete komentare unutar koda bez znakova//,/* ili */, kompajler ih prepoznaje kao C++ ekspresije i vjerojatno će kompilacija imati jedan ili više pogrješaka.

Korištenje imenskog prostora std

Ako ste već vidjeli C++ kod, mogli ste vidjeti da se koristi cout umjesto std::cout. Oba imenuju isti predmet: prvi koristi ne kvalificirano ime (cout), dok ga drugi kvalificira unutar imenskog prostora std (std::cout). Cout je dio standardnog library-a, i svi elementi standardnog C++library-a su deklarirani unutar onoga što se naziva imenski prostor: namespace std.

Kako bi se referiralo na elemente u std imenskom prostoru, program bi trebao ili kvalificirati svaku upotrebu elemenata library-a (kao što smo to činili dodajući prefiksirajući cout s std::), ili uvođenjem vidljivosti elemenata. Najčešći način uvođenja vidljivosti tih komponenata je putem using deklaracije.

  using namespace std;

Gore navedena deklaracija dopušta svim elementima std imenskog prostora da ima se pristupi na nekvalificiran način (bez std:: prefiksa).

 

S tim na umu, posljednji primjer može biti napisan za nekvalificirano korištenje cout kao:

1
2
3
4
5
6
7
8
9
// my second program in C++
#include <iostream>
using namespace std;
int main ()
{
cout << “Hello World! “;
cout << “I'm a C++ program”;
}
Hello World! I'm a C++ program

 

Oba načina pristupanja elemenata std imenskog prostora (izričita kvalifikacija i using deklaracija) su valjane u C++ i uzrokuju isto ponašanje. Zbog jednostavnosti, i zbog povećanja čitljivosti, primjeri u ovom vodiču će koristiti posljednje navedene using deklaracije, iako zapamtite da izričita kvalifikacija je jedini način da se spriječi podudaranje riječi.

Imenski prostori će biti detaljnije objašnjeni u jednom od slijedećih dijelova vodiča.

OSTAVITI ODGOVOR

Please enter your comment!
Please enter your name here