Escolar Documentos
Profissional Documentos
Cultura Documentos
Roteiro:
Definio
Retornando valores;
Prottipos de Funes;
Parmetros por valor;
Parmetros por referncia;
Vetores como parmetros;
1) Definio
Funes so as estruturas que permitem ao usurio separar seus programas em blocos.
Uma funo no C tem a seguinte forma geral:
tipo_de_retorno nome_da_funo (declarao_de_parmetros)
{
corpo_da_funo
}
O tipo-de-retorno o tipo de varivel que a funo vai retornar.
A declarao de parmetros uma lista com a seguinte forma geral:
tipo nome1, tipo nome2, ... , tipo nomeN
2) O comando return
O comando return tem a seguinte forma geral:
return valor_de_retorno; ou return;
Durante a execuo de uma funo, quando se chega a um comando return a funo
encerrada imediatamente e, se o valor de retorno informado, a funo retorna este
valor. importante lembrar que o valor de retorno fornecido deve ser compatvel com o
tipo de retorno declarado para a funo.
Uma funo pode possuir mais de uma chamada ao comando return. Isto se torna claro
quando pensamos que a funo terminada quando o programa chega primeira
declarao return.
#include <stdio.h>
int Square (int a)
{
return (a*a);
}
main ()
{
int num;
printf ("Entre com um numero: ");
scanf ("%d",&num);
num=Square(num);
printf ("\n\nO seu quadrado vale: %d\n",num);
}
#include <stdio.h>
int EPar (int a)
{
if (a%2) /* Verifica se a e divisivel por dois */
return 0; /* Retorna 0 se nao for divisivel */
else
return 1; /* Retorna 1 se for divisivel */
}
main ()
{
int num;
printf ("Entre com numero: ");
scanf ("%d",&num);
if (EPar(num))
printf ("\n\nO numero e par.\n");
else
printf ("\n\nO numero e impar.\n");
}
3) Prottipo de funes
As funes devem ser declaradas antes de serem utilizadas. Nos exemplos acima
definimos as funes antes do bloco main. Porm se tivssemos definido as funes
abaixo do bloco main teramos que informar o prottipo da funo antes do ser efetivo
uso.
Em geral, adicionamos o prottipo das funes abaixo das diretivas de include. O
prottipo de uma funo nada mais do que seu tipo de retorno, nome, e lista de
parmetros. Um prottipo tem o seguinte formato:
tipo_de_retorno nome_da_funo (declarao_de_parmetros);
4) Passagem de Parmetros por Valor
Na linguagem C, quando chamamos uma funo os parmetros copiam os valores que
so passados para ela. Isso significa que os valores que os parmetros tm fora da
funo no so alterados. Esse tipo de chamada de funo denominado chamada por
valor.
No exemplo abaixo, o parmetro num da funo sqr() sofre alteraes dentro da
funo, mas a varivel num da funo main() permanece inalterada.
#include <stdio.h>
float sqr (float num);
void main (void)
{
float num,sq;
printf ("Entre com um numero: ");
scanf ("%f",&num);
sq=sqr(num);
printf ("\n\nO numero original e: %f\n",num);
printf ("O seu quadrado vale: %f\n",sq);
}
float sqr (float num)
{
num=num*num;
return num;
}
Exerccios
1. Faa os exerccios 50, 54 e 55
2.Escreva uma funo que receba por referncia duas variveis inteiras (x e y) e troque o
valor de ambas (x recebe y e y recebe x). Antes e aps a chamada da funo,
imprimir x e y na tela.
3.Escreva um programa que solicite e armazene at 30 nomes completos de alunos com
40 caracteres cada (dever parar de pedir se o usurio digitar PARAR). O programa
dever fazer uso de 2 funes: