O problema em se utilizar livros desse tipo é que, por ser iniciante, você não tem condições de saber o que está errado e o que está certo.
"Desaprender" o errado é bem mais difícil do que aprender certo na primeira vez. Vejo isso pela quantidade de código que usa conio.h, void main, system, itoa e fflush na entrada padrão. Por mais que seja falado que não é p/ fazer isso, as pessoas insistem nesse comportamento.
P/ quem está começando é necessário exercícios, um dos pontos fracos inclusive do famoso Core Java (não existe *nenhum* exercício nos dois volumes). Livros de referência não servem p/ isso. Internet tá aí pra isso, inclusive: é besteira comprar livro de referência p/ uma linguagem hoje. A documentação da API está online (e é bem mais fácil encontrar texto com Ctrl+F do que indo no índice remissivo).
As linguagens C e C++ praticamente colecionam livros ruins devido ao "dane-se o ISO C; na minha plataforma funciona". O problema é que, de forma generalizada (porque já vi livros muito ruins p/ linguagens muito populares, como Java), esse é o tipo de programador que as empresas acabam contratando. O cara não tem uma base boa, faz da forma que aprendeu no livro e quando não funciona sai pendurando coisas em redor p/ "disfarçar". Olá, retrabalho.
Vale deixar registrado que Herbert Schildt, via de regra, também não é algo digno de se recomendar.
http://programmers.stackexchange.com/questions/6974/whats-the-worst-programming-book-youve-ever-read