Ir para conteúdo
Fórum Script Brasil
  • 0

Curso de C (um semestre)


Beraldo

Pergunta

Vou colocar aqui o conteúdo que usei na faculdade (UFPR) para estudar C. Há um guia bem completo e diversas listas de exercícios.

Aproveitei e coloquei os links para as duas provas que tivemos no semestre. É bom para testar os conhecimentos depois de estudar todo o conteúdo e fazer todos os exercícios das listas. ;)

Tudo isso foi feito em um semestre. É bom não se estender muito para estudar isso.

Guia da Linguagem C - Notas de Aula (Profa. Carmem Hara e Prof. Wagner Zola - UFPR):

http://www.inf.ufpr.br/nicolui/grad/ci067/Docs/NotasAula/

Versão em PDF:

http://www.inf.ufpr.br/nicolui/grad/ci067/Docs/NotasAula.pdf

Lista de Exercícios:

Lista 1 - Conceitos Gerais: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_01/index.html

Lista 2 - Strings: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_02/index.html

Lista 3 - Ponteiros e Alocação Dinâmica: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_03/index.html

Lista 4 - Arquivos: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_04/index.html

Lista 5 - Recursividade: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_05/index.html

Lista 6 - Makefiles e Depuração (voltado para sistemas Unix): http://www.inf.ufpr.br/nicolui/grad/ci067/...s_06/index.html

Lista 7 - Listas, Pilhas e Filas: http://www.inf.ufpr.br/nicolui/grad/ci067/...s_07/index.html

Lista complementar de exercícios:

http://www.inf.ufpr.br/nicolui/grad/ci067/...s_08/index.html

Provas:

Prova 1: http://geocities.com/rbchaiben/p1-20082.pdf

Prova 2: http://geocities.com/rbchaiben/p2-20082.pdf

E aqui está o link para a especificação do trabalho da disciplina nesse semestre:

http://geocities.com/rbchaiben/labirinto.html

-----

Outras contribuições:

Projeto de Algoritmos

Contribuição de OSJunior

57 Exercícios de C

Contribuição de viciado

Apostila com exercícios resolvidos:

Link para download: http://www.si-fgs.h-br.com/forum/download/file.php?id=11

Link para o tópico: http://www.si-fgs.h-br.com/forum/viewtopic.php?f=77&t=29

Contribuição de GabrielCardelli

Sockets em C/C++

http://www.inf.ufrgs.br/procpar/disc/inf01...rte1.html#intro

http://www.di.ufpe.br/~dmts/sockets/ <~ link com download de apostilas e exercícios

http://olinux.uol.com.br/artigos/370/1.html <~ bem completo

http://www-usr.inf.ufsm.br/~giovani/sockets.html

http://www.dicas-l.com.br/dicas-l/20041219.php <~ c++

Contribuiçã de wendell93

Editado por Beraldo
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Tentei fazer o 5 da lista de string não consegui:

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char str[10];
  printf("Digite uma string \n");
  fgets(str, 10, stdin);
  int i;
  for(i=0;i<10;i++){   
               if(i==2){               
               printf("O terceiro caractere e: %s \n",str[2]);
               }
               }
  system("PAUSE");    
  return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Você não precisa de um loop para exibir o terceiro caractere.

VocÊ sabe, exatamente, o que quer exibir, então basta isto:

int main()
{
  char str[10];
  printf("Digite uma string \n");
  fgets(str, 10, stdin);
  printf("O terceiro caractere e: %c \n",str[2]);
   return 0;
}
VocÊ está mostrando um char, logo use %c, e não %s Uma observação importante: uma string, em C, termina em '\ 0' (sem espaço). Logo, se declararmos char str[10], estaremos possibilitando a inserção de apenas 9 caracteres, pois o décimo deverá ser o '\ 0'. ALém disso, considerando que fgets() adiciona o '\n' da string, o certo seria limitar a leitura de fgets() a 8 bytes e não 10. Genericamente: no fgets(), limite SEMPRE o tamanho da string menos duas unidades:
char str[10];
fgets(str, 8, stdin);

Vale ressaltar: NÃO USE GETS(). USE FGETS()

http://www.linhadecodigo.com.br/Dica.aspx?id=1141

http://wiki.answers.com/Q/Between_fgets_an..._to_use_and_why

http://publib.boulder.ibm.com/infocenter/s...setrf1/gets.htm

Mais em:

http://www.google.com/search?ie=UTF-8&...mp;q=gets+fgets

Link para o comentário
Compartilhar em outros sites

  • 0
  Beraldo disse:
Você não precisa de um loop para exibir o terceiro caractere.

VocÊ sabe, exatamente, o que quer exibir, então basta isto:

int main()
{
  char str[10];
  printf("Digite uma string \n");
  fgets(str, 10, stdin);
  printf("O terceiro caractere e: %c \n",str[2]);
   return 0;
}
VocÊ está mostrando um char, logo use %c, e não %s Uma observação importante: uma string, em C, termina em '\ 0' (sem espaço). Logo, se declararmos char str[10], estaremos possibilitando a inserção de apenas 9 caracteres, pois o décimo deverá ser o '\ 0'. ALém disso, considerando que fgets() adiciona o '\n' da string, o certo seria limitar a leitura de fgets() a 8 bytes e não 10. Genericamente: no fgets(), limite SEMPRE o tamanho da string menos duas unidades:
char str[10];
fgets(str, 8, stdin);

