Agenda

13
Programare in limbajul C – Cursul 4 Instrucţiuni şi structuri de control Prof. univ. dr. Constantin Popescu

description

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 */ - PowerPoint PPT Presentation

Transcript of Agenda

Page 1: Agenda

Programare in limbajul C – Cursul 4Instrucţiuni şi structuri de control

Prof. univ. dr. Constantin Popescu

Page 2: Agenda

Agenda Comentarii in C Instructiuni C Instructiuni compuse Instructiunea if Instructiunea switch

Page 3: Agenda

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++

Page 4: Agenda

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ă.

Page 5: Agenda

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.

Page 6: Agenda

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;

elseinstructiune3;

urmatoarea instructiune;

Daca expresie este diferita de zerose executa instructiune1

Daca expresie este diferita de zerose executa instructiune1, altfel se executa instructiune2

Page 7: Agenda

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;

}

Page 8: Agenda

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;

}

Page 9: Agenda

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");else printf("Cadranul III.\n");

}return 0;

}

Page 10: Agenda

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");

elseif(nota >= 5) printf(”Satisfăcător");else

printf("Insuficient ");return 0;

}

Page 11: Agenda

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::

1. Se evalueaza expresie.

2. Se executa toate instructiunile de dupa constant_expr pina cind se intilneste o instructiune break (sau goto, return).

Page 12: Agenda

Exemplu: instructiunea switchint 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;

}

Page 13: Agenda

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;

}