Sunteți pe pagina 1din 28

Inițiere în limbajul C

INTRODUCERE
Limbajul C este un limbaj de programare, iar un limbaj de programare este un limbaj prin care
putem comunica unui calculator metoda de rezolvare a unei probleme. Iar metoda de rezolvare
a problemei, se numește algoritm.

Limbajul C a fost creat la începutul anilor '70 de către Brian W Kernigham şi Dennis M Ritchie de
la Bell Laboratories New Jersey, fiind iniţial destinat scrierii unei părţi din sistemul de operare
Unix.
Pentru orice limbaj de programare este prevăzut un mediu de dezvoltare, altfel spus un editor
(IDE – Integrated Development Environment), care permite scrierea și interpretarea codului în
limbajul respectiv.
Pentru limbajul C există o suită întreagă de medii de dezvoltare, ca:
◦ Turbo C
◦ Borland C
◦ NetBeans
◦ DevC++
◦ CodeLite etc.

http://codecall.net/2014/02/26/best-compilers-and-ides-for-cc-programmers/
http://www.wtfdiary.com/2012/08/8-best-and-free-ide-for-c-and-c.html
„Dacă constructorii ar fi construit clădiri aşa cum scriu programatorii programe, atunci prima
ciocănitoare care ar fi venit ar fi distrus civilizaţia” (din Legile lui Murphy)

1. Unități lexicale ale limbajului C (alfabetul)


2. Principalele tipuri de date
3. Diapazonul tipurilor de date
4. Constante
5. Variabile
Orice program în limbajul C trebuie să fie compus din cel puțin o funcție, și anume funcția
main().
Structura unei funcții:
tip nume_functie(parametru1,parametru2…parametrun)
{

corp functie

}

Unde tip poate fi: - void (adică vid) sau


- un anumit tip de date (int, double etc.)
Unități lexicale ale limbajului C
Setul de caractere al limbajului C este un subset al setului de caractere ASCII, format din:
– 26 litere mici
abcdefghijklmnopqrstuvwxyz
– 26 litere mari
ABCDEFGHIJKLMNOPQRSTUVWXYZ
– 10 cifre
0123456789
– 30 simboluri speciale
Blanc ! " # % & ' ( ) *  ,  . / : ;    ? [ \ ] ^ _ ~ { | }
– 6 simboluri negrafice
\n, \t, \b, \r, \f, \a
În limbajul C există şase tipuri de unităţi lexicale: identificatori, cuvinte-cheie, constante, şiruri, operatori şi separatori.
\a Sunet (beep)
\b Întoarcere cu o poziţie
\t Tabulare orizontală
\n Trecere în rînd nou
\r Revenire la coloana 1
\f Trecerea în alt format
Identificatori, cuvinte cheie
Cuvintele cheie definite de standardul ANSI sînt:
auto do goto signed unsigned
break double if sizeof void
case else int static volatile
char enum long struct while
const extern register switch
continue float return typedef
default for short union
Tipuri de date
Tipul unei date constă într-o mulțime de valori pentru care s-a adoptat un anumit mod de reprezentare în
memoria calculatorului și o mulțime de operatori care pot fi aplicați acestor valori. Tipul unei date determină
lungimea zonei de memorie ocupată de acea dată. În general, lungimea zonei de memorare este dependentă de
calculatorul pe care s-a implementat compilatorul.
Tipuri de date: predefinite, definite de utilizator
Tipurile de baza sunt: întregi si reale

Întregi:
char (caracter) un singur octet (1 byte=8 biți), capabil să conțină codul unui caracter din setul local de caractere;
int număr întreg, reflectă în mod tipic mărimea naturală din calculatorul utilizat;

Reale:
float număr real, în virgulă mobilă, simplă precizie;
double număr real, în virgulă mobilă, dublă precizie.
Se pot menționa și alte tipuri de date așa ca:
• void (tipul vid)
• enum (enumerare)
• struct (structură)
• union (uniune)
Diapazonul tipurilor de date
Tipuri întregi
Diapazonul tipurilor de date
Tipuri reale
Constante
În C, constantele se referă la valori fixe pe care programul nu le poate modifica.

Constantele pot fi: întregi, în virgulă mobilă sau reale, constante-caracter, constante-şir sau
enumerări.
Constante reale
Constantele reale (flotante) reprezintă numere zecimale fracţionare ce pot fi scrise sub două
forme: formă cu punct şi formă cu ordin.

◦ Forma cu punct: 7.32; 0.055;


◦ Forma cu ordin (mantisa_E_ordinul): 7.32E+14 = 7.32*1014; 55.000000E-3 = 0.055;
Constante întregi
Constanta întreagă este un număr înscris în program fără punct zecimal şi fără indicatorul de
putere.

Constantele întregi în C pot fi:


