Agenda
-
Upload
felicia-munoz -
Category
Documents
-
view
20 -
download
0
description
Transcript of Agenda
Programare in limbajul C – Cursul 4Instrucţ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 */– 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;
elseinstructiune3;
urmatoarea instructiune;
Daca expresie este diferita de zerose executa instructiune1
Daca expresie este diferita de zerose 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");else printf("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");
elseif(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::
1. Se evalueaza expresie.
2. Se executa toate instructiunile de dupa constant_expr pina cind se intilneste o instructiune break (sau goto, return).
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;
}
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;
}