You are on page 1of 18

[size="4"]Introducerea in limbajul C++[/size]

In limbajul C++ lucram cu mai multe tipuri de date:

1. Date de tip int (numere intregi, ca de ex. -5, -3, 1, 2, 3, 25, 665,
12345)

2. Date de tip unsigned int (numere intregi fara semn inainte, asadar
naturale)

3. Date de tip float (numere reale cu maxim 4 cifre dupa virgula, ca de


ex. -5.2 , -3.5, 1.2, 52.6, 32.423, -234.4)

4. Date de tip unsigned float (numere reale cu maxim 4 cifre dupa


virgula si fara semn inainte, asadar naturale)

5. Date de tip double (numere reale cu maxim 15 cifre dupa virgula, de


ex, 251.241251251261, -123.4215166272)
Obs: double se foloseste intotdeauna singur... nu exista unsigned
double, float double etc...

6. Date de tip short sau long:


-Ambele se folosesc deobicei cu signed si unsigned pentru a avea
urmatoarele valori:

signed short: Valori intre -32767 si 32767


unsigned short: Valori intre 0 si 65535

signed long: Valori intre -2147483647 si 2147483647

7. Date de tip char (siruri de caractere, ca de ex. "Studiez informatica",


"I got a viruS")
Obs: Sirurile pot avea intre 0 si 255 de caractere.
Operatorii limbajului C++

I. Operatori aritmetici
II. Operatori relationali
III. Operatori logici.
Si vor mai veni si alti mai tarziu pe parcursul acestui tutorial.

[size="4"]I. Operatori aritmetici [/size]

1. Operatorul adunare, +

int a=5,b=7;
a+b asadar 5+7;

2. Operatorul diferenta, -

int a=5;
float d=3.34;
a-d asadar 5-3.34;

3. Operatorul inmultire, *

int a=5,b=7,c=3;
a*b*c asadar 5*7*3;

4. Operatorul impartire, /

int a=5,c=3;
float b=7;
a/c asadar 5/3=1 De ce 1 si nu 1.6666? Deoarece a si c sunt variabile de
tip intreg (adica numere naturale)
b/c asadar 7/3=2.3333 Aici avem o variabila float si o variabila int,
asadar rezultatul va fi cu virgula.

5. Operatorul pentru restul impartirii a doua numere intregi, %

int x=11,z=3;
x%z asadar 11%3=2 3 merge in 11 de 3 ori... si ramane rest 2.

[size="4"]II. Operatori relationali


[/size]

-Sunt folositi pentru a stabili daca relatia intre doua variabile este
adevarata
1. Operatorul egalitate, ==

int a=7,b=2;
(a==b)=0 Asadar fals!

2. Operatorul diferit, !

int a=7,b=2;
(a!=b)=1 Asadar adevarat! (a este diferit de b)

3. Operatorul mai mare, >

int a=7,b=2;
a>b =1 Asadar adevarat!

4. Operatorul mai mare sau egal, >=

int a=7,b=2,c=2
a>=b =1
b>=c =1 Ambele sunt adevarate.

5. Operatorul mai mic, <

int a=7,b=2;
a<b =0 Fals.

6. Operatorul mai mic sau egal, <=

int a=7,b=2,c=2;
a<=b =1
c<=b =1 Ambele sunt adevarate.

Haideti sa va arat cateva exemple de exercitii cu operatorii relationali:

A.
Code: (Select All)
int a=2,b=5,c=3,d=0;
(a!=b)>=(d==c)
a este diferit de b, asadar 1; iar d nu este egal cu c, asadar 0
1>=0
Rezultat final 1, relatia de mai sus este adevarata;

B.
Code: (Select All)
int a=1,b=2,c=1,d=3;
(a!=c)>((d-b)<=c)
a nu este diferit de c, asadar 0; iar d-b, 3-2 este mai mic sau egal cu c ,
asadar 1
0>1
Rezultat final 0, relatia de mai sus este falsa;

[size="4"]
III. Operatori logici[/size]

