Documente Academic
Documente Profesional
Documente Cultură
getch();
return 0
} // end
Ex. #include <bits/stdc++.h> // in loc de #include <iostream.h DEW C++ 5.11>
using namespace std;
int main()
{ int a,b;
cout<<”a=”; cin>>a;
cout<<”b=”; cin>>b;
cout<<”a+b=”<<a+b<<’\n’;
cout<<”a-b=”<<a-b<<endl;
cout<<”b-a=”<<b-a<<’\n’;
cout<<”a*b=”<<a*b<<’\n’;
if (b!=0) {cout<<”a div b=”<<a/b<<’\n’; // calculeaza a div b intreg, b≠0 6/4=1
cout<<”a mod b=”<<a%b<<’\n’; // calculeaza a mod b, b≠0 6%4=2
cout<<”a / b=”<<1.0*a/b<<’\n’; // calculeza catul real, b≠0 1.0*6/4=1.5
}else cout<<” nu se divide la 0”;
if ( a>b) cout<<”max=”<<a;
else cout<<”max=”<<b;
return 0;
}
Programul este o functie de tip intreg, care daca se va compila si va fi tot corect, va avea
valoarea 0. Variabilele a si b de tip intreg sunt variabile locale, declarate in interiorul
functiei si nu vor avea valoare default 0. Acest program va citi valoarea variabilelor a si b si
va scrie suma lor, diferenta, produsul si valoarea operatorilor pe biti and, or, xor.
Atentie: in C++ aceeasi litera mare si mica sunt lucruri diferite. Toate instructiunile se scriu
obligatoriu cu litere mici.
’\n’ sau endl – va duce cursorul din rind nou.
getch(); e un readln; care va ramine la fereastra unde se vor scrie rezultatele
#include<cmath> pentru a putea utiliza functiile matematice pow, sqrt, log, sin...
#include <algoritm> pentru a utiliza diferiti algoritmi sort, swap, max , min,...
1) Identificatori :
2) Cuvinte cheie, simboluri
3) Tipuri de date întregi, reale, char, bool, tablou, string,..
4) Operatori C++
5) Şiruri de caractere
6) Numere : Întregi
: Reale
7) Comentarii // sau /* .............................. */
8) Separatori
9) Etichete
10) Directive. Ex. using namespace std;
1) Identificatori
Identificatorul reprezintă nume de variabilă / funcţie şi poate fi constituit din litere
mari şi mici ale alfabetului englez urmat de cifre sau/şi caracterul ‘_’.
Atenţie! Limbajul C++ este Case-Sensitive : Variabilele/funcţiile cu numele
a şi A vor fi 2 variabile diferite.
4) Operatori în C++
Operatorii in C++ sunt de mai multe tiputi:
1. Operatotii fundamentali: citirea(cin), scrierea(cout), atribuirea(=), compararea
2. Operatori aritmetici: +, - , *, /(div, impartirea reala), %(mod)
3. Operatori logici: &&, ||, ^^, !
4. Operatori logici la nivel de bit cu numere intregi: &, |, ^, ~(notul logic la nivel de
bit)
5. Operatori relationali(de decizie): ==, < , > , <= , >= , !=
6. Operatori de decizie: ? Ex m= (a>b) ? a: b echivalent: if (a>b) m=a; else m=b;
7. Operatori de incriminare: EX. i++, sau ++i; echivalent cu inc(i)- Pascal
C++ Pascal C++ Pascal
Cin>>a; readln(a); a+=b; a:=a+b; sau inc(a,b)
Cout<<a; writeln(a); a-=b; a:=a-b; sau dec(a,b);
a=5 a:=5 a*=b; a:=a*b;
a==5 (comparație) a=5 a/=b; a:=a div b;
a<=b a<=b a%=b; a:=a mod b;
a>=b a>=b a&b a and b (pe biți)
a!=b a<>b a&=b; a:=a and b;
a<b a<b a|b a or b (pe biți)
a>b a>b a|=b; a:= a or b; (pe biți)
&& and logic a^b a xor b (pe biți)
|| or logic a^=b; a:=a xor b; (pe biți)
^^ xor logic a>>b a shr b (a div 2p)
! not logic a<<b a shl b (a * 2p)
a+b a+b a>>=b; a=a shr b;
a-b a-b a<<=b; a=a shl b;
a*b a*b ++a; pre-incrementare
a/b a div b a++; post-incrementare
a%b a mod b !a True dacă a==0, false
în caz contrar
Declararea variabilelor :
Sintaxa: Tip1 var1,var2,var3;
Exemplu: int a,b,c; (echivalent cu a,b,c:longint; în pascal)
Pre-incrementarea și post-incrementare :
Limbajul c++ oferă posibilitatea executării a mai multor instrucțiuni simple în
cadru unei mai complexe. Deosebirea de bază dintre pre și post-incrementarea este
că în astfel de instrucțiuni mai complexe , pre-incrementarea are cea mai mare
prioritate și se execută înaintea celorlalte instrucțiuni , pe cînd post-incrementarea
are cea mai mică prioritate ,și se execută ultima.
Un exemplu valorează cât 1000 de cuvinte :
int a,z;
a=1; z=(++a); // a:=a+1; după care z:=a;
iar în cazul
z=(a++); // z:=a; după care a:=a+1;
Instrucțiunele limbajului C++
1) Instrucțiunea expresie.
Ex: Int main() { 7+2; return 0; }
2) Instrucțiunea vidă
Ex:
Int main() { ; ; ;;; return 0}
3) Instrucțiunea de atribuire:
Ex: a =3*4-5;
4) Prototipul funcției: - apel de functie/ apel de procedura
5) exemplu int f(int a,float b); -
Apelul funcției:
Int z, a=438; float q=3.14;
z=f(a,q);
sau f(a,q) //valoarea funcției este ignorată în acest caz
6) Instrucțiunea compusa:
{ I1 ; I2 ; I3; I4; }
Instrucțiunea If in C++
int main()
{ int n,s=0;
cout<<”n=”; cin>>n;
while (n) { s=s+ n % 10;
n=n/10;
}
cout<<”Suma cifrelor=” <<s;
return 0;
}
2. Do While (instrucțiunea repeat Pascal)
are forma:
do { instrucțiune; }
while (expresie boolean);
Exemplu: S=1+2+3+…+n;
#include<iostream>
using namespace std;
int main(){
int n,s=0,i=1;
cout<<”n=”; cin>>n;
do { s=s+i; i++; }
while(i<=n);
cout<<”suma=”<<s;
return 0; }
Metoda II #include<iostream>
using namespace std;
int main() {
int n,s=0,i=1;
cout<<”n=”; cin>>n;
do s+=i++;
while(i<=n);
cout<<”suma=”<<s;
return 0; }
3. Instructiunea FOR
for ( inițializare; expr bool/ logică; exp. de incrementare)
Exemplu: S=1+2+3+…+n;
#include<iostream>
using namespace std;
int main(){
int i,n, s=0;
cout<<”n=”; cin>>n;
for ( i=1; i<=n; i++) s+=i; // s=s+i; s=1+2+3+4+...+n
cout<<” suma=”<<s;
return 0;
}
Metoda II
triunghi X;
int main(){
cout<< ”Introduceti coordonatele primului punct al triunghiului” ;
cin>>X.a.x>>X.a.y;
cout<< ”Celui de-al doilea:” ;
cin>>X.b.x>>X.b.y;
cout<< ”Celui de-al treilea” ;
cin>>X.c.x>>X.c.y;
double a,b,c,p,A;
a=dist(X.a,X.b); b=dist(X.b,X.c); c=dist(X.a,X.c);
p=(a+b+c)/2.0;
A=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<setprecision(5)<<fixed;
cout<< ”Aria triunghiului este: ” <<A;
return 0;
}