0Pricing
C Academy · Aula

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

  1. Conversões implícitas
  2. Conversões explícitas
  3. Conversões entre inteiros e ponto flutuante
  4. Armadilhas de conversão
← Voltar para C Academy