-au valoarea logica doar 0 sau 1, in functie de valoarea de adevar.

1. Operatorul de negatie NOT, !

a | !a
1 | 0 Diferitul lui a=1, este 0.
0 | 1 Diferitul lui a=0, este 1.

2. Operatorul SI sau AND, &&

a | b | a&&b
1|1|1
0|0|0
1|0|0
0|1|0

a=1 SI b=1 rezulta valoarea de adevar 1


a=0 SI b=0 rezulta valoarea de fals, 0 (offtopic: rezulta valoarea de
fals... suna aiurea, e corect macar?)
a=1 SI b=0 rezulta valoarea de fals, 0
a=0 SI b=1 rezulta valoarea de fals, 0

3. Operatorul SAU sau OR, ||

a | b | a||b

1|1|1
0|0|0
1|0|1
0|1|1

a=1 SI b=1 rezulta valoarea de adevar 1.


a=0 SI b=0 rezulta valoarea de fals 0.
a=1 SI b=0 rezulta valoarea de adevar 1.
a=0 SI b=1 rezulta valoarea de adevar 1.

[size="4"]Structura programelor[/size]

Code: (Select All)


#include<iostream.h>
include baza de date iostream.h

//Am folosit comanda #include , pt a

void main()
{
//Partea de declarat a variabilelor

//Opratiile cu variabilele respective

Partea de declarat a variabilelor:


Code: (Select All)
int a=3,b,c;
float d;
Partea de citire a variabilelor:

Code: (Select All)


int n;
cout<<"Mesajul in care dau o valoare variabilei n de la
tastatura:"
cin>>n;

Operatiile cu variabilele respective si partea de afisare a rezultatelor


finale:
Code: (Select All)
int rezultat
a+b+c+d=rezultat;
cout<<"Rezultatul final al sumei celor 4 variabile
este:"<<rezultat<<endl;

Ce am scris mai sus se mai poate scrie si asa:


cout<<"Rezultatul final al sumei celor 4 variabile
este:"<<a+b+c+d<<endl;

Code: (Select All)


#include<iostream.h>
void main()
{
int a=3,b,c;
float d;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;

int rezultat;
rezultat=a+b+c+d;
cout<<"Rezultatul sumei celor 4 variabile este:"<<rezultat<<endl;
}

1. Operatorul de negatie, ~

a | ~a
1|0
0|1

2. Operatorul SI (AND), &

a | b | a&b
1|1|1
0|0|0
1|0|0
0|1|0

3. Operatorul SAU (ori), |

a | b | a|b
1|1|1
0|0|0
1|0|1

0|1|1

4. Operatorul SAU-Exclusiv, ^

a | b | a^b
1|1|0
0|0|0
1|0|1
0|1|1

Daca valorile nu sunt egale, rezultatul va fi adevarat, asadar 1.

Bun... acestia sunt cei 4 operatori, acuma sa aflam cum se afla biti unui
numar in baza doi.

int a=13,b=19;

Numarul se imparte la 2, pana da rezultatul 0.

13/2=6 rest 1; 19/2=9 rest 1;


6/2=3 rest 0; 9/2=4 rest 1;
3/2=1 rest 1; 4/2=2 rest 0;
1/2=0 rest 1; 2/2=1 rest 0;
................... 1/2=0 rest 1;

13 in baza 2 = 00001101
19 in baza 2 = 00010011

Asa se folosesc operatorii logici pe biti in baza 2:


Code: (Select All)
7 6 5 4 3 2 1

a | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 13= 2 la 0 + 2 la 2 + 2 la 3 = 1 + 4 +
8
b | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 19= 2 la 0 + 2 la 1 + 2 la 4 = 1 + 2 + 16
~a | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 242
~b | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 136
a|b | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 31
a&b | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2
a^b | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 30

[size="4"]V. Operatori de incrementare si decrementare[/size]

1. Prefixati

++ pentru incrementare si -- pentru decrementare inaintea unei


variabile.
Operatorii prefixati de incrementare maresc mai intai cu 1 si apoi
memoreaza.
Operatorii prefixati de decrementare scad mai intai cu 1 si apoi
memoreaza.

Exemplu:
Code: (Select All)

int a=5;
a++

unde a incepe sa ia valori de la 5

2. Postfixati

++ pentru incrementare si -- pentru decrementare dupa variabile.

1. Atribuire simpla:

Ex: int a=4 -> am atribuit variabili a de tip intreg, valoarea 4


float d=12.4 -> am atribuit variabili de tip float, valoarea 12.4

2. Atribuirea multipla:

Ex: int a,b,c;


a=b=c=5

[color="#FFFF00"]3. Atribuirea cu operatorii:[/color]

Operatorul *

int a=5;
a*=7;
a=5*7;
a=35;

Operatorul /

int a=5;
a-=7;
a=5/7;
a=0;

Operatorul %

int a=5;
a%=7;
a=5%7;
a=5;

[size="4"]VII. Operatorul virgula ,[/size]

-separa doua sau mai multe operatii de atribuire

Ex: int a=5,b=9;


float c=11, d=2;
a+=b-=7,b/=a%2,c/=b%=a*2;
a+=2 ---> a=5+2+7=14;
b%=14 ---> b=2%14=2;
c/=2 ---> c=11/2=5.5;

[size="4"]VIII. Operatorul Conditional[/size]

-evalueaza o expresie in functie de conditie.


Ex:int a=10,b=20,c=30;
cout<<(a>b ? a-=b : b-=a) , asadar se va afisa a-=b, adica -10

Ok! Am terminat operatori din c++. Finaly !

[size="4"]Structuri de control[/size]

I. Liniara

II. Alternativa
A. Simpla
B. Cu ramura vida
C. Generalizata

III. Repetitiva cu numar cunoscut de pasi

IV. Structura repetitiva cu numar cunoscut de pasi:


A. Conditionata anterior.

B. Conditionata posterior.

Structura alternativa simpla si cu ramura vida am facut-o mai sus.

Incepem cu cea liniara.

[size="2"]I. Liniara [/size]

-are forma:
Expresie 1;
Expresie 2;
...
Expresie n;

Aceasta structura cuprine toate operatiile de citire, scriere si expresi cu


diferite calcule si algoritmi.

[size="4"]II. Alternativa[/size]

[size="2"]C. Generalizata[/size]

-Efectueaza/alege o actiune din mai multe posibile.

Are forma:

Code: (Select All)

#include<iostream.h>
void main()
{
int opt;
cout<<"Introduceti optiunea:";
cin>>opt;
switch(opt)
{
case 1: secventa_de_actiune1;
break;
case 2: secventa_de_actiune2;
break;
default:cout<<"Optiunea aleasa nu exista";
}
}

[size="4"]III. Structura repetitiva[/size]

Are forma:
for(contor=expresie_initializare; conditie; expresie_incrementare sau
expresie_decrementare;

*contor este o variabila care se initializeaza cu 1;


*conditie verifica daca o conditie este adevarata;

Se folosesc urmatoarele variabile:

1. O variabila de tip int notata cu i;


2. Numarul de valori care se citesc, notate cu n;
3. Valorile care se citesc, notate cu val;

*Suma se noteaza cu int s=0; si produsul cu int p=1;

Exemplu, citirea valorilor:


Code: (Select All)
#include<iostream.h>
void main()
{
int n,i,val;
cout<<"n=";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"val=";
cin>>val;
}
}

Deci... daca n=5 , atunci pentru:


i=1 -> val=a

i=2 -> val=b


i=3 -> val=c
i=4 -> val=d
i=5 -> val=e

Valorile pot sa aiba aceasi valoare... de exemplu:


i=1 -> val=6
i=2 -> val=6
i=3 -> val=11
i=4 -> val=36
i=5 -> val=6

Suma va fi atunci 6+6+11+36+6.


Produsul va fi atunci 6*6*11*36*6.

You might also like