Sunteți pe pagina 1din 36

Fundamentele

programării
academia te fac
programator
Cursul 2
Hello world
2

curpins

֍ Înțelegerea limbajului C++

֍ Programul “Hello World!”


֍ Analiza programului
֍ GNU Compiler Collection (GCC)
֍ Demonstrație în Visual Studio
3

1.înțelegerea
limbajului c++
4

un program în C++ care afișează pe ecran textul “Salut”


arată în felul următor:

#include <iostream>
using namespace std;

int main()
{
cout<<“Salut”;
return 0;
}
5

Conținutul unui program se numește cod sursă


și se poate salva ca un fișier text pe care îl
putem utiliza și în alte programe.
6

Ce se întamplă în spatele unui program?


o Calculatorul înțelege doar limbajul mașină, care este un limbaj
format doar din cifrele 0 și 1.
o Este nevoie de un program care să traducă programul scris de noi
în C++ într-un program în limbaj mașină care să poată fi înțeles și
executat de către calculator.
o Acest program poartă numele de compilator.
o Compilatorul citește codul sursă și generează un fișier executabil
care conține codul mașină și care poate fi executat de către
calculator.
o Fiecare program pe care îl pornim este un fișier executabil, iar
calculatorul execută instrucțiunile din el.
7

2. Programul
“Hello world!”
8

Programul “Hello world!”

#include <iostream>
using namespace std;

int main()
{
cout<<“Hello World!”;
return 0;
}
9

3. Analiza
programului
10

#include <iostream>
o Pentru a fi compilat (tradus în cod mașină),
programul are nevoie de mult mai multe informații
decât cele scrise de noi.
o Aceste informații se găsesc într-un fișier header
numit iostream.
o Iostream este o colecție/bibliotecă de programe
care ne ajută la operațiile de citire de la tastatură și
scriere pe ecran.

⮚ #include <iostream>
using namespace std;

int main()
{
cout<<“Hello World!”;
return 0;
}
11

#include <iostream>
o Prin respectiva directivă , comandăm ca fișierul
respectiv, iostream, să fie copiat în prima parte a
textului sursă.
o Operația de includere a fișierului header este
realizată de o componentă specială, numită
preprocesor.
o Pentru a preciza că este o comandă pentru
preprocesor se utilizează caracterul #.

⮚ #include <iostream>
using namespace std;

int main()
{
cout<<“Hello World!”;
return 0;
}
12

În cadrul unui program, putem include mai multe


biblioteci, dar fiecare instrucțiune de includere
trebuie să fie pe o linie separată.

#include <iostream>
#include <fstream>
#include <algorithm>
13

Using namespace std;


o Un namespace este un dicționar care ne ajută să
identificăm și să folosim diferite componente ale
unui program.
o using namespace std; indică compilatorului că
dorim să folosim namespace-ul standard C++.
o Te ajută să folosești anumite programe din
bibliotecile limbajului pe baza numelui lor.

#include <iostream>
⮚ using namespace std;

int main()
{
cout<<“Hello World!”;
return 0;
}
14

Int main()
o Orice program C++ conține o funcție numită int
main(), ale cărei instrucțiuni se execută atunci când
programul este lansat în execuție.
o int indică faptul că funcția main() returnează o
valoare de tip întreg.
o Atunci când execuția se încheie cu succes, funcția
returneazăd valoarea 0;

#include <iostream>
using namespace std;

⮚ int main()
{
cout<<“Hello World!”;
⮚ return 0;
}
15

Int main()
o Acoladele {} sunt folosite pentru a marca începutul
și sfârșitul lui int main().
o Toate instrucțiunile funcției se găsesc între cele
două acolade.
o În C++ se face distincție între literele mari și mici.
o De exemplu, dacă scriem int Main(), la compilare,
se obține eroare.

#include <iostream>
using namespace std;

⮚ int main()
⮚ {
cout<<“Hello World!”;
return 0;
⮚ }
16

Cout<<“hello world!”;
o cout este o instrucțiune din biblioteca iostream.
o Aceasta ne ajută să afișăm textul dintre ghilimele,
Hello World!, pe ecran.
o Caracterul ; pus la finalul liniei marchează sfârșitul
unei instructiuni și va trebui pus de fiecare dată.
o În cazul în care acest caracter nu există la finalul
unei instrucțiuni, va apărea eroare de compilare.

#include <iostream>
using namespace std;

int main()
{
⮚ cout<<“Hello World!”;
return 0;
}
17

Nu se pune ; după #include <iostream> și int


main().
Prima se termină atunci când se trece pe o
linie nouă, iar a doua este urmată de grupul de
instrucțiuni dintre {}.
18

4. GNU Compiler
collection (GCC)
19

GNU compiler collection (GCC)


o Colecția de o Aceasta a fost o Proiectul GNU a fost
compilatoare GNU, dezvoltată de înființat în anul 1984
numită de obicei Richard Stallman, pentru a crea un
GCC, este un set fondatorul sistem complet de
de compilatoare proiectului GNU. operare Unix-like ca
pentru diverse software liber, pentru
limbaje de a promova libertatea
programare produs și cooperarea între
de Proiectul GNU. utilizatorii de
calculatoare și
programatori.
20

