O seu professor ensinou C++ antes do C? Que estranho. Mas, vamos lá. Em C++, o "cin", assim como o "cout", fazem parte de uma classe, que é a padrão "std". Em C, não possui classe, pois não é uma linguagem orientada a objetos. Então usamos a função "printf()" e "scanf()" para mostrar na tela e ler conteúdo para o programa. O uso delas é da mesma forma que uma função comum em C++, passando parâmetros. Exemplo: char letra;
char palavra[10];
int valor;
printf(variavel); // Vai mostrar o conteúdo da variável, independente do tipo. Não é a forma mais adequada de usar essa função. Melhor sempre usar o tipo que será mostrado na tela, como abaixo.
printf("O valor é: %c\n", letra); // '%s' quer dizer que será mostrada na tela um conteúdo do tipo CHAR, originado pela "letra".
printf("O valor é: %s\n", palavra); // '%s' quer dizer que será mostrada na tela um conteúdo do tipo STRING (que é um vetor de char, com um código terminador em seu final), originado pela "palavra".
printf("O valor é: %d\n", valor); ou printf("%i\n", valor); // '%s' quer dizer que será mostrada na tela um conteúdo do tipo INTEIRO, originado pela "valor".
scanf("%s", variavel_string);
scanf("%d", &variavel_inteiro); // A função "scanf()" requer sempre um ponteiro pra variável (feito pelo uso do '&') que receberá o valor. No caso da string, isso não é necessário, pois o vetor já é um ponteiro.
scanf("%c", &letra); // Nesse caso, precisamos do ponteiro, por não se tratar de um vetor, mas sim, uma variável simples do tipo char.