Sunteți pe pagina 1din 5

http://www.cppro.3x.ro/documentatii/PrezentareCBook.

html

Prezentarea limbajului C
1. Cum se scrie un program (in C) ? 1.1. Un prim program 1.2. Variabile, expresii si asignari 1.3. Un exemplu de utilizare a variabilelor de tip float 1.4. Initializarea variabilelor 1.5. Folosirea directivei #define 1.6. Folosirea functiilor printf() si scanf() 1.7. Instructiunea "while" 1.8. Stilul de redactare al programelor 1.9. Erori de programare frecvente 1.10. Redirectarea intrarii si iesirii 1.11. Exercitii propuse spre implementare 2. Atomi lexicali, operatori, sistemul C 2.1. Caractere si atomi lexicali 2.2. Avantajele folosirii comentariilor 2.3. Cuvinte rezervate 2.4. Identificatori 2.5. Constante 2.6. Siruri constante 2.7. Operatori si semne de punctuatie 2.8. Operatorii de precedenta si asociativitate 2.9. Operatorii de incrementare si decrementare 2.10. Operatori de asignare 2.11. Sistemul C 2.12. Exercitii propuse spre implementare 3. Controlul instructiunilor 3.1. Operatori relationali, de egalitate si logici 3.2. Operatori si expresii relationale 3.3. Operatori si expresii de egalitate 3.4. Operatori logici si expresii logice 3.5. Evaluare rapida (short-circuit) 3.6. Instructiunea compusa 3.7. Instructiunea vida 3.8. Instructiunile "if" si "if-else" 3.9. Instructiunea "while" 3.10. Instructiunea "for" 3.11. Operatorul "," 3.12. Instructiunea "do" 3.13. Instructiunea "goto"

3.14. Instructiunile "break" si "continue" 3.15. Instructiunea "switch" 3.16. Operatorul conditional 3.17. Exercitii propuse spre implementare 4. Functii si programare structurata 4.1. Apelul functiilor 4.2. Instructiunea "return" 4.3. Prototipurile functiilor 4.4. Descriere "top-down" 4.5. Invocare si apel prin valoare 4.6. Deosebirea dintre "return" si "exit" 4.7. Exercitii propuse spre implementare 5. Procesarea caracterelor 5.1. Tipul de data "char" 5.2. Utilizarea lui "getchar()" si "putchar()" 5.3. Biblioteca <ctype.h> 5.4. Un exemplu util: Numararea cuvintelor 5.5. Exercitii propuse spre implementare 6. Tipuri fundamentale de date 6.1. Declaratii si expresii 6.2. Tipuri fundamentale de date 6.3. Caractere si tipul "char" 6.4. Tipul de date "int" 6.5. Tipurile integrale "short", "long" si "unsigned" 6.6. Tipuri reale 6.7. Operatorul "sizeof()" 6.8. Functii matematice 6.9. Conversii implicite si explicite 6.10. Conversia la intreg 6.11. Conversiile aritmetice uzuale 6.12. Conversii explicite 6.13. Erori de programare frecvente 6.14. Exercitii propuse spre implementare 7. Tipurile enumerare, "typedef", si operatori pentru biti 7.1. Tipurile enumerare 7.2. Folosirea lui "typedef" 7.3. Expresii si operatori pe biti 7.4. Complement pe bit 7.5. Complement fata de doi 7.6. Operatori logici binari pe biti 7.7. Operatori de deplasare stanga si dreapta 7.8. Masti

7.9. Un program de impachetare si despachetare a cuvintelor 7.10. Litere mari -> litere mici 7.11. Recapitulare 7.12. Exercitii propuse spre implementare 8. Functii, pointeri si clase de memorare 8.1. Declararea si atribuirea pointerilor 8.2. Adresare si indirectare 8.3. Pointeri catre "void" 8.4. Apel prin adresa (referinta) 8.5. Reguli pentru stabilirea domeniului 8.6. Clase de memorare 8.7. Clasa de memorare "auto" 8.8. Clasa de memorare "extern" 8.9. Clasa de memorare "register" 8.10. Clasa de memorare "static" 8.11. Variabile externe statice 8.12. Initializari implicite 8.13. Definitii si declaratii de functii 8.14. Calificatorii de tip "const" si "volatile" 8.15. Exercitii propuse spre implementare 9. Siruri si pointeri 9.1. Siruri uni-dimensionale 9.2. Initializarea sirurilor 9.3. Indexul unui sir 9.4. Relatia dintre vectori si pointeri 9.5. Pointeri aritmetici si lungimea elementelor 9.6. Trimiterea sirurilor ca argumente pentru functii 9.7. Siruri multidimensionale 9.8. Vectori 2-dimensionali 9.9. Vectori 3-dimensionali 9.10. Initializarea vectorilor 9.11. Alocarea dinamica a memoriei 9.12. Exercitii propuse spre implementare 10. Siruri de caractere si pointeri 10.1. Marcatorul "sfarsit de sir de caractere" \0 10.2. Folosirea pointerilor pentru procesarea unui sir 10.3. Trimiterea argumentelor catre "main()" 10.4. Lucrul cu sirurile din biblioteca standard 10.5. Unde este eroarea ? 10.6. Exercitii propuse spre implementare 11. Directive preprocesor si metodologie de programare 11.1. Folosirea lui #include

11.2. Folosirea lui #define 11.3. Sintaxa "dulce" 11.4. Macrouri cu argumente 11.5. Unde este greseala ? 11.6. Definitii de tipuri si macrouri din <stddef.h> 11.7. Sortare folosind "qsort()" 11.8. Un exemplu de utilizare a macrourilor cu argumente 11.9. Compilare conditionala 11.10. Macrouri predefinite 11.11. Operatorii # si ## 11.12. Macroul "assert()" 11.13. Folosirea lui #error si #pragma 11.14. Numerele liniilor unui program 11.15. Exercitii propuse spre implementare 12. Recursie 12.1. Manipularea sirurilor folosind recursia 12.2. Metodologia "divide-et-impera" 12.3. Exercitii propuse spre implementare 13. Structuri si liste inlantuite 13.1. Declararea structurilor 13.2. Accesarea unui membru 13.3. Asociativitatea si precedenta operatorilor (tabelul complet) 13.4. Structuri, functii si asignari 13.5. Initializarea structurilor 13.6. Folosirea lui "typedef" 13.7. Structuri recursive (self-referential) 13.8. Liste liniar inlantuite 13.9. Operatii pentru liste 13.10. Crearea unei liste 13.11. Numarare si cautare 13.12. Inserare si stergere 13.13. Exercitii propuse spre implementare 14. Intrari/iesiri si fisiere 14.1. Functia de iesire "printf()" 14.2. Functia de intrare "scanf()" 14.3. Functiile "sprintf()" si "sscanf()" 14.4. Functiile "fprintf()" si "fscanf()" 14.5. Accesarea fisierelor 14.6. Accesarea aleatoare a unui fisier 14.7. Stil de programare 14.8. Exercitii propuse spre implementare 15. Instrumente soft

15.1. Executarea comenzilor dintr-un program C 15.2. Variabile de mediu 15.3. Compilatorul C 15.4. Creearea unei biblioteci 15.5. Folosirea lui "prof" 15.6. Cronometrarea executiei codului C 15.7. Programe de depanare 15.8. Utilitarul "make" 15.9. Utilitarul "touch" 15.10. Alte instrumente soft utile 15.11. Exercitii propuse spre implementare