0Pricing
C Academy · Lezione

Conversioni implicite

Promozioni automatiche

Conversioni implicite è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 4 lezioni in totale.

Che cos'è una conversione

Quando C combina valori di tipi diversi, converte automaticamente un tipo nell'altro. Si tratta di una conversione implicita.

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

Promozione degli interi

I tipi interi piccoli, come char e short, vengono promossi a int prima delle operazioni aritmetiche.

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

Conversioni aritmetiche usuali

In un'espressione mista, l'operando più piccolo viene convertito nel tipo più ampio, così entrambi hanno lo stesso tipo prima dell'operazione.

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

Da int a double

Un int assegnato a un double viene ampliato in modo sicuro, mantenendo il suo valore esatto.

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

Da double a int: troncamento

Assegnare un double a un int elimina la parte frazionaria. Non viene effettuato alcun arrotondamento.

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

char e int

Un char contiene un intero piccolo, ovvero il codice del carattere. Viene convertito naturalmente in int.

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

Conversioni durante l'assegnazione

Durante l'assegnazione, il lato destro viene convertito nel tipo del lato sinistro.

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

La sorpresa della divisione mista

5 / 2 è una divisione intera e restituisce 2. Renda double uno degli operandi per ottenere una divisione reale.

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

Conversioni simili a bool

Nelle condizioni, qualsiasi valore diverso da zero viene convertito in true e zero in false.

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

Conversione del valore restituito

Un valore restituito viene convertito nel tipo restituito dalla funzione. Restituire un double da una funzione int ne tronca il valore.

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

Passaggio degli argomenti

Quando è visibile un prototipo, gli argomenti vengono convertiti nel tipo del parametro.

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

Verifica rapida

Verifichi la Sua comprensione delle conversioni implicite.

Riepilogo: conversioni implicite

Ha imparato le conversioni automatiche dei tipi.

  • C converte gli operandi in un tipo comune
  • Gli interi piccoli vengono promossi a int
  • Da int a double il valore viene ampliato in modo sicuro
  • Da double a int il valore viene troncato
  • La divisione intera può sorprendere se nessun operando è un double

Domande Frequenti

La lezione «Conversioni implicite» è gratuita?

Sì — il testo completo di «Conversioni implicite» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 4 lezioni in totale.

Cosa imparerò in «Conversioni implicite»?

Promozioni automatiche Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C Academy?

Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Conversioni implicite»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C Academy?

Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Conversioni implicite
  2. Cast espliciti
  3. Conversioni tra interi e float
  4. Problemi nelle conversioni
← Torna a C Academy