да, %c
напечатает один символ:
printf("%c", 'h');
также, putchar
/ putc
тоже будет работать. От "man putchar":
#include <stdio.h>
int fputc(int c, FILE *stream);
int putc(int c, FILE *stream);
int putchar(int c);
* fputc() writes the character c, cast to an unsigned char, to stream.
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once.
* putchar(c); is equivalent to putc(c,stdout).
EDIT:
Также обратите внимание, что если у вас есть строка, для вывода одного символа вам нужно получить символ в строке, которую вы хотите вывести. Например:
const char *h = "hello world";
printf("%c\n", h[4]); /* outputs an 'o' character */