Ciao fedebello,
la differenza tra char, int e double è la seguente:
char: è un tipo di dato che può contenere soltanto caratteri (a, b, c, d, e etc..)
int: è un tipo di dato che può contenere soltanto valori numerici interi (1, 2, 3, 4, 5 etc)
double: è un tipo di dato che può contenere soltanto valori numerici reali (1.0001, 1.0002 etc)
Attenzione quando si scrive "soltanto" ....
Anche ad un char puoi assegnare un intero
Anche ad un int puoi assegnare il valore di un carattere
Anche ad un double puoi assegnare un intero