Compilatoarele GNU C si C++ sunt numite


gcc, respectiv g++.
21

compilaȚi/conectaȚi un program C
hello.c

//hello.c
#include <stdio.h>

int main()
{
printf(“Hello World!”);
return 0;
}
22

⮚ Pentru a compila hello.c :

> gcc hello.c

⮚ Pentru a rula hello.c :

// (Windows) In CMD shell


>a
//(Unix / Mac OS X) In Bash Shell-
include calea curenta (./)
$ chmod a+x a.out
$ ./a.out
23

⮚ Executabilul de ieșire implicit este numit


“a.exe”(Windows) sau “a.out”(Unix si
Mac OS X).
⮚ În Bash shell, calea implicită nu include
directorul de lucru curent și trebuie să
introduceți calea curentă (./) în comandă.
24

⮚ De asemenea, trebuie să includeți


extensia de fișier, dacă există
“./a.out”.
⮚ In Unix, fișierul de ieșire ar putea fi
“a.out” sau pur și simplu “a”.
⮚ În plus, trebuie să atribuiți fișierul
executabil (x) fișierului executabil
“a.out”, prin comanda
“chmod a+x a.out”.
25

⮚ Pentru a specifica numele fișierului de ieșire, utilizați


opțiunea –o :

// (Windows) In CMD shell


> gcc –o hello.exe hello.c
//Compilați și conectați fișierul sursă hello.c în
executabilul hello.exe
> hello
//Executați hello.exe sub CMD shell

//(Unix / Mac OS X) în Bash Shell-include calea


curentă (./)
$ gcc –o hello hello.c
$ chmod a+x hello
$ ./hello
26

⮚ In Unix, de obicei omitem extensia de fișier


.exe (destinată numai pentru Windows) și
denumiți executabilul de la ieșire ca fiind hello
(prin intermediul comenzii “gcc –o hello
hello.c”).
⮚ Trebuie să atribuiți modul fișier executabil prin
comanda “chmod a+x hello”.
27

Compilați/conectați un program C++


hello.cpp

//hello.cpp
#include <iostream>
using namespace std;

int main()
{
cout<<Hello World!”;
return 0;
}
28

⮚ Trebuie să utilizați g++ pentru a compila programul


C++ și opțiunea –o pentru a specifica numele
fișierului de ieșire :

// (Windows) In CMD shell


> g++ –o hello.exe hello.cpp
//Compilați și conectați fișierul sursă hello.cpp în
executabilul hello.exe
> hello
//Executati hello.exe sub CMD shell

//(Unix / Mac OS X) In Bash Shell-include calea


curenta (./)
$ g++ –o hello hello.cpp
$ chmod a+x hello
$ ./hello
29

Opțiuni de compilatoare GCC

$ g++ -Wall –g –o Hello.exe Hello.cpp

o -o: specifică numele fișierului executabil de


ieșire.
o -Wall: afișează toate mesajele de avertizare
(warnings).
o -g: generează informații suplimentare de depanare
simbolice pentru utilizarea cu depanatorul gdb.
30

Compilați și conectați separat


Compilarea și conectarea se pot face în două etape,
după cum urmează:

//Compilati cu optiunea –c
> g++ -c –Wall –g Hello.cpp
//Conectati fisierul obiect intr-un executabil
> g++ -g –o Hello.exe Hello.o

o -c: Compilați în fișierul obiect “Hello.o”. În mod


implicit, fișierul obiect are același nume ca fișierul
sursă cu extensia “.o”.
o Conectarea se face atunci când fișierul de intrare
conține fișiere obiect “.o”.
31

CompilaȚi Și conectaȚi mai multe


fiȘiere sursĂ

⮚ Să presupunem că programul are două fișiere sursă:


file1.cpp, file2.cpp. Le puteți compila pe amândouă
într-o singură comandă:

> g++ -0 myprog.exe file1.cpp file2.cpp


32

CompilaȚi Și conectaȚi mai multe


fiȘiere sursĂ

⮚ Modificările într-un fișier nu necesită recompilarea


celorlalte fișiere și de aceea trebuie să compilăm
fiecare fișier sursă separat în fișierul obiect și să le
conectăm împreună în etapa ulterioară.

> g++ -c file1.cpp


> g++ -c file2.cpp
> g++ -o myprog.exe file1.o file2.o
33

5. Demonstrație in
visual studio
34

Demonstrație în visual studio


Crearea unui proiect în C++
o Accesați meniul File => New => Project
o Din partea stângă, selectați Visual C++
o Selectați template-ul Empty Project
Compilarea și rularea
o Compilare – meniul Build => Build Solution (tasta F6)
o Rulare – meniul Debug => Start Debugging (tasta F7)
Accesarea ferestrelor utile în Visual Studio
o Folosiți meniul View
35

Sumar

֍ Înțelegerea limbajului C++

֍ Programul “Hello World!”


֍ Analiza programului
֍ GNU Compiler Collection (GCC)
֍ Demonstrație în Visual Studio
36

Vă mulțumesc!
Întrebări?

S-ar putea să vă placă și