In limbajul C instructiunile se termina cu mai putin cele care se termina cu
Aceasta instructiune se utilizeaza in situatia in care este nescerara prezenta unei instructiuni si care nu trebuie sa execute nimic:
Instructiunea are formatul general:
Expresie
Exemple:
y = (x+1) (x-1); Atribuire: v=Expresie;
f(x,y); // Apel de functie: f(p1, p2,, pn);
c --c; // Incrementari/Decrementari (Pre/Post fixate)
Aceasta este formata dintr-o succesiune de declaratii (proprii) si instructiuni, incluse intre acolade:
Exemplu:
Dupa nu se pune
Structura alternativa cu una sau doua ramuri poate fi scrisa astfel:
if (expresie instructiune
[ else instructiune
Exemplu:
printf(' x= 5.2f, y= 5.2f n', x,y) ;
// trebuie pus pentru C1 instructiunea vida else
Pentru structura alternativa cu mai multe ramuri Case (Select) se utilizeaza instructiunea Switch:
switch expresie
Instructiunea break realizeaza saltul la sfarsitul instructiunii switch, iar in absenta ei se vor executa si urmatoarele secvente de instructiuni.
Exemplu:
while (scanf(' d c d',&o1,&o,&o2)!=EOF)
printf (' d c d = dn',o1,o,o2,v); } // Ctrl/Z
Exemplu:
// Nr.Zile / luna
#include <iostream.h>
#include <conio.h>
void main (void)
cout << endl;
}
getche();
Structura repetitiva pretestata poate fi scrisa astfel:
while expresie instructiune
Exemplu:
// Program Exemplu While
#include <stdio.h>;
int i,n; long f; // f:=n!
void main (void)
Structura repetitiva posttestata poate fi scrisa astfel:
do instructiune while expresie
Exemplu:
do while (c); // c!=0
cmmdc=a;
Structura repetitiva Pentru ( ) poate fi descrisa astfel:
for expresie expresie expresie instructiune
Instructiunea are acelasi efect ca si:
expresie ; while expresie
Si invers (vezi while):
for ;expresie instructiune
Exemplu:
int i,n; long f; f:=n!
printf('n Dati n : '); scanf (' d', &n);
f=1; for ( i=1 ; i<=n; i++) f*=i; printf(' d! = u n',n,f);
f=1; for ( i=1 ; i<=n; ++i) f*=i; printf(' d! = u n',n,f);
f=i=1; for ( ; i<=n; i+=1) f*=i; printf(' d! = u n',n,f);
for (f=i=1; i<=n; ) f*=i++; printf(' d! = u n',n,f);
Aceasta instructiune se foloseste pentru a termina o structura repetitiva:
break
Exemplu:
for ( ; ; )
Aceasta instructiune realizeaza saltul la sfarsitul unei structuri repetitive (pentru while sau do_while la reevaluarea expresiei, iar pentru for la expresie ), avand formatul:
continue
Exemplu:
for ( ; expr
Aceasta instructiune realizeaza saltul neconditionat si fara revenire la instructiunea ce poarta eticheta specificata, avand formatul:
goto eticheta
Exemplu:
while (expr
et // instructiune
Instructiunea de apel a unei functii este un caz particular al instructiunii expresie:
Nume_functie (Lista_parametri_actuali
O functie poate fi apelata si in cadrul unei expresii dintr-o instructiune:
Nume_functie (Lista_parametri_ actuali
O functie poate fi utilizata doar daca a fost definita sau cel putin a fost declarat prototipul ei intr-una din urmatoarele moduri:
a) Tip_ functie Nume_ functie (Lista_parametrilor_formali
b) Tip_ functie Nume_ functie (Lista_tipurilor_parametrilor_formali
c) Tip_ functie Nume_ functie (Void); // nu sunt parametri formali
d) Tip_ functie Nume_ functie // nu se fac verificarile de tip
Apelul implicit pentru variabile simple (de baza) este prin valoare, iar pentru tablouri prin referinta. Apelul prin referinta se obtine prin intermediul variabilelor de tip pointer si a operatorului de adresa &.
Revenirea dintr-o functie se poate realiza fie prin instructiunea return, fie automat dupa ultima instructiune a functiei (situatie in care nu se returneaza nici o valoare):
return expresie
fiind returnata valoarea expresiei (daca exista).
Ex. 1:
#include <graphics.h> #include <math.h>
int u1,v1, u2,v2; float a, b, c, d ;
int u (float x)
int v (float y)
void InitGraf(void)
void ViewPort(int x1,int y1,int x2,int y2)
void Window(float x1,float y1,float x2,float y2)
void Rectangle(float x1,float y1,float x2,float y2)
void Bar(float x1,float y1,float x2,float y2)
void Linie(float x1,float y1,float x2,float y2)
void Muta(float x,float y)
void Trag(float x,float y)
void Rot(float &x,float &y, float x0, float y0, float Alfa)
Ex. 2:
// Ultima cifra nenula a lui n!
#include <iostream.h>;
#include <conio.h>;
int Sf (int& f, int k)
return p;
main ()
cout << ' Uc= ' << Uc*((f2&=3,int(f2?f2*1.4:3))<<1)%10;
getch();
Ex. 3:
// Calc. AÈB, A B
#include <iostream.h>;
#include <conio.h>;
int Card(int A[])
int Apart (int x, int A[])
void n (int A[], int B[], int C[])
void u (int A[], int B[], int C[])
void Tip (char *Mult, int A[])
' << endl;
void main (void)
Tip (' A : ',A);
int B[]=; Tip (' B : ',B);
int AuB[10]; u (A,B,AuB); Tip (' AuB = ',AuB);
int AnB[10]; n (A,B,AnB); Tip (' AnB = ',AnB);
getche();
|