FUNÇÕES Luís Charneca [email protected] Funções (1) Funções são as estruturas que permitem ao utilizador separar os seus programas em blocos. Se não existissem, os programas teriam que ser curtos e de pequena complexidade. Uma função no C tem a seguinte forma geral: tipo_de_retorno nome_da_função (declaração_de_parâmetros) { corpo_da_função } Uma função para qual não se declara o tipo de retorno é considerada como retornando um inteiro. Funções (2) A declaração de parâmetros é uma lista com a seguinte forma geral: tipo nome1, tipo nome2, ... , tipo nomeN O tipo deve ser especificado para cada uma das N variáveis de entrada. É na declaração de parâmetros que se informa ao compilador quais serão as entradas da função (assim como se informa a saída no tipo-de-retorno). O corpo da função é a sua alma. É nele que as entradas são processadas, saídas são geradas ou outras coisas são feitas. Funções – Exemplo 1 Quadrado Quadrado(num); Quadrado Funções – Exemplo 2 Funções – Exemplo 3 Funções – Exemplo 4 (1) Em C, como em muitas outras linguagens, é possível que o utilizador crie uma função num ficheiro à parte e que seja chamada de outros ficheiros. Esta facilidade permite a criação de bibliotecas por parte do utilizador: um conjunto de ficheiros contendo funções escritas pelo programador. Esta possibilidade é utilizada em larga escala por programadores profissionais. Quando escrevemos a definição de uma função num ficheiro à parte do programa principal devemos incluir este ficheiro no conjunto de ficheiros de compilação do programa principal. Esta inclusão é feita com a directiva #include. Funções – Exemplo 4 (2) /**************************************************************************** Programa: e0603.cpp Objectivo: Calcular valor máximo entre dois números Função está num ficheiro à parte (e0604.cpp) Ultima Revisão: 14/03/2012 ****************************************************************************/ #include <stdio.h> #include "e0604.cpp" /* inclusão de função pessoal */ int main(){ float num1, num2; printf("*** Valor máximo entre dois números ***"); printf("Digite dois números"); scanf("%f %f",&num1,&num2); printf("O maior valor e: %f",max(num1,num2)); // chamada à função … } Funções – Exemplo 4 (3) /**************************************************************************** Programa: e0604.cpp Objectivo: Função max – feita pelo programador e usada em e0603.cpp Ultima Revisão: 14/03/2012 ****************************************************************************/ float max(float a, float b) { if(a > b) return(a); else return(b); } /* funcao max() */