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
- Conversões implícitas
- Conversões explícitas
- Conversões entre inteiros e ponto flutuante
- Armadilhas de conversão