Credo che, dato l'esempio, sia necessario utilizzare l'aritmetica o, meglio, le funzioni di conversione:
codice:
int a = 1;

Il carattere '1' si ottiene così:

char carattere = (char) a + 48;

oppure così:

char *str = malloc(2 * sizeof(char));
itoa(a, str, 10);
carattere = str[0];
Ciao.