Manual de programare C
Cuprins 1. Generalităţi asupra limbajului C . . . . . . . . . . . . . . . . . . . 4 1.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Primele programe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Meta-limbajul şi setul de caractere . . . . . . . . . . . . . . . . . . . . 9 2. Unităţile lexicale ale limbajului C . . . . . . . . . . . . . . . . 10 2.1. Identificatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2. Cuvinte cheie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3. Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4. Şiruri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5. Operatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6. Separatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3. Variabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1. Clase de memorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2. Tipuri de variabile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3. Obiecte şi valori-stînga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4. Conversii de tip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4. Operatori şi expresii . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.1. Expresii primare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2. Operatori unari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3. Operatori multiplicativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4. Operatori aditivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.5. Operatori de deplasare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.6. Operatori relaţionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.7. Operatori de egalitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.8. Operatorul ŞI pe biţi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.9. Operatorul SAU-exclusiv pe biţi . . . . . . . . . . . . . . . . . . . . 35 4.10. Operatorul SAU-inclusiv pe biţi . . . . . . . . . . . . . . . . . . . . 36 4.11. Operatorul ŞI-logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.12. Operatorul SAU-logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.13. Operatorul condiţional . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.14. Operatori de atribuire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.15. Operatorul virgulă . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.16. Precedenţa şi ordinea de evaluare . . . . . . . . . . . . . . . . . . . 40 5. Declaraţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.1. Specificatori de clasă de memorie . . . . . . . . . . . . . . . . . . . 43 5.2. Specificatori de tip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3. Declaratori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.4. Modificatorul const . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.5. Iniţializare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.6. Nume-tip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6. Instrucţiuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.1. Instrucţiunea expresie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2. Instrucţiunea compusă sau blocul . . . . . . . . . . . . . . . . . . . . 51 6.3. Instrucţiunea condiţională . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.4. Instrucţiunea while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.5. Instrucţiunea do . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.6. Instrucţiunea for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.7. Instrucţiunea switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.8. Instrucţiunea break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.9. Instrucţiunea continue . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.10. Instrucţiunea return . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.11. Instrucţiunea vidă . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7. Funcţiile şi structura unui program . . . . . . . . . . . . . . . . 60 7.1. Definiţia funcţiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.2. Apelul funcţiilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.3. Revenirea din funcţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 7.4. Argumentele funcţiei şi transmiterea parametrilor . . . . . . . 64 7.5. Funcţii cu număr variabil de parametri . . . . . . . . . . . . . . . . 65 7.6. Exemple de funcţii şi programe . . . . . . . . . . . . . . . . . . . . . 66 8. Liniile de control ale compilatorului . . . . . . . . . . . . . . . 70 8.l. Înlocuirea simbolurilor, substituţii macro . . . . . . . . . . . . . . 70 8.2. Includerea fişierelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.3. Compilarea condiţionată . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.4. Utilizarea directivelor de compilare . . . . . . . . . . . . . . . . . . 73 9. Pointeri şi masive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 9.1. Pointeri şi adrese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 9.2 Pointeri şi argumente de funcţii . . . . . . . . . . . . . . . . . . . . . . 77 9.3. Pointeri şi masive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 9.4. Aritmetica de adrese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 9.5. Pointeri la caracter şi funcţii . . . . . . . . . . . . . . . . . . . . . . . . 83 9.6. Masive multidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . 86 9.7. Masive de pointeri şi pointeri la pointeri . . . . . . . . . . . . . . 88 9.8. Iniţializarea masivelor şi masivelor de pointeri . . . . . . . . . 93 9.9. Masive de pointeri şi masive multidimensionale . . . . . . . . 96 9.10. Argumentele unei linii de comandă . . . . . . . . . . . . . . . . . 97 9.11. Pointeri la funcţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 10. Structuri şi reuniuni . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.1. Elemente de bază . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 10.2. Structuri şi funcţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.3. Masive de structuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 10.4. Pointeri la structuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.5. Structuri auto-referite . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 10.6. Căutare în tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10.7. Cîmpuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.8. Reuniuni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.9. Declaraţii de structuri, reuniuni şi cîmpuri . . . . . . . . . . 131 10.10. Typedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11. Intrări / ieşiri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.1. Intrări şi ieşiri standard; fişiere . . . . . . . . . . . . . . . . . . . . 136 11.2. Accesul la fişiere; deschidere şi închidere . . . . . . . . . . . 138 11.3. Citire şi scriere fără format . . . . . . . . . . . . . . . . . . . . . . . 141 11.4. Citire cu format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 11.5. Scriere cu format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 11.6. Tratarea erorilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 11.7. Operaţii cu directoare . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 11.8. Programe demonstrative . . . . . . . . . . . . . . . . . . . . . . . . 156 12. Alte rutine din biblioteca standard . . . . . . . . . . . . . . 160 12.1. Alocarea dinamică a memoriei . . . . . . . . . . . . . . . . . . . . 160 12.2. Sortare şi căutare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 12.3. Rutine de clasificare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 12.4. Operaţii cu blocuri de memorie . . . . . . . . . . . . . . . . . . . 164 12.5. Operaţii cu şiruri de caractere . . . . . . . . . . . . . . . . . . . . 166 12.6. Biblioteca matematică . . . . . . . . . . . . . . . . . . . . . . . . . . 170 12.7. Programe demonstrative . . . . . . . . . . . . . . . . . . . . . . . . . 173 Bibliografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Descarca manualul CPentru sugestii,comentarii si corectari scrieti-ne aici
Titluri asemanatoare
Nu sunt comentarii.
-
Trebuie sa fii logat pentru a scrie comentariu.
- Conecteaza-te acum!
- Daca nu ai un cont, inregistreaza-te acum!
