Cuprins Limbajul C

Gandirea algoritmica
Structura unui program si a unei functii in C
Constructiile de bază ale limbajului C – Notiuni generale
Constructiile de baza ale limbajului C – Tipuri de date
Constructiile de baza ale limbajului C – Operatori
Structuri de date – Lista liniara simplu inlantuita
Structuri de date – Stiva (LIFO – Last In First Out)
Structuri de date – Coada (FIFO – First In First Out)
Instructiuni ale limbajului C
Pointeri – Operatori specifici, tablouri, functii
Pointeri – Tipuri structurate de date
Functii de biblioteca
Operatii cu fisiere
Calcul Matriceal – Produsul a doua matrici
Calcul Matriceal – Inversarea unei matrici
Calcul Matricial – Metoda lui Gauss
Metode de sortare – sortare ordinara
Metode de sortare – prin selectie (Selection sort)
Metode de sortare – insertie directa (Direct Insertion Sort)
Metode de sortare – insertie binara (Binary Insertion Sort)
Metode de sortare – insertie directa folosind o santinela
Metode de sortare – metoda bulelor (Bubble Sort)
Metode de sortare – sortare rapida (Quick Sort)
Metode de sortare – prin interclasare (Merge Sort)
Recursivitate (numar factorial, algoritmul lui Euclid recursiv, sirul lui Fibonacci)
Backtracking – permutarile
Backtracking – aranjamente
Backtracking – combinari
Backtracking – problema reginelor
Backtracking – problema labirintului
Backtracking – problema calului
Backtracking – problema mingii
Metoda Divide et Impera – Suma elementelor unui sir
Metoda Divide et Impera – Problema Turnurilor din Hanoi
Metoda Divide et Impera – Elementul maxim intr-un sir
Metoda Divide et Impera – Problema cautarii binare
Grafuri neorientate – parcurgerea in latime
Grafuri neorientate – parcurgerea in adancime
Grafuri neorientate – Drumuri intr-un graf
Grafuri neorientate – ponderate
Grafuri neorientate – hamiltonian
Grafuri neorientate – euleriene
Grafuri neorientate – implementarea unui graf utilizand matricea de adiacenta
Grafuri neorientate – implementarea unui graf utilizand pointeri
Grafuri neorientate – drumul optim intr-un graf

Operatii cu fisiere

Funcţiile descrise până în acest moment operează cu echipamentul standard de intrare (tastatura) respectiv de ieşire (ecranul, monitorul). Operaţiile de intrare/ieşire se pot efectua având la bază şi alte echipamente, cum ar fi fişierele.

Sistemul de I/O din C separă printr-o anumită abstractizare programatorul de echipament. Forma abstractă se numeşte stream iar instrumentul efectiv care se poate utiliza este fişierul.

Sistemul de fişiere din C este proiectat să lucreze cu o mare varietate de echipamente, care include terminale, drivere de disc, drivere de unitate de bând, etc. Un fişier în C poate să fie orice, de la un fişier pe disc, un terminal sau o imprimantă. Chiar dacă echipamentele diferă, sistemul de fişiere din C le transformă pe fiecare într-un instrument logic denumit stream.

În C există două tipuri de streamuri:
• text -reprezintă o succesiune de linii de text despărţite prin caracterul newline
• binar -reprezintă o succesiune de octeţi fără nici o structură
La lansarea în execuţie a unui program, se deschid trei fişiere cu canale de tip text:
• stdin -intrarea standard implicit asociată tastaturii
• stdout -ieşirea standard, implicit asociată ecranului monitorului
• stderr -ieşirea standard pentru erori, implicit asociată ecranului monitorului
Continue reading