Apostila da linguagem C

Apostila da linguagem C

(Parte 2 de 39)

      {

       printf ("O quadrado e %d",(x*x));

return(0);

      }

      int main ()

      {

       int num;

        printf ("Entre com um numero: ");

        scanf ("%d",&num);

        printf ("\n\n");

        square(num);

return(0);

      }

Na definição de square() dizemos que a função receberá um argumento inteiro x. Quando fazemos a chamada à função, o inteiro num é passado como argumento. Há alguns pontos a observar. Em primeiro lugar temos de satisfazer aos requisitos da função quanto ao tipo e à quantidade de argumentos quando a chamamos. Apesar de existirem algumas conversões de tipo, que o C faz automaticamente, é importante ficar atento. Em segundo lugar, não é importante o nome da variável que se passa como argumento, ou seja, a variável num, ao ser passada como argumento para square() é copiada para a variável x. Dentro de square() trabalha-se apenas com x. Se mudarmos o valor de x dentro de square() o valor de num na função main() permanece inalterado.

  Vamos dar um exemplo de função de mais de uma variável. Repare que, neste caso, os argumentos são separados por vírgula e que deve-se explicitar o tipo de cada um dos argumentos, um a um. Note, também, que os argumentos passados para a função não necessitam ser todos variáveis porque mesmo sendo constantes serão copiados para a variável de entrada da função.

#include <stdio.h>

int mult (float a, float b,float c) /* Multiplica 3 numeros */

      {

       printf ("%f",a*b*c);

return(0);

      }

       

int main ()

      {

        float x,y;

        x=23.5;

        y=12.9;

        mult (x,y,3.87);

return(0);

      }

- 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 ()

(Parte 2 de 39)

Comentários