CI067 - Oficina de Computação
Exercícios # 03
2º semestre 2014

Linguagem C - Ponteiros


PARTE I - Atividades em Laboratório

  
 
  1. Tome familiaridade com as funções da linguagem C para manipulação de strings. Para isto execute o comando UNIX man  string. Leia atentamente o texto para ter uma noção clara das funções existentes e como usá-las em um programa.

 
  1. Explique qual o objetivo principal da função strfunc() (clique aqui). Exemplifique um possível uso desta função.

 

 
  1. Reescreva as funções strcmp_1() e strcmp_2() (clique aqui) usando APENAS ponteiros. Otimize sua solução ao máximo.

 

 
  1. Analise e explique o que cada programa abaixo deve fazer. Depois disto, compile e execute cada um deles. Sua análise está de acordo com o comportamento observado? Troque idéias com os colegas ao seu lado e com o professor.

 
  1. (copia_string)Implemente uma função copia_string() que recebe 2 (dois) argumentos, cada um sendo uma referência para uma string. A função deve copiar o conteúdo de uma string para outra. Não há valor de retorno. Esta função assume que o destino tem espaço suficiente para receber a cópia da origem. Defina um programa principal adequado par testar esta função.

 

 
  1. (tratavets)Faça um programa que receba interativamente do usuário 5 conjuntos de 5 inteiros cada e armazene cada conjunto em um vetor diferente. Em seguida, para cada elemento de um sexto vetor adicional defina uma referência a cada um dos 5 vetores com inteiros. Ao final, seu programa deve imprimir na tela o conteúdo completo de seu ``vetor de vetores'' (i.e., o sexto vetor).

 

 
  1. Analise os programas abaixo. Eles mostram como na linguagem C programas podem manipular argumentos da linha de comando.

Parte II - Exercícios

  
 
  1. (strstr)Implemente a função strstr(). Considere a definição da função conforme consta no manual on-line no sistema UNIX.

 
  1. (ache_string)Dado um conjunto de 5 strings e uma palavra, determinar o número de vezes que a palavra ocorre em cada string. Se for indicada a palavra FIM, o programa deve terminar. Considere que cada string terá NO MÁXIMO 50 caracteres. Exemplo:

    frase 1: ANA E MARIANA GOSTAM DE BANANA
    frase 2: MARIANA GOSTA DE CHICLETE
    frase 3: SONIA NAO GOSTA DE NADA
    frase 4: SONIA GOSTA DE TUDO
    frase 5: ZENOBIO E SONIA TEM UMA FILHA CHAMADA ANA
    palavra: ANA

    ANA ocorre 4 vezes na frase 1.
    ANA ocorre 1 vez na frase 2.

    ANA ocorre 1 vez na frase 5.

    palavra: BACANA

    BACANA nao ocorre em nenhuma das frases.

 



Armando Luiz Nicolini Delgado
2014-09-04