Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, boa tarde.
Nos últimos anos falei com muita gente que queria aprender C. Seguem os conselhos que tenho, baseado nos casos de sucesso que eu testemunhei.
Se for aprender C, sugiro que leia The C Programming Language (segunda ed.), de Brian Kernigham e Dennis Ritchie. São os criadores da linguagem, e o apelido do livro, "K&R", é por causa de suas iniciais. O livro é pequeno. Os autores mostraram uma capacidade incrível de descrever em tão poucas páginas tantos aspectos de C de forma correta.
Ao contrário do que se pensa, C não é simples. Na verdade, é tão complexa que a maioria das pessoas não sabe que não a conhecem. Se estiver à procura de um desafio, creio sim que C seja uma boa oportunidade. Depois de ler o K&R, resolvendo os exercícios (alguns são difíceis), sugiro que dê uma olhada no material que escrevi: http://guipn.com/tac.htm
Sempre lembre-se de alguns fatos-chave:
1. Ao contrário do que é comum pensar, C++ não é um superconjunto de C; são linguagens bem distintas.
2. Programas em C podem ser não-determinísticos (para entender por quê, leia a seção sobre behavior o material que linkei acima).
3. Seja focado(a) e perseverante. Seja paciente e aprenda com calma. As centenas de pessoas que vi se apressarem (incluindo eu) tiveram problemas para entender aspectos mais sutis/complexos por precipitação nas conclusões.
Finalmente, depois de ter alguma solidez no conhecimento da linguagem, e se quiser exercer bom domínio sobre ela, duvide das assertivas que encontrar. Quando encontrar alguma afirmação sobre seu funcionamento, esforce-se para provar que ela está errada. Faça isto pesquisando nos draft standards, e apontando regras descritas ali que contradigam a assertiva em questão. Exemplo:
Assertiva-exemplo: "objetos de tipo (char) têm 8 bits."
Esta assertiva é falsa. O tipo (char) pode ter mais de 8 bits.
Prova:
>
6.2.6 Representations of types
6.2.6.1 General
(...) 49) A byte contains CHAR_BIT bits' date=' and the values of type unsigned char range from 0 to 2 ^ (CHAR_BIT - 1)
[b']5.2.4.2.1 - Sizes of integer types[/b]
The values given below shall be replaced by constant expressions (...). Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.
— number of bits for smallest object that is not a bit-field (byte)
CHAR_BIT 8
(...)
Se não conseguir uma contra-prova, leia as partes do draft standard que descrevem as entidades relacionadas à assertiva. Veja se, baesado(a) na sua interpretação, você agora concorda com o que ela propõe. Se não concordar, converse com outros estudantes da linguagem e/ou membros do comitê que a define.
Boa sorte!
Carregando comentários...