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

Functii de biblioteca

Funcţia printf
Funcţia printf converteşte, formatează şi tipăreşte argumentele sale la ieşirea standard sub controlul şirului de control.
Formatul general al acestei instrucţiuni este:

printf(control,argi, arg2, ...argn);

control este un şir de caractere ce conţine 2 tipuri de obiecte:
• caractere ordinare care sunt simplu copiate în şirul de ieşire
• semnificaţii de conversie care cauzează conversia şi tipărirea următoarelor argumente succesive ale lui printf

Fiecare specificaţie de conversie este introdusă prin caracterul % şi încheiată prin caracterul de conversie. între caracterul % şi caracterul de conversie pot apărea:
• semnul minus care specifică cadrarea la stânga în câmp a argumentului convertit
• un şir de cifre care specifică dimensiunea minimă a câmpului în care se editează data. Numărul convertit va fi introdus în câmp pe cel puţin această lungime sau mai mare dacă este necesar. Dacă data necesită mai puţine poziţii decât câmpul descris de acest şir atunci el va fi complectat la stânga cu caractere nesemnificative (sau la dreapta dacă s-a folosit semnul minus în specificatorul de format respectiv). Caracterele nesemnificative implicite sunt spaţiile. Dacă şirul de cifre începe cu un zero nesemnificativ, caracterele nesemnificative vor fi zerouri.
• punctul separă şirul de cifre ce defineşte dimensiunea minimă a câmpului de şirul următor de cifre ce semnifică precizia
• un şir de cifre ce defineşte precizia care specifică numărul maxim de caractere acceptate dintr-un şir de caractere sau numărul de zecimale care se vor scrie în cazul numerelor reale.

Deci semnificaţiile de conversie au structura:

%[-][sir_de_cifre][.][sir_de_cifre]c

Exemple:
“%5f” arată ca numărul are o lungime de cel puţin 5 caractere
“%05d” determină umplerea cu zerouri a unui număr mai mic de 5 cifre, astfel încât lungimea totală să fie 5
“%.2f” solicită două poziţii după punctul zecimal, dar lungimea lui nu este supusă restricţiilor
“%-5.2f” determină afişarea pe cel puţin 5 poziţii din care exact 2 zecimale aliniat la stânga (datorită prezentei semnului “-“)
“%.of” suprimă tipărirea părţii fracţionare
“%5.10s” determină afişarea unui şir pe cel puţin 5 poziţii dar nu mai mult de 10 caractere
“%%” determină afişarea caracterului %
Continue reading