Ir para conteúdo
Migscigs

Aprender C com livro antigo? (Guia do Usuário Herbert Schildt by McGraw-Hill, Inc 1989)

Recommended Posts

Olá pessoal,

Estou cursando Engenharia Nuclear na UFRJ e tenho um projeto em mente. Tenho 19 anos, não tenho pressa para aprender a linguagem. Para a realização do projeto eu precisaria conhecer uma linguagem de programação e, considerei que o C seria interessante, já que é uma linguagem "completa", que atua tanto em alto quanto em baixo nível (Perdoem caso eu esteja falando besteira). Fui na biblioteca e procurei algum livro de C.. encontrei de Pascal, Basic, Assembly ..... Etc etc e quando estava quase perdendo as esperanças encontrei um de C. O livro é antigo, comecei a ler e estou gostando, é meio que um guia completo e explica bem. Com uma rápida pesquisa na internet, ví que o C já teve várias atualizações desde então, logo, não sei se vale a pena continuar lendo o livro.. o que acham? É uma total perda de tempo? Se sim, me indicam um livro ( que não seja caro, pois estou desempregado kk)? Vou deixar em anexo algumas fotos do livro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente esses livros de guia costumam ensinar do básico ao avançado. Depende muito de até onde voce quer ir. Para aprender o básico mesmo, porque não pega uns pdf na internet? Porque como as coisas vão atualizando, pode existir informações que são pertinentes nos livros de hoje e que não contenham nesse livro ai. Mas se é o que tem mesmo, não vejo problema em ler, dai se achasse algo esquisito era só postar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu até pegaria um PDF, mas meu celular não é grande e eu tô sempre em ônibus. A idéia era ter um livro mesmo, que daí eu uso esse tempo que fico dentro do ônibus (papo de umas 3 horas, 3 de ida e 3 de volta.. as vezes mais .. as vezes um pouco menos)  pra aprender alguma coisa. Quanto ao "depende muito de até onde você quer ir", pretendo ser bom! Bom o suficiente para desenvolver meu(s) projetos.. que acredito que têm um certo grau de complexidade. Tem uma coisa também, essas atualizações tiram coisas da linguagem ou só adicionam? Existe a possibilidade de alguma coisa que tinha na linguagem em 1989 não funcione/não tenha mais hoje?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendo. Mas mesmo assim pode estudar mano, as atualizações no máximo adicionam umas coisas ou outras. Por exemplo, o livro the C programming language 2 edition, de  Kernighan & Ritchie, é antigasso, coisa de 1986 (algo assim, não lembro bem a data), e é um dos melhores livros de C. Voce pode estudar e voce mesmo ir se atualizando por outras fontes e materiais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Começar seus estudos pelo livro acima vai te poupar de muitos erros, e principalmente poupar MUITO tempo. Eu estou programando a 6 meses, peguei vários livros já até encontrar esse - de tanto que elogiaram ele para mim - e não o largo mais. Comece por ele, e depois pegue o livro do Luis Damas ou do Deitel, ou outros se preferir, mas comece por esse. Além do livro o autor tem video-aulas [aqui] e um site com excelentes listas de exercício [aqui]. Você até encontra esse livro em PDF, mas eu recomendo comprar pois a versão impressa tem os exercicios no final dos capitulos.

 

1 - FAÇA EXERCÍCIOS

2 - FAÇA EXERCÍCIOS

