Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Stil de programare<br />
12. Tehnici de programare <strong>în</strong> C<br />
Comparând programele scrise de diversi autori <strong>în</strong> <strong>limbajul</strong> C se pot constata<br />
diferente importante atât <strong>în</strong> ceea ce priveste modul de redactare al textului sursã<br />
(utilizarea de acolade, utilizarea de litere mici si mari, s.a.), cât si <strong>în</strong> utilizarea<br />
elementelor <strong>limbajul</strong>ui (instructiuni, declaratii, functii, etc.).<br />
O primã diferentã de abordare este alegerea <strong>în</strong>tre a folosi cât mai mult facilitãtile<br />
specifice oferite de <strong>limbajul</strong> C sau de a folosi constructii comune si altor limbaje<br />
(Pascal de ex.). Exemple de constructii specifice <strong>limbajul</strong>ui C de care se poate abuza<br />
sunt:<br />
- Expresii complexe, incluzând prelucrãri, atribuiri si comparatii.<br />
- Utilizarea de operatori specifici: atribuiri combinate cu alte operatii, operatorul<br />
conditional, s.a.<br />
- Utilizarea instructiunilor "break" si “return”.<br />
- Utilizarea de pointeri <strong>în</strong> locul unor vectori sau matrice.<br />
- Utilizarea unor declaratii complexe de tipuri, <strong>în</strong> loc de a defini tipuri intermediare,<br />
mai simple. Exemplu:<br />
// vector de pointeri la functii void f(int,int)<br />
void (*tp[M])(int,int); // greu de citit !<br />
// cu tip intermediar pointer la functie<br />
typedef void (*funPtr) (int,int); // pointer la o functie cu 2 argum intregi<br />
funPtr tp[M]; // vector cu M elemente de tip funPtr<br />
O alegere oarecum echivalentã este <strong>în</strong>tre programe sursã cât mai compacte (cu cât<br />
mai putine instructiuni si declaratii) si programe cât mai explicite si mai usor de<br />
<strong>în</strong>teles. In general este preferabilã calitatea programelor de a fi usor de citit si de<br />
modificat si mai putin lungimea codului sursã si, eventual, lungimea codului obiect<br />
generat de compilator. Deci programe cât mai clare si nu programe cât mai scurte.<br />
Exemplu de secventã pentru afisarea a n <strong>în</strong>tregi câte m pe o linie :<br />
for ( i=1;i