tambien podrias mandar un caracter de escape (033) directo a la shell, con esto podrias cambiar el color del texto y el fondo con el que aparece en pantalla:
para hacerlo puedes utilizar algo como:  
\033[color1;color2m Mensaje a imprimir
claro esto no funcionara en todas las shells disponibles, pero en bash si que funciona. un ejemplo:
 
#include "stdio.h"
main(){
   printf("\033[1;33Linux Rulezzz\033[0m \n");
   return 0;
}
 
 
esto imprimira el mensaje "Linux Rulezzz" en pantalla con un color amarillo (1;33m corresponde a este color)... la secuencia de escape al final ( \033[0m ) es para devolver la shell a su estado original, evitando que todos los mensajes siguientes dejen de salir con el mismo color.
una pequeña lista de colores:
 
Black       0;30      Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green      0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red          0;31     Light Red     1;31
Purple       0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37
 
 
espero te sirva. bye