Valores de retorno
Seminário: Valores de retorno. Pesquise 861.000+ trabalhos acadêmicosPor: mps2011 • 1/6/2014 • Seminário • 2.862 Palavras (12 Páginas) • 251 Visualizações
- Retornando valores
Muitas vezes é necessário fazer com que uma função retorne um valor. As funções que vimos até aqui estavam retornando o número 0. Podemos especificar um tipo de retorno indicando-o antes do nome da função. Mas para dizer ao C o que vamos retornar precisamos da palavra reservada return. Sabendo disto fica fácil fazer uma função para multiplicar dois inteiros e que retorna o resultado da multiplicação. Veja:
#include <stdio.h>
int prod (int x,int y)
{
return (x*y);
}
int main ()
{
int saida;
saida=prod (12,7);
printf ("A saida e: %d\n",saida);
return(0);
}
Veja que, como prod retorna o valor de 12 multiplicado por 7, este valor pode ser usado em uma expressão qualquer. No programa fizemos a atribuição deste resultado à variável saida, que posteriormente foi impressa usando o printf. Uma observação adicional: se não especificarmos o tipo de retorno de uma função, o compilador C automaticamente suporá que este tipo é inteiro. Porém, não é uma boa prática não se especificar o valor de retorno e, neste curso, este valor será sempre especificado.
Com relação à função main, o retorno sempre será inteiro. Normalmente faremos a função main retornar um zero quando ela é executada sem qualquer tipo de erro.
Mais um exemplo de função, que agora recebe dois floats e também retorna um float::
#include <stdio.h>
float prod (float x,float y)
{
return (x*y);
}
int main ()
{
float saida;
saida=prod (45.2,0.0067);
printf ("A saida e: %f\n",saida);
return(0);
}
- Forma geral
Apresentamos aqui a forma geral de uma função:
tipo_de_retorno nome_da_função (lista_de_argumentos)
{
código_da_função
}
AUTO AVALIAÇÃO
Veja como você está. Escreva uma função que some dois inteiros e retorne o valor da soma.
Introdução Básica às Entradas e Saídas
- Caracteres
Os caracteres são um tipo de dado: o char. O C trata os caracteres ('a', 'b', 'x', etc ...) como sendo variáveis de um byte (8 bits). Um bit é a menor unidade de armazenamento de informações em um computador. Os inteiros (ints) têm um número maior de bytes. Dependendo da implementação do compilador, eles podem ter 2 bytes (16 bits) ou 4 bytes (32 bits). Isto será melhor explicado na aula 3. Na linguagem C, também podemos usar um char para armazenar valores numéricos inteiros, além de usá-lo para armazenar caracteres de texto. Para indicar um caractere de texto usamos apóstrofes. Veja um exemplo de programa que usa caracteres:
#include <stdio.h>
int main ()
{
char Ch;
Ch='D';
printf ("%c",Ch);
return(0);
}
No programa acima, %c indica que printf() deve colocar um caractere na tela. Como vimos anteriormente, um char também é usado para armazenar um número inteiro. Este número é conhecido como o código ASCII correspondente ao caractere. Veja o programa abaixo:
#include <stdio.h>
int main ()
{
char Ch;
Ch='D';
printf ("%d",Ch); /* Imprime o caracter como inteiro */
return(0);
}
Este programa vai imprimir o número 68 na tela, que é o código ASCII correspondente ao caractere 'D' (d maiúsculo).
Muitas vezes queremos ler um caractere fornecido pelo usuário. Para isto as funções mais usadas, quando se está trabalhando em ambiente DOS ou Windows, são getch() e getche(). Ambas retornam o caractere pressionado. getche() imprime o caractere na tela antes de retorná-lo e getch() apenas retorna o caractere pressionado sem imprimí-lo na tela. Ambas as funções podem ser encontradas no arquivo de cabeçalho conio.h. Geralmente estas funções não estão disponíveis em ambiente Unix (compiladores cc e gcc), pois não fazem parte do padrão ANSI. Podem ser substituídas pela função scanf(), porém sem as mesmas funcionalidades. Eis um exemplo que usa a função getch(), e seu correspondente em ambiente Unix:
#include <stdio.h>
#include <conio.h>
/* Este programa usa conio.h . Se você não tiver a conio, ele não funcionará no Unix */
int main ()
{
char Ch;
Ch=getch();
printf ("Voce pressionou a tecla %c",Ch);
return(0);
}
Equivalente ANSI-C para o ambiente Unix do programa acima, sem usar getch():
#include
...