130 likes | 292 Views
Programare in limbajul C – Cursul 4 Instrucţiuni şi structuri de control Prof. univ. dr. Constantin Popescu. Agenda. Comentarii in C Instructiuni C Instructiuni compuse Instructiunea if Instructiunea switch. Comentarii. Comentariul in C: /* Acesta este un comentariu */
E N D
Programare in limbajul C – Cursul 4Instrucţiuni şi structuri de controlProf. univ. dr. Constantin Popescu
Agenda • Comentarii in C • Instructiuni C • Instructiuni compuse • Instructiunea if • Instructiunea switch
Comentarii • Comentariul in C: /* Acesta este un comentariu */ • Este folosit pentru intelegerea mai usoara a programului C • Comentariile trebuie sa explice: • Cazuri speciale • Utilizare de functii (parametri, valori de return, scop) • Lucruri care nu sunt triviale • Comentariul explica ce face codul respectiv (ce urmareste). • Comentariul in C++: // Acesta este un comentariu C++
Instructiuni C • In general, o instructiune este o parte a unui program care poate fi executat. • O expresie este o instructiune: a=a+1; a--; • Un apel de functie este de asemenea o instructiune: printf("%d",a); • Se pot scrie şi instrucţiuni de genul: 0; i; i+1;a--; • care sunt corecte din punct de vedere sintactic • calculează o valoare fără să facă nimic cu acea valoare • aşa că valoarea calculată se pierde, instrucţiunile neavând nici o valoare practică.
Instructiuni Compuse • Secvente de instructiuni pot fi combinate intr-una singura cu ajutorul acoladelor: {...} • De exemplu: { printf ("Hello, "); printf ("world! \n"); } • Compilatorul C trateaza colectia de aceste instructiuni ca fiind o singura instructiune.
Instrucţiunea if (1) • Sintaxa 1: if (expresie) instructiune1; urmatoarea instructiune; • Sintaxa 2: if (expresie) instructiune1; else instructiune2; urmatoarea instructiune; • Sintaxa 3: if (expresie1) instructiune1; else if (expresie2) instructiune2; else instructiune3; urmatoarea instructiune; Daca expresieeste diferita de zero se executa instructiune1 Daca expresieeste diferita de zero se executa instructiune1, altfel se executa instructiune2
Instrucţiunea if (2) • Exemplu: programul C care decide daca doua numere intregi sunt egale: #include <stdio.h> int x,y; int main () { printf ("\nIntroduceti un numar intreg x: "); scanf ("%d", &x); printf ("\Introduceti un numar intreg y: "); scanf ("%d",&y); if (x==y) printf ("x este egal cu y\n"); else if (x > y) printf ("x este mai mare decit y\n"); else printf ("x este mai mic decit y\n"); return 0; }
Instrucţiunea if (3) • Exemplu: programul C calculeaza media a n numere #include <stdio.h> int main() { int n = 3, sum = 34; float media; if(n > 0) media = sum / n; else { printf("nu se poate calcula media\n"); media = 0; } return 0; }
Instrucţiunea if (4) • Exemplu: secvenţa de cod de mai jos determină pe baza valorilor lui x şi y cadranul în care suntem (dacă x > 0 şi y > 0 ne aflăm în cadranul I): #include <stdio.h> int main() { int x = 3, y = -2; if(x > 0) { if(y > 0)printf("Cadranul I.\n"); else printf("Cadranul IV.\n"); } else{ if(y > 0)printf("Cadranul II\n"); elseprintf("Cadranul III.\n"); } return 0; }
Instrucţiunea if (5) • Exemplu: programul C care asociaza fiecărei note un calificativ: #include <stdio.h> int main() { int nota = 6; if(nota >= 9) printf("Foarte bine"); else if(nota >= 7) printf("Bine"); else if(nota >= 5) printf(”Satisfăcător"); else printf("Insuficient "); return 0; }
Instructiunea switch • Sintaxa instructiunii switch este: switch(expresie) { case constant_expr1 : instructiuni case constant_expr2 : instructiuni … case constant_exprk : instructiuni default :instructiuni } • Efectul instructiunii switch este:: • Se evalueaza expresie. • Se executa toate instructiunile de dupa constant_expr pina cind se intilneste o instructiune break (sau goto, return).
Exemplu: instructiunea switch int a; printf("1. Open file..\n"); printf("2. Save file.\n"); printf("3. Save as..\n"); printf("4. Quit.\n"); printf("Your choice:"); scanf("%d", &a); if(a==1) open_file(); else if(a==2) save_file(); else if(a==3) save_as(); else if(a==4) return 0; else return 1; int a; printf("1. Open file..\n"); printf("2. Save file.\n"); printf("3. Save as..\n"); printf("4. Quit.\n"); printf("Your choice:"); scanf("%d", &a); switch(a) { case 1: open_file();break; case 2: save_file();break; case 3: save_as();break; case 4: return 0; default: return 1; }
Exemplu: instructiunea switch #include <stdio.h> int main (void) { char letter; printf(“Tasteaza a pentru arie, c pentru cerc sau i pentru iesire: "); scanf("%c", &letter); switch(letter){ case 'a': case 'A': printf(“Ai ales A \n"); break; case 'c': case 'C': printf(" Ai ales C \n"); break; case ‘i': case ‘I': printf(“Iesire \n"); break; default: printf(“Necunoscut \n"); break; } return 0; }