Sunteți pe pagina 1din 8

Functii

Declararea unei functii

Tip nume functie (lista parametrilor formali)

{instructiuni

Lista parametrilor formali:

-contine nr de variabile impreuna cu tipul lor

-parametri pot fi :

De intrare

De iesire

De intrare-iesire

Transmiterea parametrilor

-Parametri de intrare se transmit prin valoare

-Parametri de iesire si cei de intrare-iesire,se transmit prin adresa.

Apelul functiilor

-Numele functiei (lista parametrilor actuali)

Lista parametrilor actuali:contine nr de variabile constant sau expresiii.

Lista parametrilor formali coincide cu lista parametrilor actuali ,ca si nr


de parametric ,ordine si tip.

Parametri actuali corespunzatori ,parametrilor formali de iesire,sau intrare-


iesire,pot fi doar nume de variabile:

Functiile sunt de 2 feluri:

-Functii procedurale.

-Functii operand(expresii).
Functii procedural

Nu returneaza nimic,prin numele functiei,deci la declarare in fata


numelui cu tipul void.

1)Sa se scrie un prg care afiseaza mesajul “Afara ploua”.

#include<stdio.h>

void mesaj()

printf("Afara ploua");

int main()

mesaj();

}
2).Se da un vector cu n elemente.Sa se calc suma elem.

#include<stdio.h>

#include<stdlib.h>

void suma(int &s,int &n,int&a[30]) // int&s-parametru de iesire(se trans


parametru);int a[30]-parametru de intrare(se transm prin valoare);

int i,s,n,a[i];

s=0;

for(i=1;i<=n;i++)

s=s+a[i];

int main()
{int n,s,i,a[30];

scanf("%d",&n);

for(i=1;i<=n;i++)

scanf("%d",&a[i]);

suma(s,n,a);

printf("%d",s);

return 0;

3.Se dau 2 vectori cu cate n elem.Sa se calc vectorul suma.

#include<stdio.h>

#include<stdlib.h>

void citire(int a[30],int n)

int i;

for(i=0;i<=n;i++)

scanf("%d",a[i]);

void calcul(int n,int a[30],int b[30],int c[30]);

int i,c[i];

for(i=1;i<=n;i++)

c[i]=a[i]+b[i];

int main()

{
int i,n,a[30],b[30],c[30];

scanf("%d",&n);

citire(a,n);

citire(b,n);

calcul(n,a,b,c);

for(i=1;i<=n;i++)

printf("%d",c[i]);

return 0;

Fuctiile operand

Sunt functiile care returneaza o valoare prin intermediul numelui functiei.

Aceastea au obligatoriu,in corpul functiei cel putin o intructiune


“return” expresie.

Apelul functiei,poate sa apara oriunde ,poate aparea o expresie,deci


apelul nu este de sine statator ca la functiile procedurale.
4.Se dau 2 nr. intregi .Sa se calc suma lor.

#include<stdio.h>

#include<stdlib.h>

int calcul (int a,int b)

int s;

s=a+b;

return(s);

int main()

int a,b,s;

scanf("%d%d",&a,&b);

s=calcul(a,b);

printf("%d",s);

return 0;

}
/* Se dau 2 nr. intregi .Sa se interschimbe valorile celor 2 intre ele. */

#include<stdio.h>

#include<stdlib.h>

int interschimbare(int a,int b)

int c;

c=a;

a=b;

b=c;

int main()
{ int a,b,c;

scanf("%d%d",&a,&b);

interschimbare(a,b);

printf("%d %d",a,b);

return 0;

S-ar putea să vă placă și