Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fnds

Documentação, tutoriais e livros sobre C (externos ao P@P)

Mensagens Recomendadas

fnds

[Nota: para além destes recursos externos, podes também encontrar conteúdos úteis no portal de downloads e no wiki.]

Documentação Oficial

Introduções, Tutoriais e Outras Documentações

Livros

(disponíveis gratuitamente)

(outros)

Novas sugestões, assim como comentários sobre as existentes, são bem-vindas.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
filipe3x

Livros recomendados pelo JCR, prof da UMinho

  • Introdução à Programação Usando C
  • Estruturas de Dados e Algoritmos em C

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

O Schildt, aparentemente, escreve bem mas incorrectamente. Ele é fácil de ler e de compreender, mas transmite ideias erradas.

Reception

Schildt's books have a reputation for being written in a clear style, at least at first glance. Their technical accuracy has been challenged by reviewers, including ISO C committee members Peter Seebach, and Clive Feather, Steve Summit, author of the C FAQ, and numerous reviews in C Vu from the ACCU.

E provavelmente é ilegal disponibilizar o livro dele ...


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
CFD

Olá pmg, vc poderia citar quais são essas ideias erradas? Pq estou quase terminando de ler o livro...fiquei preocupado de estar aprendendo o "errado"..

Valeu pelo toque!

:)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Olá pmg, vc poderia citar quais são essas ideias erradas?

Não posso falar sobre o livro do Schildt pessoalmente, pois nunca o li. A noção de ideia erradas veio-me de artigos que li na internet (como o da Wikipedia na minha resposta anterior, ou este outro artigo do Peter Seebach)

Pq estou quase terminando de ler o livro...fiquei preocupado de estar aprendendo o "errado"..

Nota que não é necessariamente errado ler livros que contem informação errada. Apenas é necessário estar atento a essa informação, e filtrá-la. Possivelmente a tradução para português melhorou o livro ...

No artigo do Seebach, ele fala dum programa na página 236-237

    char ch;
    [...]
    do {
      ch = getchar();
      putc(ch, fp);
    } while (ch != '$');

em que o erro maior desse mesmo programa é o facto de ch ser declarado como char. Tem de ser int!


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpedro20

No artigo do Seebach, ele fala dum programa na página 236-237

    char ch;
    [...]
    do {
      ch = getchar();
      putc(ch, fp);
    } while (ch != '$');

em que o erro maior desse mesmo programa é o facto de ch ser declarado como char. Tem de ser int!

Não tem de ser int. Em C o tipo char permite armazenar tanto um caracter como um valor inteiro. Algo como isto:

int main (void)
{
char a=65;

printf("%d %c\n",a,a);
return 0;
}

é possível uma vez que 65 corresponde ao caracter 'A' em ASCII. Portanto o exemplo do senhor Seebach está correcto.

http://www.cplusplus.com/reference/clibrary/cstdio/getchar/

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg
Não tem de ser int.

Tem de ser int.

A funcao getchar() devolve um valor de tipo int. Se assignares esse valor a uma variavel de tipo char estas a perder informacao importante. Na grande maioria de computadores correntes, objectos de tipo char podem ter um maximo de 256 valores diferentes (de -128 a 127 ou de 0 a 255). O valor resultante do getchar() precisa de 256 + 1 valores distintos para identificar os 256 caracteres possiveis e o EOF.

Sendo char nao e possivel diferenciar EOF e um byte normal.

Se char for unsigned numa determinada implementacao, a condicao

ch != EOF

nunca e verdade

  • Voto 1

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gtatubo

Antes de mais quero dar os parabéns pelo vosso forum!

A minha questão é a seguinte: Eu ando na licenciatura de informática gestão, estou no segundo ano, estou a repetir a cadeira de programação em C. Eu ja comprei o livro de luis damas, mas não consigo perceber programação, porque.....! sinto me burrooooooo :wallbash: O que eu faço?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Deixa o livro do Luis Damas e vai directamente à fonte.

E com isto quero dizer, lê os livros de referência, que é o livro do Kernighan e do Ritchie: http://www.amazon.co.uk/dp/0131103628

Clicando sobre a imagem podes ler algumas páginas do livro, vê se ficas mais esclarecido...

PS: não deves necessitar de comprar porque isso é o tipo de livro que as bibliotecas costumam ter em várias cópias...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
einstein

Estou a pensar em adquiri o livro do Luis damas só que posso comprar em segunda mão a versão 9 ou comprar a versão 20 novo . O que me aconselham?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Mkman

