Conversão de Tipos Parte 2
Parte da seção Fundamentals do Journey de C da Coddy — lição 14 de 63.
Na Parte 1, vimos a conversão de tipo implícita. Agora, vamos explorar a conversão de tipo explícita em C.
A conversão explícita de tipo (conversão manual) ocorre quando você converte forçadamente um tipo de dado em outro usando o operador de cast.
A sintaxe para o casting explícito é:
(target_type) expressionVamos converter um float para um inteiro:
float price = 45.95;
int rounded_price = (int) price;Após executar o código acima, rounded_price será:
45
Observe que a parte decimal é truncada (não arredondada).
Também podemos converter caracteres em inteiros para obter seus valores ASCII:
char letter = 'A';
int ascii_value = (int) letter;Após executar o código acima, ascii_value será:
65
Lembre-se, a conversão de tipos (type casting) pode levar à perda de dados, especialmente ao converter de um tipo de dado maior para um menor.
Desafio
FácilEscreva um programa que:
- Declare uma variável do tipo double chamada
temperaturee atribua a ela o valor 98.6. - Use coerção de tipo explícita para converter
temperatureem um inteiro e armazene-o em uma variável chamadawhole_part. - Imprima a temperatura original e a parte inteira em linhas separadas.
Exemplo de saída:
Original temperature: 98.6
Whole part: 98
Folha de consulta
A conversão explícita de tipos (type casting) em C permite que você converta manualmente um tipo de dado em outro usando o operador de cast.
Sintaxe:
(target_type) expressionConvertendo float para inteiro (trunca a parte decimal):
float price = 45.95;
int rounded_price = (int) price; // Resultado: 45Convertendo caractere para inteiro (obtém o valor ASCII):
char letter = 'A';
int ascii_value = (int) letter; // Resultado: 65Nota: A conversão de tipos pode levar à perda de dados ao converter de tipos de dados maiores para menores.
Experimente você mesmo
#include <stdio.h>
int main() {
// Escreva seu código aqui
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
2Variáveis
Tipos de DadosInteiroFloat - DoubleCaracteresBooleanosConstantesFundamentos do printfRegras de Nomenclatura de VariáveisConversão de Tipos Parte 1Conversão de Tipos Parte 2Desafio de Recapitulação3Operadores
Operadores AritméticosOperador de MóduloIncremento/DecrementoOperadores de AtribuiçãoOperadores RelacionaisOperadores Lógicos Parte 1Operadores Lógicos Parte 2Operadores Lógicos Parte 3Desafio de Recapitulação