You are on page 1of 12

Tipuri de date fundamentale

Tip

Spatiu 8 biti 16 biti 32 biti

Domeniul de valori de memorie -128 127 -32768 32767 +/-(-3.4E-383.4E+38) precizie 7 cifre

char int float

double 64 biti

+/-(-1.7E-3081.7E308) precizie 15 cifre

Declaratii de variabile

int nr; float raza,perimetrul; int TablouIntregi[10]; char nume[20]; float matrice[10][20]; char string[3]=C++; int vector[10]={1,2,3,4,5,6,7,8,9,10};

Structura unui program


/* variabile globale*/ int contor; /*definitia functiei f()*/ float f(int n, float r) { char str[10]; contor=10; } void main(void) { double r; }

Operatori

Operatorul de atribuire = Operatori aritmetici


- operatori binari: + - * / % - operatori unari: -(semnul minus) + -- ++

Operatori logici si relationali


> >= < <= == != && || !

Operatori la nivel de bit & | ^ ~ << >> Operatori de atribuire combinati


+= -= *= /= &= |= <<= >>= %= ^=

Instructiuni de decizie

Instructiunea ifelse
if (expresie) instr_a if (expresie) instr_a else instr_f

Instructiunea switch
switch (expresie) { case const1: lista_instr <break;> case const2: lista_instr <break;> <default:> lista_instr <break;> }

Instructiuni de ciclare

Instructiunea while
while (expresie) instructiune

Instructiunea do-while
do instructiune while (expresie)

Instructiunea for
for (<expresie1>;<expresie2>;<expresie3>) <instructiune>

Variabile pointer

Declarare
int *pointerLaIntreg; int * tabptr[10]; /*tablou de pointeri catre intregi*/ float **adrPointer; /* pointer la pointer*/ void * oriceAdresa;

Operatori specifici
&id_var *id_ptr adresa variabilei id_var obiectul de la adresa id_ptr

Functii

Definirea functiilor
<tip_r> identif_functie (<lista_declaratii_parametri>) { <lista_declaratii_locale> lista_instructiuni } return <expresie>

Prototip
<tip> identif_functie (<lista_decl_param>);

Transferul parametrilor

Transferul prin valoare


Se incarca valoarea parametrului efectiv in zona de memorie a parametrului formal. Exemplu: float fct1(double,char);

Transferul prin referinta


Se da explicit adresa variabilei, pentru ca functia sa poata modifica valoarea unui parametru efectiv. Exemplu: void schimba(int * a, int * b);

Structuri

Exemplul 1

Exemplul 2

struct adr { char nume[30],strada[20]; int nr,bloc,ap; } adresa1,lista1[100]; main() { struct adr adresa2, lista2[10]; ... }

typedef struct { char nume[30],strada[20]; int nr,bloc,ap; } t_adr; t_adr adresa, lista[100];

Uniuni

O zona de memorie poate fi alocata mai multor obiecte de tipuri diferite.


union identif_tip_uniune { tip_elem1 identif_elem1; tip_elem2 identif_elem2; tip_elemN identif_elemN; } lista_identif_var_uniune;

Enumerari

Ansamblu de constante intregi, fiecare asociata unui identificator Exemple:


enum stare {st0,st1,st2} variabila_stare; /*pentru st0=0, st1=1, st2=2*/

enum id_tip_enum {id_elem <=const>,} lista_id_var;

enum dimens {nul, mic=5, mediu=7, mare};


/*pentru nul=0,mic=5,mediu=7,mare=8*/

You might also like