Sunteți pe pagina 1din 4

Tipuri de date in C

Dupa modul de alocare a


memoriei

Dupa numarul de valori


memorate

Tipuri existente
Intregi
Reale
Caracter
Masiv
Articol
Fisier
Pointer
Referinta

Simple
Statice
Structurate
Dinamice
Grupa
de data

Intreg

Real

Simple

Tipul
unsigned char
[signed] char
unsigned [int]
[signed] [int]
unsigned long
[signed] long [int]
float
double
long double

Prioritatile operatorilor C
Operatori
() [] . ->
+ - & * (unari) ++ -- (tip) sizeof !
~
* (binar) / %
+ - (binari)
<< >>
< <= > =>
== !=
& (binar)
^
|
&&
||
?:
= <<= >>= += -= *= /= %= &= ^=
|=
,

Lungime
(octeti)
1
1
2
2
4
4
4
8
10

Domeniu de valori
0..255 (0.. -1)
-128..127 (- . . )
0..65535 ( )
- .. -1
0.. -1
- . . -1
3.4* ..3.4*
1.7* ..1.7*
3.4* . . .

Asociativitate
de la stanga la dreapta
de la dreapta la stanga

de la stanga la dreapta

de la dreapta la stanga
de la stanga la dreapta

Mod de
reprezentare
cod ASCII
VF aritmetica
VF algebrica
VF aritmetica
VF algebrica
VMSP
VMDP
VMEP

Grad de prioritate
MAXIM
^
^
^
^
^
^
^
^
^
^
^
^
^
^
^
MINIM

Caracteristicile algoritmilor
generalitate
determinare (claritate)
finitudine
Un algoritm este structurat daca si numai daca este format din :
BLOCK
IF-THEN-ELSE
IF-THEN
CASE-OF
WHILE-DO
DO-UNTILL
DO-FOR
Codurile ASCII -> Un caracter / octet
Codurile ASCII
0 31
32 47
48 57
58 64
65 90
91 96
97 122
123 127
128 255

Coduri de control
Caractere speciale de pe tastatur
Cifrele arabe de la 0 la 9
Caractere speciale de pe tastatur
Literele mari ale alfabetului latin
Caractere speciale de pe tastatur
Literele mici ale alfabetului latin
Caractere speciale de pe tastatur
Caractere grafice

Structuri statice de date


Vector referire element
Adr(1 ) = Adr(X) + D( )
D( ) = (r( ) 1) * lungime
r( ) = i

Caracterele

Matrice referire element


Adr(, ) = Adr(A) + D(, )
D(, ) = (r(, ) 1 ) * lungime
r(, ) = (i 1) * n + j => memorare lexicografica
r(, ) = (j 1) * m + i => memorare invers lexicografica

Tridimensional referire element


Adr(,, ) = Adr(T) + D(,, )
D(,, ) = (r(,, ) 1) * lungime
r(,, ) = ((i 1) * p + j 1) * n + k => memorare lexicografica
(,, ) = ((k 1) * n + j 1) * m + i => memorare invers lexicografica
r(,, ) = i + p ( j 1 + m ( k 1 )) => memorare lexicografica
STIVA lista LIFO
inserare in capul stivei
stergere din capul stivei
citirea din capul stivei
-

omogena cu acces direct

COADA lista FIFO


inserare in spate
stergere din fata cozii
citire din fata cozii
Etapele dezvoltarii unui program
Editare -> Program sursa -> Compilare -> Program obiect -> Editare de legaturi -> Program obiect
executabil -> Lansare in executie.
// sortarea prin interschimbare
// metoda bulelor
#include <stdio.h>
p=1;
while(p)
{
p=0;

for(i=0;i<n-1;i++)
if(x[i]>x[i+1])
{
aux=x[i];
x[i]=x[i+1];
x[i+1]=aux;
p=1;
}

// sortarea prin selectie


// metoda selectiei
#include <stdio.h>
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(x[i]>x[j])
{

aux=x[i];
x[i]=x[j];
x[j]=aux;

// sortarea prin insertie


#include <stdio.h>
for(i=1;i<n;i++)
if(x[i]<x[i-1])
{
poz = -1;
j=0;
do
{
}

if(x[i] < x[j]) poz = j;


else j++;

while((j<i) && (poz = -1))


aux= x[i];

for (k=i;k>poz; k--)


x[k]=x[k-1];
x[poz]=aux;