Cuprins
- PARTEA I
- CAPITOLUL 1 Notiuni introductive 3.2. Implementarea structurii de decizie 42
- 1.1. Structura generala a unui sistem de 3.3. Implementarea structurilor repetitive
- calcul 9 (ciclice) 45
- 1.2. Algoritmi 11 3.3.1. Implementarea structurilor
- 1.2.1. Notiuni generale 11 ciclice cu test initial 45
- 1.2.2. Definitii si caracteristici 12 3.3.2. Implementarea structurilor
- 1.2.3. Reprezentarea algorimilor 12 ciclice cu test final 46
- 1.2.3.1. Reprezentarea prin 3.4. Facilitati de întrerupere a unei secvente 50
- scheme logice 13 Întrebari si exercitii 51
- 1.2.3.2. Reprezentarea prin
- pseudocod 14 CAPITOLUL 4 Tablouri
- 1.3. Teoria rezolvarii problemelor 16 4.1. Declararea tablourilor 53
- Întrebari si exercitii 18 4.2. Tablouri unidimensionale 53
- 4.3. Tablouri bidimensionale 55
- CAPITOLUL 2 Date, operatori si expresii 4.4. Siruri de caractere 57
- 2.1. Limbajele C si C++ 19 Întrebari si exercitii 60
- 2.2. Programe în limbajul C/C++ 19
- 2.3. Preprocesorul 21 CAPITOLUL 5 Pointeri
- 2.4. Elemente de baza ale limbajului 22 5.1.Variabile pointer 61
- 2.4.1. Vocabularul 22 5.1.1. Declararea variabilelor pointer 61
- 2.4.2. Unitatile lexicale 22 5.1.2. Initializarea variabilelor pointer 62
- 2.5. Date în limbajul C/C++ 23 5.1.3. Pointeri generici 63
- 2.5.1. Tipuri de date 23 5.2. Operatii cu pointeri 63
- 2.5.2. Constante 25 5.3. Pointeri si tablouri 64
- 2.5.2.1. Constante întregi 25 5.3.1. Pointeri si siruri de caractere 64
- 2.5.2.2. Constante numerice, reale. 25 5.3.2.Pointeri si tablouri bidimensionale. 66
- 2.5.2.3. Constante caracter 27 5.4. Tablouri de pointeri 67
- 2.5.2.4. Constante sir de caractere 28 5.5. Pointeri la pointeri 68
- 2.5.3. Variabile 29 5.6. Modificatorul const în declararea
- 2.5.3.1. Declararea variabilelor 29 pointerilor 69
- 2.5.3.2. Initializarea variabilelor în Întrebari si exercitii 69
- declaratii 29
- 2.5.3.3. Operatii de intrare/iesire 30 CAPITOLUL 6 Functii
- 2.6. Operatori si expresii 31 6.1. Structura unei functii 71
- 2.6.1. Operatori 31 6.2. Apelul si prototipul unei functii 72
- 2.6.2. Expresii 39 6.3. Transferul parametrilor unei functii 74
- 2.6.3. Conversii de tip 39 6.3.1. Transferul parametrilor prin
- Întrebari si exercitii 39 valoare 75
- 6.3.2. Transferul prin pointeri 75
- CAPITOLUL 3 Implementarea 6.3.2.1. Functii care returneaza
- structurilor de control pointeri 77
- 3.1. Implementarea structurii secventiale 41 6.3.3. Transferul prin referinta 77
- PARTEA a II a
- 6.3.4. Transferul parametrilor catre CAPITOLUL 9 Concepte de baza ale
- functia main 81 programarii orientate obiect
- 6.4. Tablouri ca parametri 81 9.1. Introducere 129
- 6.5. Functii cu parametri impliciti 84 9.2. Abstractizarea datelor 129
- 6.6. Functii cu numar variabil de parametri 84 9.3. Mostenirea 130
- 6.7. Functii predefinite 85 9.3.1. Mostenirea unica 130
- 6.7.1. Functii matematice 85 9.3.1. Mostenirea multipla 130
- 6.7.2. Functii de clasificare (testare) a 9.4. Încapsularea informatiei 131
- caracterelor 85 9.5. Legarea dinamica (târzie) 132
- 6.7.3. Functii de conversie a 9.6. Alte aspecte 132
- caracterelor 87
- 6.7.4. Functii de conversie din sir în CAPITOLUL 10 Clase si obiecte
- numar 87 10.1. Definitia claselor si accesul la
- 6.7.5. Functii de terminare a unui proces Membri 133
- (program) 87 10.1.1. Legatura clasa-structura-
- 6.7.6. Functii de intrare/iesire 88 Uniune 133
- 6.8. Clase de memorare 90 10.1.2. Declararea claselor 133
- 6.9. Moduri de alocare a memoriei 92 10.1.3. Obiecte 136
- 6.10.Functii recursive 95 10.1.4. Membrii unei clase 136
- 6.11.Pointeri catre functii 100 10.1.5. Pointerul this 139
- Întrebari si exercitii 101 10.1.6. Domeniul unui nume,
- vizibilitate si timp de viata 139
- CAPITOLUL 7 Tipuri de date definite 10.2. Functii inline 140
- de utilizator 10.3. Constructori si destructori 142
- 7.1. Tipuri definite de utilizator 103 10.3.1. Initializarea datelor 142
- 7.2. Structuri 103 10.3.2. Constructori 143
- 7.3. Câmpuri de biti 106 10.3.1.1. Constructori cu
- 7.4. Declaratii typedef 107 liste de initializare 144
- 7.5. Uniuni 107 10.3.1.2. Constructori de
Extras din curs
Limbajele C si C++ sunt limbaje de programare de nivel înalt.
Limbajul C a aparut în anii 1970 si a fost creat de Dennis Ritchie în laboratoarele AT&T Bell. Limbajul C face parte din familia de limbaje concepute pe principiile programarii structurate, la care ideea centrala este ”structureaza pentru a stapâni o aplicatie”. Popularitatea limbajului a crescut rapid datorita elegantei si a multiplelor posibilitati oferite programatorului.
Limbajul C++ apare la începutul anilor ’80 si îl are ca autor pe Bjarne Stroustrup. El este o varianta de limbaj C îmbunatatit, mai riguroasa si mai puternica, completata cu constructiile necesare aplicarii principiilor programarii orientate pe obiecte (POO). Limbajul C++ pastreaza toate elementele limbajului C, beneficiind de eficienta si flexibilitatea acestuia. Limbajul C++ este un superset al limbajului C. Incompatibilitatile sunt minore, de aceea, modulele C pot fi încorporate în proiecte C++ cu un efort minim.
Lucrarea cuprinde doua parti.
Prima parte se adreseaza programatorilor începatori. Ea prezinta elementele de baza si constructiile limbajului C, completate cu extensiile limbajului C++. Acestea permit rezolvarea problemelor prin metoda programarii structurate.
Partea a doua se adreseaza cunoscatorilor limbajului C dornici sa-si modernizeze stilul si conceptia abordarii proiectelor informatice. Elementele prezentate sunt specifice limbajului C++ si permit stiluri de programare impracticabile în C: programarea prin abstractizarea datelor si programarea orientata obiect. Citându-l chiar pe Bjarne Stroustrup, ”C++ este un limbaj de programare general, conceput astfel încât sa-i faca pe programatorii seriosi sa programeze într-o maniera cât mai placuta”.
Si cum cea mai buna metoda de învatare este practica, prezentarea aspectelor teoretice este însotita de multe exemple si probleme rezolvate. Deasemenea, întrebarile teoretice si problemele propuse spre rezolvare, de la sfârsitul fiecarui capitol, permit cititorului sa-si verifice cunostintele dobândite. Un aspect foarte important îl constituie implementarea si testarea pe calculator a exemplelor si a problemelor rezolvate sau propuse, gasirea unor solutii proprii.
Speram ca acest material sa constituie un sprijin real pentru cei care doresc sa patrunda în tainele limbajelor C/C++, cât si un punct de plecare în activitatea de programare.
1.1. STRUCTURA GENERALA A UNUI SISTEM DE CALCUL
Calculatorul reprezinta un sistem electronic (ansamblu de dispozitive si circuite diverse) complex care prelucreaza datele introduse într-o forma prestabilita, efectueaza diverse operatii asupra acestora si furnizeaza rezultatele obtinute (figura 1.1.).
Principalele avantaje ale folosirii calculatorului constau în:
- viteza mare de efectuare a operatiilor;
- capacitatea extinsa de prelucrare si memorare a informatiei.
Desi constructia unui calculator - determinata de tehnologia existenta la un moment dat, de domeniul de aplicatie, de costul echipamentului si de performantele cerute - a evoluat rapid în ultimii ani, sistemele de calcul, indiferent de model, serie sau generatie, au o serie de caracteristici comune. Cunoasterea acestor caracteristici usureaza procesul de întelegere si învatare a modului de functionare si de utilizare a calculatorului.
În orice sistem de calcul vom gasi doua parti distincte si la fel de importante: hardware-ul si software-ul.
- Hardware-ul este reprezentat de totalitatea echipamentelor si dispozitivelor fizice;
- Software-ul este reprezentat prin totalitatea programelor care ajuta utilizatorul în rezolvarea problemelor sale (figura 1.2.).
Software-ul are doua componente principale:
- Sistemul de operare (de exploatare) care coordoneaza întreaga activitate a echipamentului de calcul. Sistemul de operare intra în functiune la pornirea calculatorului si asigura, în principal, trei functii:
- Gestiunea echitabila si eficienta a resurselor din cadrul sistemului de calcul;
- Realizarea interfetei cu utilizatorul;
- Furnizarea suportului pentru dezvoltarea si executia aplicatiilor.
Exemple de sisteme de operare: RSX11, CP/M, MS-DOS, LINUX, WINDOWS NT, UNIX.
- Sistemul de aplicatii (de programare): medii de programare, editoare de texte, compilatoare, programe aplicative din diverse domenii (economic, stiintific, financiar, divertisment).
Preview document
Conținut arhivă zip
- Curs C++
- capitolul1.doc
- capitolul10.doc
- capitolul11.doc
- capitolul12.doc
- capitolul13.doc
- capitolul2.doc
- capitolul3.rtf
- capitolul4.doc
- capitolul5.doc
- capitolul6.doc
- capitolul7.doc
- capitolul8.doc
- capitolul9.doc
- cuprins4.doc
- introd.doc