Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Funções em C
• Para permitir o reaproveitamento de código já construído(por você ou por outros programadores);
• Para evitar que um trecho de código que seja repetido várias vezes dentro de um mesmo programa;
• Para permitir a alteração de um trecho de código de uma forma mais rápida. Com o uso de uma
função é preciso alterar apenas dentro da função que se deseja;
• Para que os blocos do programa não fiquem grandes demais e, por conseqüência, mais difíceis de
entender;
• Para facilitar a leitura do programa-fonte de uma forma mais fácil;
• Para separar o programa em partes(blocos) que possam ser logicamente compreendidos de forma
isolada.
1
2 Uso do comando #define em funções-Este
• Será mostrado uma sequencia de programas em C pra dmosntrar o uso e a importância de uma
função em C.
• Abaixo a lista das tarefas com funções em C:
6 int main ()
7 {
8 printf ( " % c % c % c % c % c % c % c% c \ n " , '# ' , '# ' , '# ' , '# ' , '# ' , '# ' ,'# ' , '# ') ;
9 printf ( " % c % c % c % c % c % c % c% c \ n " , '# ' , ' ' , '# ' , '# ' , '# ' , '# ' , ' ' , '# ') ;
10 printf ( " % c % c % c % c % c % c % c% c \ n " , '# ' , ' ' , '# ' , '# ' , '# ' , '# ' , ' ' , '# ') ;
11 printf ( " % c % c % c % c % c % c % c% c \ n " , '# ' , '# ' , '# ' , '# ' , '# ' , '# ' ,'# ' , '# ') ;
12 printf ( " \ n " ) ;
13 }
Listing 1: Codigo da funcao para gerar uma imagem com caracteres
2.2 Uso do comando #define em um programa em C
– No exemplo feito na subseção 2.1, foram utilizados os caracteres # e espaço vazio várias
vezes para gerar a imagem.
– Caso fosse necessário fazer uma outra imagem, os os caracteres # e espaço vazio deveriam
ser utilizados conforme a nova imagem.
– Para evitar esse problema, utiliza-se o comando #define.
– Este comando é utilizado para definir constantes ou macros.
– Nesse caso, utilizaremos o define para declarar uma constante.
– Assim, se quisermos alterar o caractere, alteraríamos apenas no local da definição.
– O #define tem a seguinte sintaxe mostrada em 2.
1 # define < identificador > < valor >
Listing 2: sintaxe do comando define
– E toda vez que o o identificador for utulizado no programa (código em C), ele será substituido
pelo valor.
– Neste exemplo, será feito o uso do #define para identificar dois valores e que são:
a. #define Q ’#’
b. #define V ’ ’
– A resolução da tarefa 02 está mostrado no código listado em 3.
1 # include < stdio .h >
2 # include < stdlib .h >
3
– Agora que foi gerado a primeira imagem, com o código listado em 3, pode-se gerar uma segunda
imagem, apenas copiando parte do código que inicia na linha 10 até a linha 14.
– Entretanto, isso além de ser trabalhoso, não estaria aproveitando a facilidade do reaproveitar o
código que pode ser feito com o uso de uma função.
– Uma função possui a seguinte sintaxe, conforme mostrado em 4.
1
5 [ bloco de comandos ]
6
7 }
Listing 4: sintaxe de uma função
Onde :
1) tipo de retorno: Uma função pode retornar algum valor. Por exemplo, uma função poderia
calcular o valor da raiz quadrada de um número float e retornar esse resultado para você.
Assim, esse tipo de retorno também seria float. Também é possível existir uma função
que não retorna nenhum resultado, que apenas executa uma determinada tarefa, mas não
retorna nada.
2) identificador: É o nome que se dá para a função. Segue as mesmas regras de nomes de
variáveis. Caso se construa uma função para calcular a raiz quadrada de um número, essa
função poderia se chamar calculo_da_raiz_quadrada
3) lista de parametros: Uma função pode precisar receber valores para executar a sua tarefa.
No mesmo exemplo da raiz quadrada, você precisa indicar qual é o número que deseja
extrair a raiz. No exemplo da raiz quadrada, nossa função poderia ser declarada da seguinte
forma:
1 foat ratiz quadrata ( float x )
Listing 5: sintaxe do comando define
Isso significa que a função retorna um ficat, o identificador é raiz_quadrada, da e ela precisa
receber um valor float que será chamado de x no corpo função (bloco de comandos).
4) Bloco de comandos: Muitas vezes chamado de corpo da função, contém um conjunto de
comandos responsáveis por implementar a tarefa da qual a função se propõe.
2.3 Uso de uma função em um programa em C
– Neste exemplo, será feito o uso da função para gerar a imagem mostrada na Figura 1.
– O nome dessa função será chamada de: imagem
– E com o uso dessa função poderemos utiliza-la quantas vezes forem necessárias, sem fazer
muitas cópias do código que gera a imagem da Figura 1.
– A resolução desta tarefa com o uso da função imagem está mostrado no código listado em 6.
1 # include < stdio .h >
2 # include < stdlib .h >
3
– Na subseção 2.4, será mostrado o código para gerar duas imagens, conforme mostrada na
Figura 2.
2.4 Gerar duas imagens com o uso da função imagem
– Neste exemplo, será feito o uso da função para gerar a imagem mostrada na Figura 1.
– Será utilizado a função : imagem
– A resolução desta tarefa com o uso da função imagem duas vezes, está mostrado no código
listado em 7.
1 # include < stdio .h >
2 # include < stdlib .h >
3
– As imagens geradas pelo uso código neste exemplo, está mostrado na Figura 3
13 int main ()
14 {
15 int n1 , n2 , resultado ;
16 printf ( " Digite o valor do numero 1:\ n " ) ;
17 scanf ( " % d " , & n1 ) ;
18 printf ( " Digite o valor do numero 2:\ n " ) ;
19 scanf ( " % d " , & n2 ) ;
20 resultado = multiplica ( n1 , n2 ); // chama a funcao multiplica
21
5 // # define PI =3.14
6 // Programa funcaoCalcularAreaDoCirculo - - - -1012
7
14 int main ()
15 {
16 float raio , area ;
17 printf ( " Entre com o valor do raio \ n " ) ;
18 scanf ( " % f " , & raio ) ;
19 area = area_circulo ( raio ) ;
20 printf ( " A area eh igual a : %.2 f \ n" , area ) ;
21 return 0;
22 }
Listing 9: Codigo da funcao que calcula a área de um círculo
3.3 Função que Converte a Temperatura de Celsius para Fahrenheit
– Exemplo 03.
– A resolução da tarefa 03 está mostrado no código listado em 10.
1 # include < stdio .h >
2 # include < stdlib .h >
3
4 // funcaoConverterTempCelsiusFahrenheit - - - -1013
5
4 // funcaoMaiorDeDoisNumerosInteiros - - -1014
5
18 int main ()
19 {
20 int numero1 , numero2 , maior ;
21
30
4 // Operadores de atribuicao
5 //
6
16
27
28 return 0;
29
30
31 }
Listing 12: Operadores de atribuição
4.2 Operadores Aritméticos
– Operadores Aritméticos
– A resolução da tarefa 01 está mostrado no código listado em 14.
1 # include < stdio .h >
2 # include < stdlib .h >
3
4 // Operadores Aritmeticos
5 // @Wagner Elvio
6
33 }
Listing 13: Operadores Aritméticos
4.3 Operações de Incremento e Decremento
– Operações de Incremento e Decremento..
– A resolução da tarefa 02 está mostrado no código listado em 14.
1 # include < stdio .h >
2 # include < stdlib .h >
3 // Operacoes de Incremento e Decremento
4
12
35 return 0;
36 }
Listing 14: Operações de Incremento e Decremento
4.4 Operadores relacionais e lógicos
– Operadores relacionais e lógicos.
– A resolução da tarefa 02 está mostrado no código listado em 15.
1 # include < iostream >
2
5 int main ()
6 {
7 int num1 = 14;
8 int num2 = 12;
9
28
29
36
37 return 0;
38 }
Listing 15: Operadores relacionais e lógicos
5 Comando if
• O comando if é utilizado para tomar uma decisão, conforme mostra o código em 16
1 # include < stdio .h >
2 int main ( int argc , char ** argv )
3 {
4 if ( < expressao >)
5 {
6 [ bloco de comandos ]
7 }
8 }
Listing 16: Código do if
• Onde:
a) Expressão: Representa uma condição que necessita ser avaliada como sendo verdadeira.
b) bloco de comandos: Representa os comandos que serão utilizados caso a Expressão seja
verdadeira.
c) A conforme mostrado na Figura 4
Figura 4: O comando if
8 if ( idade >=18)
9 {
10
13 }
14 return (0) ;
15
16
17 }
Listing 17: Código do if
6 E quando a condição não for Verdadeira?
• Mas quando no comando if a condição não é verdadeira ?
• Ele só executará o comando se o a condição for verdadeira e caso não seja, (seja falsa) ele continuará
o processamento do arquivo.
13 return (0) ;
14
15 }
Listing 18: Código do if
7 Comando if else
• Os comandos if e else é utilizado para tomar uma decisão, conforme mostra o código em 19
1 # include < stdio .h >
2 int main ( int argc , char ** argv )
3 {
4 if ( < expressao >)
5 {
6 [ bloco de comandos 1]
7 }
8 else
9 {
10 [ bloco de comandos 2]
11 }
12 }
Listing 19: Código do if
• Onde:
a) Expressão: Representa uma condição que necessita ser avaliada como sendo verdadeira.
b) bloco de comandos 1: Esse bloco de comandos 1 será executado, caso a Expressão seja
verdadeira.
c) bloco de comandos 2: Esse bloco de comandos 2 será executado, caso a Expressão não seja
verdadeira.
c) A conforme mostrado na Figura 5
15 }
16
17 return (0) ;
18
19 }
Listing 20: Código do if
8 Code Blocks
• Informações sobre o Code Blocks
Referências
http://www.cprogressivo.net/2012/09/hello-world-comentado-c.html Como criar seu primeiro programa em C