Você está na página 1de 19

Funções na

Linguagem C
Prof. Rafael Fernandes
Introdução às funções
São fundamentais em linguagens de programação.

Aumenta a produtividade por permitir:

● Reaproveitamento de código;
● Organização de código;
● Realização de ações específicas de maneira eficiente.

As funções podem “retornar” ou não algum valor para quem a chamou.


Conceito básico
Funções são trechos de código que permite a diminuição da complexidade do
programa. Além de evitar a repetição de códigos durante o desenvolvimento.

Isso é chamado de Modularização. Na linguagem C, main( ), printf( ), scanf( ) são


todos funções.

Estrutura básica:
Exemplo de uma função
Esta é uma função criada para multiplicar dois valores (a e b) e retornar (return) o
resultado da operação.
Entendendo lado a lado
Parâmetros ficam dentro dos parênteses e indicam os valores que serão enviados
para a função. No exemplo à direita, temos dois parâmetros separados por vírgula.
Entendendo lado a lado
Retorno da função é o valor devolvido pela função para “quem” a chamou. No
exemplo, a variável inteira resultado está sendo “retornada”.
Entendendo lado a lado
Tipo de retorno é a definição do tipo de dado que será devolvido pela função para
“quem” a chamou. No exemplo, o tipo de retorno está definido com int, ou seja, o
valor resultado deve ser do tipo int para que possa ser retornado.
Funções sem retorno
Também há funções que não retornam valores. Nesse caso, ela apenas executa
sua lógica e não devolve valores para “quem” a chamou. No exemplo abaixo, a
função tem o tipo de retorno void, indicando que ela não retornada nada.

Lê-se “O retorno é VAZIO”.


Exemplo 01 - Diferença entre dois números

Neste exemplo foi criada uma função


chamada dif, que retorna um int e possui
dois parâmetros.

Na função main é feita a leitura de dois


valores e é criada uma variável total para
receber o resultado da operação realizada
pela função dif (diferença entre dois valores).
Ao receber o resultado o valor da variável
total é exibido na tela.
Exemplo 02 - Maior entre dois números
Neste exemplo foi criada uma função
chamada max, que retorna um int e possui 2
(dois) parâmetros.

Na função main( ), são lidos dois valores (x e


y) e a chamada à função max é feita dentro
do printf, com o valor retornado sendo
exibido na tela.
Escopo de variáveis - Observação importante
As variáveis declaradas dentro de uma função são válidas somente dentro desta
função. Elas não existem fora dela, perdendo seu valor após a função ter
terminado sua execução. A isso damos o nome de escopo local de variáveis.
Um exemplo
mais completo (e
mais demorado):
Parte 1: Calcular o desconto do INSS
Consultar tabela vigente no site https://blog.nubank.com.br/tabela-inss-2021/
Parte 2: Calcular o desconto do IRRF
Consultar tabela no site https://www.debit.com.br/tabelas/tabelas-irrf.php

Desconto é aplicado a partir do salário descontando-se o INSS.

Fórmula base:

Salário líquido = Bruto - INSS - (base * alíquota - parcela a deduzir)


Parte 3: Converter programa em funções
A partir dos resultados criar a função respectiva para cada um dos cálculos
necessários.
Recursividade V#1
Recursividade V#2
Recursividade
É a possibilidade de uma
função chamar a si mesma.

Um exemplo clássico de
função recursiva é a função
para descobrir o fatorial de um
número. Veja o exemplo:
Exercícios
1) Escreva um programa que implemente uma função que retorne a diferença
entre dois números inteiros digitados pelo usuário.
2) Escreva uma função que retorne a divisão entre dois números. Atenção para a
questão da divisão por zero!
3) Escreva uma função utilizando recursão para somar todos os números
positivos até o número digitado pelo usuário.
○ Exemplo de entrada: 5 Exemplo de entrada: 4
○ Exemplo de saída: 15 Exemplo de saída: 10

Você também pode gostar