◦ Zecimale - constanta este înscrisă prin intermediul cifrelor 0..9 şi prima cifră nu e zero, exemplu: 123, 77,
89.
◦ Octale - este înscrisă folosind cifrele 0..7 şi prima cifră este zero, exemplu: 045, 037.
◦ Hexazecimale - este înscrisă cu ajutorul cifrelor 0..9 şi literelor a..f sau A..F şi se începe cu 0x sau 0X,
exemplu: 0x45, 0x37.
Constante caracter
Există doua metode de scriere a caracterelor.
◦ Prima metodă: Orice caracter al tabelului codurilor ASCII poate fi reprezentat în formă de constanta
caracter astfel: ‘\ddd’ sau ‘\xHHH’ , unde ddd–codul octal, HHH–codul hexazecimal al caracterului.
Zerourile ce stau în faţa codului caracterului pot fi omise. Exemplu: secvenţa '\040' va genera caracterul
spaţiu.

◦ Metoda a doua: Caracterele des folosite ce nu se reflectă pe ecran nu trebuie scrise sub formă de cod.
În acest caz se folosesc notaţiile lor rezervate. Exemplu: ‘a’, ‘ ’, ‘z’.
Constante caracter
O constantă caracter este un oarecare caracter al alfabetului luat în apostrofe. Exemplu:
‘caracter’ (‘a’, ‘c’).

Mulţimea valorilor unei constante de tip carecter este următoarea:


◦ literele minuscule şi majuscule ale alfabetului latin, zece cifre arabe 0..9 şi simboluri speciale ! @ # $ % ^
& * ( ) _ + = | \ / }{ “ ’ : ; ? > . < , ~ `
Constante șiruri de caractere
Constantele şir constau din caractere cuprinse între ghilimele, ca în faimosul “Hello, world“.

Limbajul C operează cu şirurile cum ar lucra cu o succesiune de date de tip caracter amplasate
într-o structură numită masiv. Aici fiecare simbol din şir este o componentă aparte a masivului
de tip char. Tipul masiv este un tip structurat în C şi va fi studiat în capitolele urm[toare.
Definirea Constantelor
Exista 2 metode de definire a constantelor:

◦ #define name value care este plasată pînă la funcţia main(). Unde #define este directiva compilatorului,
name – numele constantei, value – valoarea constantei. Exemplu: #define K 35 sau #define salariu 700.
Între directivă, nume şi valoarea constantei este necesară prezenţa la minim un spaţiu.
◦ A doua metoda foloseşte cuvîntul rezervat const pentru iniţializarea constantei, descrierea tipului ei şi
atribuirea valorii şi are următoarea sintaxă: const int name = value; care este plasată după funcţia
main(), unde const este cuvînt rezervat pentru iniţializarea constantelor, int cuvîntul rezervat pentru
desemnarea constantelor de tip întreg şi value – valoarea constantei.
Exemplu:

main() {
const int K = 35;
…;
const int salariu = 700;
…;}
Enumerări
Folosirea cuvântului cheie enum este o metodă alternativă pentru definirea constantelor întregi, ceea
ce este uneori mult mai util decât utilizarea lui const.

De exemplu: enum {ASM , AUTO , BREAK }; sau


enum Keyword {ASM , AUTO , BREAK };

este echivalent cu:


const ASM = 0;
const AUTO = 1;
const BREAK = 2;
Variabile
Variabila este o mărime care în procesul îndeplinirii programului poate primi valori diferite.

Orișicare variabilă este caratcerizată prin: nume, tip, valoare

Numele variabilei (identificatorul variabilei) este o succesiune de caractere şi cifre ale


alfabetului ce se începe cu o literă sau cu caracterul de subliniere.
Variabile
În dependență de compilator, spre exemplu în Turbo C se permit următoarele caractere la
formarea numelui variabilei/identificatorilor: Literele mari A..Z, literele mici a..z, cifrele arabe
0..9 precum şi caracterul de subliniere’_’. În privinţa lungimii numelui nu-s nici un fel de limite,
dar pentru compilatorul Turbo C au valoare doar primele 32 de caractere. Ex: A, b, x, y, Suma,
Gama, Text_no, beta, a1, b_1.
Declararea/descrierea variabilelor
Toate variabilele din program trebuie să fie descrise. Descrierea variabilelor de obicei se
efectuează la începutul programului cu ajutorul instrucţiunilor de descriere.
Instrucţiunea de descriere a variabilelor are următoarea formă generală de înscriere: tip v1,v2,
…,vn;
Unde tip – tipul variabilelor v1,v2,...,vn, care poate fi: int, float, double sau char. Punctul şi
virgula este semnul sfîrşitului instrucţiunii. Între cuvîntul cheie ce determină tipul variabilelor şi
lista numelor variabilelor, trebuie să fie cel puţin un spațiu.
De exemplu:
Declararea/descrierea variabilelor
main() {
float salary, suma, total;
int timc, count;
char znak, litera; …
}
Iniţializarea variabilelor
Atribuirea valorii iniţiale unei variabile în timpul compilării se numeşte iniţializare.
Declararea și inițializarea variabilelor se poate face concomitent:
Exemplu:
main() {
char bara=’\’, litera=’T’;
int anul=2000, luna=9;
float alfa, beta, gama=1,7e-12;

}
Laborator
1. Afisati numele vostru pe ecran de 5 ori
2. Sa se declare constanta Pi în doua modalitati si sa se calculeze aria si lungimea unui cerc de
raza r=7
Exerciții individuale
1. Afișați de 10 ori în consolă mesajul ”Limbajul C este util și interesant!”
2. Calculați perimetrul și aria unui pătrat cu latura p=4

S-ar putea să vă placă și