Vale ressaltar: NÃO USE GETS(). USE FGETS()

http://www.linhadecodigo.com.br/Dica.aspx?id=1141

http://wiki.answers.com/Q/Between_fgets_an..._to_use_and_why

http://publib.boulder.ibm.com/infocenter/s...setrf1/gets.htm

Mais em:

http://www.google.com/search?ie=UTF-8&...mp;q=gets+fgets

Obrigado. Grande professor

Link para o comentário
Compartilhar em outros sites

  • 0
  OSJunior disse:
  GabrielCardelli disse:
Muito Boa Iniciativa!!

To Doente no momento em breve voltarei a estudar

Abraço!

:D Desculpa clássica!

Não resta dúvida. :D

hehehe

  OSJunior disse:
Conteúdo muito bom em Projeto de Algoritmos, do prof. Paulo Feofiloff, da USP.

Ótimo link. Adicionei-o no meu post. ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Não estou conseguindo desenvolver a 7 da parte II!! Abaixo meu codigo!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
    char nome[100],sobre[100];
    int ret,cont,conts=0;
    printf (" Digite o Seu nome Completo: ");
    fgets (nome, 98, stdin);
    ret = strlen(nome);
    cont = ret;
    while (nome[cont] != ' ')
        {   
            sobre[conts] = nome[cont];
            nome[cont] = '';
            cont=cont-1;
            conts=conts+1;
        }
    printf (" %s , %s",sobre,nome);
    getch();
}

Abc

Link para o comentário
Compartilhar em outros sites

  • 0
  GabrielCardelli disse:
Não estou conseguindo desenvolver a 7 da parte II!! Abaixo meu codigo!!

Uma dica:

http://scriptbrasil.com.br/forum/index.php...st&p=525632

  viciado disse:
Alguém entendeu o exercício 14 da lista de ponteiro ?

lexicograficamente = em ordem alfabética

Para tratar opções de linha de comando, pode usar argc e argv. Para situações mais complexas, há bibliotecas para isso. No Linux, dá para usar getopt(), da unistd.h, mas não sei se há algo semelhante em Windows.

  viciado disse:
Achei um link com 57 exercícios

57 Exercícios

Link adicionado.

Obrigado pela contribuição

Link para o comentário
Compartilhar em outros sites

  • 0

Ae galera quando eu tava em aula o professor passou uma apostila com muitos exercicíos resolvidos sobre diversos assuntos para todos poderem ver exemplos

ta ae o Link

Download: http://www.si-fgs.h-br.com/forum/download/file.php?id=11

Caso não consigam acessar abaixo o Link do post

http://www.si-fgs.h-br.com/forum/viewtopic.php?f=77&t=29

Abc!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom tava procurando links para estuda programação de sockts em c/c++

e axei esses. então va q alguém se interesse por isso também

vou deixa aq os link

obs: eu n li todos mas todos se referem a programação de socket em c/c++.

Té+.

Sokets:

http://www.inf.ufrgs.br/procpar/disc/inf01...rte1.html#intro

http://www.di.ufpe.br/~dmts/sockets/ <~ link com download de apostilas e exercícios

http://olinux.uol.com.br/artigos/370/1.html <~ bem completo

http://www.inf.ufrgs.br/procpar/disc/inf01...rte1.html#intro

http://www-usr.inf.ufsm.br/~giovani/sockets.html

http://www.dicas-l.com.br/dicas-l/20041219.php <~ c++

Link para o comentário
Compartilhar em outros sites

  • 0

Bom tutorial de C,

Acho que vou começar a estudar a linguagem C ao invés da Pascal...

Apropósito... não vo prescisa de compilador nenhum né...

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, já aprendi umas coisas bem legais em C, e aprovo C, acho que vou largar o Pascal mas... um bom programador sabe varias linguagens, então, vou largar o Pascal mas vou aprende-lo depois

Link para o comentário
Compartilhar em outros sites

  • 0

Erro de compilação no exercicio 6 da lista de contribuições(57 exercicios de C):

A questao era criar um programa para imprimir o módulo exato do numero posto pelo usuário, eis o meu codigo:

#include <stdio.h>
#include <stdlib.h>

main()
{
      int a;
      
      Printf("Digite um numero:/n");
      Scanf("%d",&a);
      If(a>=0);
      Printf("O módulo desse numero é %d /n", a);
      Else
      Printf("O módulo desse numero é %d /n", a*(-1)); /*Esta é a linha que o compilador Dev-C++ diz que da erro*/
      system("pause");
      return 0;      
}

Link para o comentário
Compartilhar em outros sites

  • 0

Vamos manter este tópico somente co indicações de materiasis.

Para dúvidas, criem ourtros tópicos. :)

Isso deixa o tópico mais limpo e objetivo

E, por favor, poste a mensagem de erro. Ela serve para apontar o erro. Sem ela, fica bem mais difícil achar os erros.

Primeiro: C é case-sensitive. Use letras minúsculas. printf em vez de Printf, por exemplo.

Segundo: há um ponto-e-vírgula após o if. retire-o

Editado por Beraldo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...