Introducere
Subiectele pe care le voi aborda eu ,și consider că te va ajuta pe tine pe viitor. Fiecare subiect va fi abordat ,cel putin o data pe săpămână.Voi posta noțiuni de bază .
Subiectele pe care le voi aborda eu ,și consider că te va ajuta pe tine pe viitor. Fiecare subiect va fi abordat ,cel putin o data pe săpămână.Voi posta noțiuni de bază .
Când am început să pictez, încercam să surprind fiecare obiect în detaliu și să-l includ într-un peisaj care era deja suprasaturat. Când, ani mai târziu, mi-am analizat lucrările, am constatat că un privitor novice nu ar ști pe ce să se concentreze mai întâi. Minimalismul m-a ajutat să-mi creez un nou stil aerisit, iar aici veți găsi 5 sfaturi care sper să vă ajute și pe voi.
5. Instructiuni in limbajul C - 20.1.2020
În acest capitol vom discuta despre instrucțiunile in limbajul C. Pentru început vreau sa definim termenul de instructiune.
O instructiune o putem define ca fiind o portiune de program ce poate fi executată,adica specifica o actiune : iteratie,selectie,etc.
5.1 Instructiunea de selectie
Cele doua tipuri de instructiuni de selectie din C sunt if si switch.
5.1.1 Instructiunea IF
Forma generala a instructiunii if este :
// instructiuni
//...
}
if...else este cea mai simpla instructiune conditionala,forma generala este urmatoarea :
if (conditie) {
// instructiuni
// ...
} else {
// alte instructiuni
// ...
}
Instructiunea evalueaza expresia conditiesi execută instrucţiunile dintre acolade doar daca rezultatul este nenul. În varianta cu else, pentru rezultat nul este executat blocul de instrucţiuni aflat după else.
Exemplu : if (m == s) {
printf("Numerele sunt egale");
} else if (m > s) {
printf("M este mai mare");
}
Explicatie :
Prima data se evaluează expresia conditie si anume m==s, daca este adevarata se executa instructiunea dintre acoloade si anume printf("Numerele sunt egale"), iar in caz contrar se executa ce urmeaza dupa else si anume printf("M este mai mare").
5.1.1 Instructiunea SWITCH
Instructiunea switch testeaza succesiv valoarea unei expresii fata de o lista de constant de tip caracter sau intreg. Cand apare egalitate, se executa instructiunea sau instructiunile associate acelei constante.
Forma generala a instructiunii switch este :
case constanta1:
// instructiuni1
case constanta2:
// instructiuni2
...
default:
// instructiuni
}
Valoarea expresie este evaluata la un tip intreg, apoi aceasta valoare este comparata cu fiecare constanta, este rulat blocul de instrucţiuni al valorii găsite. În caz ca numărul nu este egal cu nici una dintre constante, este executat blocul aflat după default.
Important !!!!
După executarea ultimei instrucţiuni dintr-un bloc case, execuţia nu continua după blocul switch si la inceputul următorului bloc case constanta sau default. Pentru a ieşi din blocul switch, se foloseşte instrucţiunea break.
5.2 Instructiuni de ciclare
Aceste instructiuni de ciclare permit ca o secventa de instructiuni sa se execute repetat,pana cand se indeplineste o anumite conditie.
5.2 .1 Instructiunea FOR ( cu numar cunoscuti de pasi)
Forma generala acestei instructiuni este urmatoarea :
for ( initializare; conditie; increment) instructiune ;
expresia initializare - este folosita in mod special pentru a da o valoare initiala variabilei care controleaza ciclul ;
expresia conditie - testeaza variabila de control a ciclului cu o valoare finala ori de cat ciclul se repeat sau o expresie care controleaza ciclul ;
expresia increment - se executa la sfarsitul fiecarui ciclu,adica dupa executarea instructiunii sau secventei de instructiuni.
Exemplu
În exemplul de mai jos, bucla for este utilizata pentru a afisa numerele de la 1 la 100.
#include<stdio.h>
void main ()
{
int m;
for(m=1; m<=100; m++)
printf("%d", m);
}
Explicatie :
Variabila m este utilizata pe post de "contor" al instructiunii for, numarand la a cata iteratie s-a ajuns. Executia instructiunii for se incheie atunci cand numarul de iteratii devine egal cu 100.
Initializarea lui m cu 1 se realizeaza o singura data si anume la inceput;
m<=100 este conditia de continuare a executiei;
m++ se efectueaza dupa fiecare executie a ciclului (postincrementare).
În cazul instructiunii for, oricare dintre cele trei expresii poate lipsi. Lipsa expresiei conditionale este echivalenta cu o bucla infinita, cum ar fi:
Important !!!!
Instructiunea for nu prezinta limite in ceea ce priveste expresiile (initializare,conditie,increment) care apar in interiorul sau. De exemplu ,nu trebuie neaparat sa se foloseasca expresia initializare pentru a initialize variabila de control a ciclului. In locul expresiei conditie se pot folosi si alte mijloace pentru a opri un ciclu. Nu este neaparat nevoie sa se incrementeze sau sa se decrementeze o variabila.
RETINETI !!!!!
O bucla este o structura de control care provoaca executarea unei instructiuni sau a unei secvente in mod repetat,pana cand sunt indeplinite una sau mai multe conditii.
Iterarea - de fiecare data cand se executa corpul buclei spunem ca facem cate o trecere prin bucla,aceasta trecere se numeste iteratie.
5.2.2 Instrucțiunea WHILE ( cu numar necunoscut de pași)
Forma generală a instrucțiunii while este următoarea :
while ( expresie) instrucțiune ;
unde : expresie - poate fi orice expresie valida in C. Valoarea acestei expresii se considera adevarata daca este diferita de zero si falsa daca este zero ;
instructiune - reprezinta corpul buclei si poate fi o instructiune oarecare sau un bloc de instructiuni.
Important !
Ciclul buclei se reia atata timp cat expresia este adevarata. Cande expresia devine falsa controlul programului se da urmatoarei instructiuni din program. Valoarea expresiei este evaluata de la inceputul ciclului astfel daca valoarea expresiei este falsa de la inceput,ciclul nu se va executa niciodata
Exemplu
Sa luam ca exemplu o aplicatie pentru un aparat care saluta oamenii. Aparatul este montat in fata unui stadion de fotbal si are rolul sa salute oamenii care intra pe stadion sa urmareasca meciul,iar in functie de cate bilete a vandut.
int bilete ;
int persone=0;
printf("Introduceti nr de bilete vandute:");
scanf("%d",&bilete);
while( personae ! = bilete) {
printf("Salut esti a %d a persoana care a venit la meci:")
}
Acum sa explicam fiecare linie in parte :
5.2.3 Instructiunea DO-WHILE
Am vorbit despre instructiunile for si while si am invatat ca cele doua instructiuni fac parte din categoria instructiunilor cu test initial,insa instructiunea do while este singura care face parte din categoria instructiunilor cu test final.
Forma generala acesti instructiuni este :
do { // instructiune} while (expresie);Ciclul do-while repeta instructiunea sau secventa de instructiuni din corpul ciclului atata timp cat expresia este adevarata. Deci iesirea din bucla se face cand expresia devine falsa.
5.2.4Instructiui de salt
Este important sa stiti ca instructiunile de salt din C sunt : break , got, continue si return .
Dintre acestea instructiunile break si continue pot fi folosite in instructiunile de ciclare, instructiunea break se foloseste si in instructiunea switch ,pe cand instructiunile goto si return pot sa apara oriunde in program
5.2.5 Instructiunea break
Break pe langa utilizarea descrisa la instrucţiunea switch, poate fi folosita pentru a ieşi forţat dintr-o instrucţiune de repetiţie.
Exemplu
for( ; ; ) {
i++;
if (i > 10) {
break; // ieşire forţată din bucla //
}
printf( "i=%d\n", i );
}
5.2.6 Instructiunea continue
Continueforţeaza terminarea iteratiei curente a buclei si trecerea la iteraţia următoare. În cazul instrucţiunii for, acest lucru presupune executarea instrucţiunii de incrementare,apoi se evalueaza condiţia de continuare a buclei.
În exemplul de mai jos putem observa implementarea unei bucle infinite cu ajutorul instrucţiunii continue:
{
if (i == 0)
{
continue;
}
i++;
}
5.5.3 Instructiunea return
Returneste instrucţiunea de terminare a funcţiei curente. Aceasta poate fi apelată in forma return.
5.5.4 Instructiunea goto
Goto este o instrucţiune de salt a execuţiei. Instrucţiunea primeşte ca parametru o etichetă, următoarea instrucţiune executată după goto este cea de la eticheta dată.