0Pricing
C Academy · Aula

Conversões implícitas

Promoções automáticas.

Conversões implícitas é uma aula grátis de C Academy no CoddyKit. Esta é a aula 1 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

Quando C combina valores de tipos diferentes, ele converte automaticamente um para o outro. Isso é uma conversão implícita.

#include <stdio.h>
int main(void) {
    int i = 5;
    double d = i;
    printf("d = %.1f\n", d);
    return 0;
}

Promoção de inteiros

Tipos inteiros pequenos, como char e short, são promovidos para int antes de uma operação aritmética.

#include <stdio.h>
int main(void) {
    char a = 10, b = 20;
    int sum = a + b;
    printf("sum = %d\n", sum);
    return 0;
}

Conversões aritméticas usuais

Em uma expressão mista, o operando mais estreito é convertido para o tipo mais amplo, para que ambos coincidam antes da operação.

#include <stdio.h>
int main(void) {
    int i = 3;
    double d = 2.0;
    printf("%.1f\n", i + d);
    return 0;
}

De int para double

Um int atribuído a um double é ampliado com segurança, mantendo seu valor exato.

#include <stdio.h>
int main(void) {
    int count = 7;
    double avg = count;
    printf("avg = %.1f\n", avg);
    return 0;
}

De double para int: truncamento

Atribuir um double a um int descarta a parte fracionária. Não há arredondamento.

#include <stdio.h>
int main(void) {
    double d = 9.99;
    int n = d;
    printf("n = %d\n", n);
    return 0;
}

char e int

Um char armazena um inteiro pequeno, seu código de caractere. Ele é convertido naturalmente para int.

#include <stdio.h>
int main(void) {
    char c = 'A';
    int code = c;
    printf("code = %d\n", code);
    return 0;
}

Conversões em atribuições

O lado direito é convertido para o tipo do lado esquerdo durante a atribuição.

#include <stdio.h>
int main(void) {
    double pi = 3;
    printf("pi = %.1f\n", pi);
    return 0;
}

A surpresa da divisão mista

5 / 2 é uma divisão inteira (2). Transforme um dos operandos em double para obter uma divisão real.

#include <stdio.h>
int main(void) {
    printf("%.1f\n", 5 / 2.0);
    return 0;
}

Conversões semelhantes a booleanos

Em condições, qualquer valor diferente de zero é convertido para verdadeiro, e zero é convertido para falso.

#include <stdio.h>
int main(void) {
    int x = 3;
    if (x)
        printf("nonzero is true\n");
    return 0;
}

Conversão do valor de retorno

Um valor retornado é convertido para o tipo de retorno da função. Retornar um double de uma função int trunca o valor.

#include <stdio.h>
int half(int n) {
    return n / 2;
}
int main(void) {
    printf("%d\n", half(7));
    return 0;
}

Passando argumentos

Os argumentos são convertidos para o tipo do parâmetro quando há um protótipo no escopo.

#include <stdio.h>
void show(double d) {
    printf("%.1f\n", d);
}
int main(void) {
    show(5);
    return 0;
}

Verificação rápida

Teste sua compreensão das conversões implícitas.

Recapitulação: conversões implícitas

Você aprendeu as conversões automáticas de tipos.

  • C converte os operandos para um tipo comum
  • Inteiros pequenos são promovidos para int
  • De int para double, o valor é ampliado com segurança
  • De double para int, o valor é truncado
  • A divisão inteira pode causar surpresas, a menos que um operando seja um double

Perguntas Frequentes

A aula “Conversões implícitas” é grátis?

Sim — o texto completo de “Conversões implí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 implícitas”?

Promoções automáticas. 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 1 de 4.

Quanto tempo leva a aula “Conversões implí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