Funções UDESC - Prof. Juliano Maia 1 Índice Seção 1 – Funções em C Seção 2 – Iniciação Ponteiros Seção 3 – Recursão UDESC - Prof. Juliano Maia 2 Funções em C Seção 1 Definição Forma Geral Exemplos Protótipo de Funções Escopo Variáveis UDESC - Prof. Juliano Maia 3 Definição #include<stdio.h> #include<stdlib.h> int main(){ int num; puts("INFORME O NUMERO PARA ANALISE: "); scanf("%i", &num); if(num%2==0) printf("NUMERO PAR!"); else printf("NUMERO IMPAR!"); system("pause"); } UDESC - Prof. Juliano Maia 4 Definição Funções são os blocos de construção de C e o local onde toda atividade de programação ocorre. Funções permitem codificar vez tarefas Funções uma sãoúnica sub-rotinas isoladas. Elas repetitivas! permitem que as diferentes tarefas de um programa possam ser codificadas separadamente, tornando-o modular. UDESC - Prof. Juliano Maia 5 Forma Geral tipo_dado_retorno nome_função(lista de parâmetros) { corpo da função } (tipo nomvar1, tipo nomvar2, tipo nomvarN) float calcMedia(float nota1, float nota2) { float media; media = (nota1 + nota2) / 2; return media; } UDESC - Prof. Juliano Maia 6 Forma Geral sqr(y); x = sqr(y); printf(“RAIZ QUADRADA: %i”,sqr(y)); if(max(x,y) > 100) ...; for(ch=getchar(); isdigit(ch);) ...; UDESC - Prof. Juliano Maia 7 Não recebe parâmetros, não possui retorno! Exemplos #include <stdio.h> void mensagem(void){ printf ("Olá mundo!"); } main(){ mensagem(); } Função! Chamada à função UDESC - Prof. Juliano Maia 8 Não recebe parâmetros, mas possui retorno! Exemplos #include <stdio.h> int finaliza(void){ int resp; puts(“Deseja continuar (1-Sim/0-Não)?"); scanf(“%i”,&resp); return resp; } main(){ do{ ... }while(finaliza()==1); } UDESC - Prof. Juliano Maia 9 Exemplos Recebe parâmetros e possui retorno! #include <stdio.h> #include <conio.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); getche(); } UDESC - Prof. Juliano Maia 10 Protótipo de Funções #include <stdio.h> float Square (float a); main () { float num; printf ("Entre com um numero: "); scanf ("%f",&num); num=Square(num); printf ("\n\nO seu quadrado vale: %f\n",num); } float Square (float a) { return (a*a); } UDESC - Prof. Juliano Maia 11 Escopo Variáveis Conjunto de regras que determina o uso e validade das variáveis; Podem ser: Variáveis locais; Parâmetros Formais (variável local da função); Variáveis Globais. UDESC - Prof. Juliano Maia 12 Iniciação Ponteiros Seção 2 XXX UDESC - Prof. Juliano Maia 13 Recursão Seção 3 XXX UDESC - Prof. Juliano Maia 14 Dúvidas? ? UDESC - Prof. Juliano Maia 15