Documente Academic
Documente Profesional
Documente Cultură
2010
1. 1
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Universitatea BACU
Catedra M.S.C.
You teach best what you most need to learn.
Inveti cel mai bine lucrurile pe care ai nevoie sa le inveti.
Caracteristici generale
1. 2
Construcii de baz
Bacu
21.11.2010
Caracteristicile
limbajului
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
1. 4
Utilizare
1. 3
Bacu
21.11.2010
1. 5
Alfabetul limbajului
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
1. 6
Program C
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
21.11.2010
1. 7
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Identificatorii:
Sunt construcii cu rol de denumiri prin care se
desemneaz date, programe, subprograme, fiiere etc. Sunt
formai din litere, cifre i _ (liniua de subliniere).
Primul caracter trebuie s fie liter sau liniu de
subliniere (A) (nu se recomand, pentru a nu se face confuzii
nedorite cu identificatori rezervai din Turbo C).
Se recomand ca identificatorul s aib cel mult 32
caractere (exist opiuni pentru stabilirea lungimii
identificatorului).
1. 8
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Cuvintele rezervate
Limbajul are cuvinte cu utilizare predefinit - rezervate (A).
Exemple:
_AL, _AX, _DX, _BX, _FLAGS (din Turbo C).
Bacu
21.11.2010
1. 9
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
1. 10
Comentariile.
Sunt cuprinse ntre /* i */. Exemplu:
/*
Comentariu
*/
Nu se admit comentarii imbricate (ncuibate): comentariu n
comentariu.
Exist i alte posibiliti de comentariu: ncep cu // (la
compilatoarele C++).
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Cuvinte rezervate
Instruciuni: implementeaz structurile de control
si desemneaz aciuni
simple, structurate, compuse
terminator de instruciune
bloc
;
}
Comentarii
pe un rnd
//
pe mai multe rnduri /*
*/
Bacu
21.11.2010
1. 11
3. Tipuri de date
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipuri de date
1. 12
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
Bacu
21.11.2010
21.11.2010
1. 13
Grupa de
dat
Tipul
unsigned char
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipuri de date n C
ntreg
Real
Lungime
(octei)
Domeniu de valori
0..255
ntregi
reale
Codul ASCII al
caracterului. Poate
fi prelucrat ca un
caracter sau ca un
ntreg cu/fr
semn.
(-27..27-1)
[signed] char
unsigned [int]
0..65535
[signed] [int]
-32768..32767
unsigned long
0..232-1
-231..231-1
float
3.4*10-38..3.4*1038
double
1.7*10-308.. 1.7*10308
long double
10
3.4*10-4932..3.4*104932
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipuri de date
Mod de reprezentare
(0..28-1)
-128..127
1. 14
simple
caracter
enumerativ
logic
statice
masiv
ir
mulime
structurate
articol
dinamice
fiier
Bacu
21.11.2010
1. 15
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipurile de date n C
Dup modul de alocare
a memoriei
Dup numrul de
valori memorate
Caracter
Masiv
Structurate
Articol
NU TE PANICA !
LUCRURILE SUNT SIMPLE. TE VEI CONVINGE.
Fiier
Dinamice
Pointer
Simple
De exemplu:
Referin
O important caracteristic C:
datele reprezentate prin convenie (caracter, boolean,
enumerativ) au doar interpretare numeric (sunt numere)
LIMBAJUL C ESTE MAI APROAPE DE MAIN
DECT ALTELE
1. 17
1.
2.
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Reale
Statice
1. 16
Tipuri existente
ntregi
Simple
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
1. 18
Valori
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
ntregi native:
Aritmetice (fr semn): au prefixul unsigned: char, int, long
Algebrice (cu semn): au prefixul signed, care este i atribut implicit
(poate lipsi): char, int, long
Reale native: simpl, dubl i extra precizie
Corespondena P - C
Tip
Reprezentare
Aritmetic
NTREG
Algebric
REAL
Lungime
unsigned char
BYTE
unsigned int
WORD
unsigned long
char
SHORTINT
int
INTEGER
long
LONGINT
float
SINGLE
double
DOUBLE
10
long double
EXTENDED
Bacu
21.11.2010
Bacu
21.11.2010
21.11.2010
1. 19
1. 20
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Caractere i iruri
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Declararea variabilelor
tip lista_identificatori;
float a;
float a,b,c;
int i,n;
char c;
Bacu
21.11.2010
1. 21
#include<stdio.h>
void main()
Tipuri simple de date
{ char a;
unsigned char b;
a=200; b=200;
printf("\n\t intreg: %d \t caracter: %c",a,a);
printf("\n\t intreg: %d \t caracter: %c",b,b);
}
Rezultatul obinut este urmtorul:
intreg: -56 caracter:
Bacu
21.11.2010
intreg: 200 caracter:
1. 22
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
a=100; /* corect */
b=Q; /* corect */
b=81; /* corect, echivalent cu precedentul */
a=a+b; /* corect, prin context, se lucreaza
numeric, cu valoarea 81 pentru variabila b*/
1. 23
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipu l void
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
m, TAB, p
m, H
m, }, 1
m, TAB, 0
1. 24
CONSIDERENTE PRIVIND
UNELE TIPURI SIMPLE DE
DATE
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Tipul caracter
a) Tipul char memoreaz valori numerice (se comporta ca shortint
din Pascal);
b) Tipul unsigned char:
i) memoreaz valori numerice (se comport ca byte din Pascal);
ii) memoreaz caractere (se comport ca char din Pascal);
Exemple:
[unsigned] char a,b;
.
a=100; /* corect */
b=Q; /* corect */
b=81; /* corect, echivalent cu precedentul */
a=a+b; /* corect, prin context, se lucreaz numeric */
Bacu
21.11.2010
21.11.2010
1. 25
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
1. 26
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Variabilele i Constantele
Tipul enumerativ
enum identificator {lista_valori_simbolice} !!
ESTE TIP
Ex.enum culoare {rosu,verde,galben} (valorile 0,1,2)
Variabila: culoare x=rosu;
Se accepta i atribuiri de valori :
Ex.enum culoare {rosu=5,verde=6, galben=10}
(valorile 5,6,10)
Bacu
Declarare variabile
Definire noi tipuri de date
Literalii ntregi, reali, caracter
Literalii de tip ir de caractere
Constantele simbolice
Constantele obiect
Bacu
21.11.2010
21.11.2010
1. 27
EXEMPLE: Constante,
Variable, Comentarii
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
1. 28
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
1. 29
Constante
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Bacu
21.11.2010
1. 30
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
A. Literali
B. Constante simbolice
A. LITERALI
21.11.2010
1. 31
1. 32
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Literali reali:
Forma tiinific
Forma matematic
Exprimare extern
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
C. Constante obiect (
):
const tip nume = valoare
Ex. const int a=7; /* vezi deosebirea fa de int a=7;*/
n Pascal nu exist
ntreg.fracieEexponent
(ntreg.fracie)
Valoare
1.56
1,56
177e-1
17,7
15.5E3
15500 (15,5x103)
453.
453,0
.34
0,34
.1E-3
0,0001 (0,1x10-3)
123.456e-4
0,123456 (123,456x10-4)
1. 33
Tipurile structurate
Tipul masiv
Tipul articol
Lucrul cu iruri de caractere
Bacu
21.11.2010
Bacu
21.11.2010
1. 35
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Directive de preprocesare
#include, #define, #undef
#define N 10
#define M 10
#define MAX (M+N)
#define DIM(a,b) (a)*(b)
char v[N],v1[10+DIM(5+M,6)];
char v1[10*MAX];
char m[M][N]
Dup preprocesare secvena de cod va deveni:
char v[10],v1[10+(5+10)*(6)];
char v1[10*(10+10)];
char m[10][10];
Bacu
21.11.2010
1. 36
1. 37
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE
Observaii
Bacu
21.11.2010
PROGRAMAREA
CALCULATOARELOR
SI LIMBAJE DE
PROGRAMARE