Conversões explícitas
Conversões manuais.
Conversões explícitas é uma aula grátis de C Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C Academy inclui 4 aulas no total.
O que é uma conversão explícita
Uma conversão explícita converte explicitamente um valor para outro tipo usando (type)value. Ela informa ao compilador exatamente o que você deseja.
#include <stdio.h>
int main(void) {
double d = (double)5;
printf("%.1f\n", d);
return 0;
}Forçando a divisão real
Converta um operando para double para que a divisão preserve a parte fracionária.
#include <stdio.h>
int main(void) {
int a = 7, b = 2;
double r = (double)a / b;
printf("%.2f\n", r);
return 0;
}Truncando de propósito
Converter um double para int descarta as casas decimais. Às vezes, é exatamente isso que você deseja.
#include <stdio.h>
int main(void) {
double price = 19.95;
int dollars = (int)price;
printf("dollars = %d\n", dollars);
return 0;
}Conversão explícita versus implícita
Uma conversão implícita acontece automaticamente; uma conversão explícita documenta a intenção e suprime avisos.
#include <stdio.h>
int main(void) {
long big = 100000L;
int n = (int)big;
printf("n = %d\n", n);
return 0;
}Conversões explícitas em expressões
Uma conversão explícita se aplica somente ao valor ao lado dela, portanto a ordem e os parênteses são importantes.
#include <stdio.h>
int main(void) {
int total = 5, count = 2;
double avg = (double)total / count;
printf("avg = %.2f\n", avg);
return 0;
}Conversões entre char e int
Você pode converter entre char e int para alternar entre um caractere e seu código.
#include <stdio.h>
int main(void) {
int code = 66;
char c = (char)code;
printf("c = %c\n", c);
return 0;
}Arredondando com uma conversão explícita
Adicione 0.5 antes da conversão explícita para arredondar um número positivo para o inteiro mais próximo.
#include <stdio.h>
int main(void) {
double d = 2.7;
int rounded = (int)(d + 0.5);
printf("rounded = %d\n", rounded);
return 0;
}Convertendo para unsigned
Você pode converter para unsigned, mas um valor negativo dá a volta e se torna um número positivo grande.
#include <stdio.h>
int main(void) {
int x = 10;
unsigned int u = (unsigned int)x;
printf("u = %u\n", u);
return 0;
}Evitando conversões desnecessárias
Fazer uma conversão quando a conversão já é segura e implícita apenas acrescenta ruído. Use conversões explícitas quando elas esclarecerem a intenção ou forem necessárias.
#include <stdio.h>
int main(void) {
int a = 4;
double d = a;
printf("%.1f\n", d);
return 0;
}Conversão explícita em uma fórmula
Uma conversão explícita dentro de um cálculo de porcentagem mantém o resultado preciso.
#include <stdio.h>
int main(void) {
int done = 3, total = 8;
double pct = (double)done / total * 100.0;
printf("%.1f%%\n", pct);
return 0;
}Conversões explícitas com funções matemáticas
Conversões explícitas ajudam ao fornecer valores inteiros para operações matemáticas de ponto flutuante.
#include <stdio.h>
int main(void) {
int n = 9;
double root = (double)n / 3.0;
printf("%.2f\n", root);
return 0;
}Verificação rápida
Teste sua compreensão das conversões explícitas.
Recapitulação: conversões explícitas
Você aprendeu a converter tipos de propósito.
- A sintaxe é
(type)value - Faça uma conversão explícita para forçar uma divisão real
- Faça uma conversão explícita para truncar intencionalmente
- Conversões explícitas documentam a intenção e suprimem avisos
- A conversão explícita afeta somente o valor adjacente, portanto use parênteses
Perguntas Frequentes
A aula “Conversões explícitas” é grátis?
Sim — o texto completo de “Conversões explícitas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C Academy, atualize para CoddyKit PRO. O curso de C Academy inclui 4 aulas no total.
O que vou aprender em “Conversões explícitas”?
Conversões manuais. Você pratica C Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C Academy?
Nenhuma experiência prévia é necessária. C Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Conversões explícitas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C Academy?
Sim. Cada aula de C Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conversões implícitas
- Conversões explícitas
- Conversões entre inteiros e ponto flutuante
- Armadilhas de conversão