CI067 - Oficina de Computação
Exercícios # 02
1º semestre 2013

Linguagem C - Strings


PARTE I - Atividades em Laboratório

  
 
  1. Tome familiaridade com as funções da linguagem C para entrada e saída de caracteres e strings. Para isto execute os comandos UNIX man  gets e man  puts. Leia atentamente o texto para ter uma noção clara das funções existentes e como usá-las em um programa.

 
  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. (testastrings)Vamos implementar algumas funções de manipulação de strings:
    1. Implemente a função: int mstrlen(char s[]) que calcula o comprimento de s, isto é, quantos caracteres possui s, exceto o terminador nulo. Implemente um programa simples para testar a função.
    2. Implemente a função: int mstrcmp(char s[], char t[]) que compara s e t, e retorna um número negativo, zero ou positivo se s é lexicograficamente menor, igual ou maior que t. O valor é obtido subtraindo-se os caracteres na primeira posição onde s e t são diferentes. Implemente um programa simples para testar a função.
    (Contribuição do Prof. Egon Hilgenstieler).

Parte II - Exercícios

  

 
  1. (prnchar3)Faça um programa que imprima apenas o 3º caracter de uma string fornecida pelo usuário.

 
  1. (contavogais)Faça uma função que conte o número de vogais existentes em uma string fornecida pelo usuário.

 
  1. (prnabnt)Escreva um programa que leia um nome completo e imprima o sobrenome com todas as letras maiúsculas, ','(vírgula) e em seguida o restante do nome. Exemplo: Armando Luiz Nicolini Delgado ==$ >$ DELGADO, Armando Luiz Nicolini

 
  1. (strordena)Escreva um programa que leia uma string e ordene seus caracteres em ordem crescente.
    NOTA: Uma letra maiúscula vem antes de sua correspondente minúscula, e ambas vem antes de sua letra sucessora. (Ex.: A vem antes de a, e ambas vem antes de B e b.

 
  1. (convstr2int)Escreva um programa que leia uma string que representa um número inteiro na base 10 e gere o valor inteiro correspondente. Faça isto sem usar as funções atoi() e scanf().

 
  1. (contastr)Leia uma string de caracteres e indique quantas vezes o string fato aparece.



Armando Luiz Nicolini Delgado
2013-04-18