UNIPLI
Linguagem de Programação I
Professora Simoni Rangel de Freitas Oliveira
1
Funções definidas pelo usuário
2. Forma geral de uma função
Definição de uma função:
tipo identificador_da_funcao (lista_de_parâmetros)
{
corpo da função
}

tipo - define o tipo de valor que a função vai retornar à função que realiza a chamada.
o Para retornar um valor (ao local onde a função foi chamada) utiliza-se o
comando return. Este comando também indica o encerramento da execução da
função. O valor retornado deve ser compatível com o tipo da função. Se o tipo
não é definido é considerado o tipo int como retorno da função.
o Se uma função não retornar nenhum valor ela deve ser definida com o tipo void
e neste caso o comando return não é necessário.

identificador_da_funcao - define o nome (o rótulo) da função.
o

É através deste nome que a função é chamada.
lista_de_parâmetros- É uma lista, separada por vírgula, contendo a declaração das
variáveis (parâmetros ou parâmetros formais) que recebem os argumentos (parâmetros
reais - valores usados para chamar a função) quando a função é chamada.
o
Sintaxe:
(tipo1 identificador1, tipo2 identificador2, ..., tipoN identificadorN)
o
•
Uma função pode não possuir parâmetros, ou seja, não receber argumentos.
Neste caso utiliza-se a declaração do tipo void - (void).
Podemos definir uma função:
o
o
No início de um programa, antes da função principal ou
Após a função principal.
Se a definição de uma função não é feita no início do programa, então é necessário fazer
a declaração da função para que o compilador a reconheça quando esta for chamada
dentro da função principal ou dentro outra função. A declaração da função ou protótipo
da função, consiste do cabeçalho da função seguido do ponto e vírgula.
ATENÇÃO:
 Toda função deve ser declarada antes de ser usada.
 Quando uma função está definida no início do programa a declaração está implícita na
definição.
UNIPLI
Linguagem de Programação I
Professora Simoni Rangel de Freitas Oliveira
Exemplos de funções:
1)Função “soma”
int soma(inta, int b)
{
int s;
s=a+b;
return s;
}
2)Função “mensagem”
void mensagem(void)
{
printf(" Entre com dois valores inteiros\n");
return; //nao e necessário
}
3)Função “lendo_parcela”
int lendo_parcela(void)
{
int a;
scanf("%d", &a);
return a;
}
5)Função “quad_soma”
void quad_soma(int a)
{
printf("quadrado da soma =%f\n\n", pow(a,2));
}
3. Forma geral de um programa em C - Escopo de funções
comandos do pré-processador
declaração de variáveis globais
declaração de funções (protótipos de funções)
main()
{
declarações locais
comandos
return 0;
}
//Definição de funções
tipo função1(lista de parâmetros)
{
declarações locais
comandos
[return expressão;]
}
...
tipo funçãoN(lista de parâmetros)
{
declarações locais
comandos
[return expressão;]
}
2
UNIPLI
Linguagem de Programação I
Professora Simoni Rangel de Freitas Oliveira
Exemplo:
#include<stdio.h>
#include<math.h>
/* declaracao de funcoes */
void mensagem (void);
int lendo_parcela(void);
int soma (int p1, int p2);
void quad_soma (int x);
/* funcao principal */
int main ( )
{
/* declaracao de variaveis locais */
int a, b, total;
mensagem ();
a= lendo_parcela();
b= lendo_parcela();
/* chamada por valor */
total=soma(a,b);
printf("soma=%d\n", total);
/* chamada por valor */
quad_soma(total);
return 0;
}
/* definicao de funcoes */
void mensagem (void)
{
printf(" Entre com dois valores inteiros\n");
}
int lendo_parcela (void)
{
int p;
scanf("%d", &p);
return p;
}
int soma (int p1, int p2)
{
int s;
s=p1+p2;
return s;
}
void quad_soma (int x)
{
printf("quadrado da soma =%f\n\n", pow(x,2));
}
3
UNIPLI
Linguagem de Programação I
Professora Simoni Rangel de Freitas Oliveira
4
Bibliografia
HICKSON, Rosângela. Aprenda a programar em C, C++ e C#. Ed. Campus, 2002.
GOTTFRIED, B. S. Programando em C. Editora LTC, 1993.
KERNIGHAN, B. W., RITCHIE, D. M. C: A linguagem de programação – Padrão ANSI. Ed.
Campus, 1989.
Download

funções definidas pelo usuário