3 - FAÇA EXERCÍCIOS

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não recomendo esses livros antigos. Apesar de não ser muito utilizada em comparação com Java,C#,Ruby e outras linguagens ela vem recebendo atualizações.
Se tiver necessidade de material em português, encontrei este livro:
https://www.goodreads.com/book/show/25128837-elementos-de-programa-o-em-c

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Dan Borges
      Olá,
       
      Tenho conhecimentos em C#, e ultimamente venho programando utilizando o MonoGame para desenvolver jogos. Estava procurando como é feito uma pista pseudo 3D, e achei esse artigo em JS: https://codeincomplete.com/posts/javascript-racer-v1-straight/
       
      Por ter a lógica de programação da mente, mesmo sem saber js, entendi parte do código, mas esse trecho, não:
      segments = []; for(var n = 0 ; n < 500 ; n++) { // arbitrary road length segments.push({ index: n, p1: { world: { z: n *segmentLength }, camera: {}, screen: {} }, p2: { world: { z: (n+1)*segmentLength }, camera: {}, screen: {} }, color: Math.floor(n/rumbleLength)%2 ? COLORS.DARK : COLORS.LIGHT }); } A primeira vista entendi que ele está adicionando valores ao array segments com o método push. Mas, os valores colocados, não fazem sentido para mim.
      É como se fosse criada uma classe dinamicamente (que contenha as variáveis:, index, p1, p2...) sem precisar declará-la.
      Seria basicamente isso? Ele criou um objeto que representa uma classe, mas sem nomeá-la, ou algo semelhante?
    • Por EREGON
      Bom dia,
       
      estou a tentar fazer um exercício para, dado um ficheiro .txt na directoria do programa, terei de encontrar todas as palavras que são palíndromos. Tendo este código para ler as palavras do ficheiro .txt (letra a letra) para uma matrix.
       
      Estando as palavras armazenadas numa matrix, como faço essa validação?
       
      Obg,
       
      #include <stdio.h> #include <stdlib.h> int main(int argc, char const *argv[]) { FILE* inp; inp = fopen("palindromo.txt","r"); char arr[100][50]; int i = 0; while(1){ char r = (char)fgetc(inp); int k = 0; while(r!=',' && !feof(inp)){ //Le ate fim de ficheiro arr[i][k++] = r; //armazena no array r = (char)fgetc(inp); } arr[i][k]=0; //ultimo carater nulo //Alguma parte aqui, valida se a palavra e PALINDROMO. //COMO?? if(feof(inp)){ //valida EOF break; } i++; } int j; for(j = 0;j<=i;j++){ printf("%s\n",arr[j] ); //Imprime array } return 0; }  
    • Por Bruno Goedert Dalmolin
      Não consigo apresentar as palavras equivalentes conseguem me ajudar???
      O código é o seguinte: 
       
      #include <stdio.h>
      char equivale(int ddd){
          switch(ddd){
              case 61:
                  return "Brasilia";
                  break;
              case 71:
                  return "Salvador";
                  break;
              case 11:
                  return "Sao Palo";
                  break;
              case 21:
                  return "Rio de Janeiro";
                  break;
              case 32:
                  return "Juiz de Fora";
                  break;
              case 19:
                  return "Campinas";
                  break;
              case 27:
                  return "Vitoria";
                  break;
              case 31:
                  return "Belo Horizonte";
                  break;
          }
      }
      int main(){
          int ddd;
          scanf("%d",&ddd);
          equivale(ddd);
          printf("%d",equivale(ddd));
      }
    • Por darkskull10
      Numa cidade as crianças costumam brincar com um jogo (de dois jogadores) onde:
      um jogador A define uma sequência de 10 letras usando: G, R e B (exemplo: G – G – G – R – B – R – B – B – B – R)
      um jogador B pode ler a sequência quantas vezes quiser
      o jogador B também pode dizer uma das letras e obter em quais posições a letra dada se encontra na sequência
      o jogador B também pode dar uma posição e saber qual letra ocupa a posição na sequência
      para finalizar, o jogador B deve dizer a sequência de letras, obtendo um ponto para cada acerto.
       
      Só consegui pensar nisso por enquanto.
       
      //identificar que letra ocupa esta posição na sequência:
      do{
      scanf(“%d”,&Posicao);
      Posicao=Posicao-1;}
      while ((Posicao<0)||(Posicao>9));
      printf(“%c”,Sequencia[Posicao]);
       
      //exibir sequencia
      for (Cont=0; Cont<=9; Cont++)
      printf(“%c”,Sequencia[Cont]);
       
      //exibir posições
      for (Cont=0; Cont<=9; Cont++)
      printf(“%d%c”,Cont+1,Sequencia[Cont]);
    • Por EduardoLenz
      Olá, pessoal,
       
      Mexo com microcontroladores, antigamente com PIC e agora com ARM (plataforma LPCXpresso). 
      Ambos utilizam a linguagem C. 
       
      Meu problema é o seguinte: Preciso converter um caractere que vem da UART (porta de comunicação). No PIC havia uma função pronta para tal, no ARM não. 
       
      O caractere chega assim, por exemplo: P123 (tudo junto), e eu queria separar em:
      dado_recebido[]={'P', '1', '2', '3'}; 
      Para poder utilizar um switch 
      switch(dado_recebido[0])
      {
      case 'P':....
      }
       
      alguém tem alguma ideia de como posso fazer a conversão? 
       
      Agradeço desde já. 
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.