Opinión personal: No importa de donde aprendas o como aprendas, lo importante es que entiendas el lenguaje, te recomiendo esta pagina:
http://www.cplusplus.com/reference/ Esta en ingles pero no hay tanta necesidad de leer (mas que en algunas ocasiones) ya que las personas aprendemos mas al principio viendo (ejecuta los códigos de ejemplo que te brindan), cuando más o menos agarres la onda lee como estructurar un programa, consejos, que no hacer que si hacer, etc.
Algo mas ligero y en español:
http://c.conclase.net/curso/ aun que hay códigos que te brindan que están mal (cuando vayas a la estructura avl la función "balance" necesita unos ajustes ya que no funciona bien en algunos casos, aun así esta buena para aprender.)
En lugar %i usa %c.
Al querer imprimir un carácter almacenado en una variable de tipo int debes hacer (recomendable) usar una mascara (0xff) para que solo tome el valor 1 byte (el mas insignificante) en lugar de todos los demás.
Todo lo que esta dentro de la biblioteca conio.h NO SON ESTÁNDARES (no es portable entre plataformas Sistemas Operativos) pero claro que las puedes usar, de hecho todo lo que esta en esta biblioteca las puedes reemplazar.
#include <stdio.h>
#include <conio.h>
int main ()
{
int num;
printf ("ESCRIBI UN NUMERO\n"); num = getche (); // usa mejor getchar();
printf ("EL NUMERO ESCRITO ES: %c\n", (0xff & num
) ); system ("PAUSE"); // puedes usar getchar(); return 0;
}
Sin usar conio.h
#define PAUSE char __c__; while ((__c__ = getchar()) != '\n' && __c__ != EOF); puts("Pulsa la tecla ENTER para continuar."); getchar();
#include <stdio.h>
int main ()
{
char res = 0x0;
printf ("Escribe una letra\n"); printf ("La letra escrita es: %c\n", res
); PAUSE //No usar en la macro ;
return EXIT_SUCCESS;
}
Dulces Lunas!¡.