Eu para te ser sincero recomendava te o The C Programming Language é mais curto(cerca de 300 paginas), contém melhores exercicios e tem uma optima mini referencia no fim. Se mesmo assim quiseres comprar o livro do Damas acho que seja melhor a ultima versão.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Elrosnum

Bom dia a todos,

não sei se é o lugar mais correto para meter a minha questão, mas sendo este um tópico sobre livros de C,

gostava de saber se existe algum livro de exercicios em C.

À uns tempos atrás vi um de C, mas não me lembro do nome nem da Editora.

Por isso se alguém me puder ajudar agradecia imenso :D

Cumprimentos,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

So' de exercícios?

Tens o Linguagem C - Luis Damas, que no final de cada capitulo tem uns exercícios


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Elrosnum

Obrigado pikax pela resposta,

mas à uns tempos atrás tinha visto um só mesmo de exercícios, sem teoria nenhuma

Mas como disse anteriormente não me lembro do nome do livro nem da editora :/

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
softklin

Isto não é um livro, ou uma referência, mas não abrir um tópico de propósito, aqui vai uma lista de pequenas "armadilhas" que passam despercebidas, se o compilador não for corretamente configurado:

http://www.andromeda.com/people/ddyer/topten.html

Uma típica é a da atribuição em vez de comparação:

if( a = b )  // c vai sempre tomar valor 1
 c = 1;

Editado por softklin

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
eatg75

Olá pmg, vc poderia citar quais são essas ideias erradas? Pq estou quase terminando de ler o livro...fiquei preocupado de estar aprendendo o "errado"..

Valeu pelo toque!

;)

Quando estava a aprender C lia os Livros Linguagem C, The C Programming Language 2nd edition e C Completo e Total (desse Schildt aí) concorrentemente, no capítulo sobre apontadores ele diz que ter algo género : char* foo, bar; é equivalente a ter char* foo, *bar; o que é totalmente falso. Na altura quando os programas que escrevia não faziam o que eram suposto fazer amaldiçoei o autor. Quando cheguei nos capítulos sobre apontadores do K&R e do Linguagem C não li nada que dizia que char* foo, bar; é igual a char* foo, *bar;. Pouco tempo depois pensei que talvez o Sr. Schildt estava certo e que o livro tinha como alvo a versão do C pre a estadarização, e com a estandarização remover essa particularidade.

Eu pessoalmente recomendaria ao iniciantes manterem longe dos livros desse Sr. Schildt. Um livro por tão mal que ele esteja escrito, tão má ser a autenticidade do seu conteúdo não deixa de ser um livro, portanto recomendaria a alguém com um certo conhecimento de C a lê-lo para caçar bugs (o que será uma tarefa relativamente fácil) e dar umas risadas sobre os erros contidos nos texto e no código.


Victarion seized the dusky woman by the wrist and pulled her to him.

Victarion - She will do it. Go pray to your red god. Light your fire, and tell me what you see.

Moqorro's dark eyes seemed to shine.

Moqorro - I see dragons.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Mkman

Ok seguindo a minha ideia do outro tópico fica aqui a minha sugestão

Standard Actual C11-http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

Adicionar:

Livros

The C Programming Language - pago

Learn C the hard way - http://c.learncodethehardway.org/book/

The C Book - http://publications.gbdirect.co.uk/c_book/

Tutoriais

Memory Management- http://stoneship.org/essays/c-memory-management-and-you/ (excelente )

Stanford Linked List - http://cslibrary.stanford.edu/103/

Stanford Binary Trees - http://cslibrary.stanford.edu/110/BinaryTrees.html

Networking - http://beej.us/guide/bgnet/

GDB(debugger) - http://www.unknownroad.com/rtfm/gdbtut/gdbtoc.html

E sem duvida alguma

FAQ - http://www.c-faq.com/

Man Pages - https://www.kernel.org/doc/man-pages/

Gotchas - http://www.iso-9899.info/wiki/C_gotchas

Snippets - http://www.iso-9899.info/wiki/Snippets

Livros envolvendo C, mas não sobre C

Advanced Linux Programming - http://www.advancedlinuxprogramming.com/

Pode ser que com isto o pessoal deixe de fazer aquelas perguntas que toda a gente gosta :/

Agora Remover-

Estruturas de Dados e Algoritmos em C de António Rocha (Português) - Aqueles typedefs nos ponteiros dão me cabelos brancos. O livro dele dedicato especialmente a C nunca li, mas se for dá qualidade das estruturas de dados bem pode ir para o mesmo caminho :/

Em termos de tutoriais o Top10, dei uma vista de olhos e parece me bem, os outros não tenho qualquer opinião formada

  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.