aula 25

Casting ou conversão de tipos na linguagem C

Bem vindo a aula 25 de nosso curso gratuito de programação com a linguagem C.

Casting ou conversão de tipos é uma operação feita com o objetivo de alterar o tipo de um determinado valor.

Por exemplo, ao realizar a divisão a seguir:
3.1415 / 3.0

o resultado será um número fracionário. Caso seja necessário apenas a parte inteira de uma divisão, pode-se fazer a operação de Casting ou conversão de tipo, assim:

// operação de Casting ou conversão de tipo de um float para um int
(int) 3.1415 / 3.0

Dessa forma, a parte fracionária será desconsiderada e teremos apenas a parte inteira.

Essa operação pode ser utilizada em diversas situações. Imagine, por exemplo, uma divisão entre dois números inteiros.

Na linguagem C, uma divisão entre dois números inteiros irá gerar um resultado inteiro. A operação de Casting pode ser feita, obtendo assim o resultado exato da divisão no tipo real.

// convertendo o 421 para o tipo float
(float) 421 / 37

No exemplo acima, o que acontece é o seguinte. Como a divisão é entre dois números inteiros, o resultado será inteiro. Então, usando o operador Casting antes do primeiro valor, este será convertido para float (421.0 no exemplo). Dessa forma, como um dos valores será do tipo float, o computador irá converter automaticamente o outro também para float, gerando assim um resultado do tipo float.


Esta é a aula 25 do curso de programação com a linguagem C. Se você está aprendendo com as videoaulas siga o canal, pressione o sininho para ser notificado sempre que uma nova aula for ao ar.
Deixe um like aí no vídeo, isso ajuda muito o canal a crescer, e claro, apresente o canal à seus amigos!

SÃO VOCÊS QUE FAZEM O CANAL CRESCER!

Valeu!!!

Este post tem 2 comentários

  1. É a Emis, help!!

    tenho que fazer um programa que pede para exibirmos os números dos vetores em ordem decrecente e pensei nessa logica aqui (abaixo), só que quando tentei compilar no devc++ não funcionou, e não consigo achar a razão, aparece que os nomes guardados pelo vetor não foram declarados, só que eu não pretendia declará-los, queria saber se foi um erro bobo, ou se isso é uma regra quando uso o tipo de variável char.

    e então resolvi modificar pondo aspas composta nos elementos de tipo char do vetor apareceu isso:
    (e eu ainda não sei como resolver…)

    | 6 103 C:\Users\Computer\Documents\lista 3 sala\linguagem c treinamento\premiados.cpp [Error] initializer-string for array of chars is too long [-fpermissive] |

    programa:

    #include
    int main(void)
    {
    printf(“\n\nvencedores do sorteio em ordem decrecente:\n\n”);

    char premiados[12] = {“Tina, Cida, Cleber, Juju, Linda, Julio, Keven, Gordo, Lulu, Med, Tuli, Ary”};
    int i;
    for(i=11;i>=0; i–)
    {
    printf(“premiados[%c]: %c\n”, i, premiados[i];)}

    return (0);
    }

    1. Wagner Gaspar

      Olá Emis.
      Esta mensagem:
      initializer-string for array of chars is too long [-fpermissive] |

      significa que você está tentando colocar algo muito grande num lugar pequeno (chars is too long). O seu vetor de char tem tamanho 12 mas nesta linha:

      char premiados[12] = {“Tina, Cida, Cleber, Juju, Linda, Julio, Keven, Gordo, Lulu, Med, Tuli, Ary”};

      você está tentando colocar no vetor 74 caracteres.
      Você está confundindo caracteres com strings (palavras) e são coisas completamente diferentes.
      Na linguagem C uma string é um vetor de caracteres. Se você precisa armazenar vários nomes, então você precisa de uma matriz de caracteres. Veja:
      char letra = ‘w’; // uma variável que guarda uma letra
      chat letras[10] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’}; // um vetor de tamanho 10 com 10 letras. Também pode ser como a seguir
      char letras[10] = {“abcdefghij”}; // um vetor de tamanho 10 com 10 letras
      char letras[3][10] = {“Ola”,”Amor”,”Oi”}; // uma matriz de caracteres, 3 linhas e 10 colunas. Cada linha possui uma palavra.

      Se você precisa ordenar palavras você vai precisar de uma matriz de caracteres.

Deixe um comentário para É a Emis, help!! Cancelar resposta

dois × 5 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.