TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Engenharia de software

Por:   •  17/9/2016  •  Pesquisas Acadêmicas  •  12.353 Palavras (50 Páginas)  •  371 Visualizações

Página 1 de 50

Lista de Exercícios 1 – Strings e ponteiros.

Descrição:

  1. Escrever função para obter o tamanho de uma string, usando vetor. Protótipo: int mystrlen (char s[]);

Solução:

Percorrer toda string com laço for, até encontrar o caracter nulo, e retornar a variável de controle do laço.

Código Fonte:

#include

int mystrlen(char s[]) {
   int i;
   
   for (i = 0 ; s[i] != '\0' ; i++);
   
   return i;
}

int main() {
   char str[100];
   

    scanf(“%s”, str);


   printf("%d", mystrlen(str));

    return 0;
}

Saídas e testes:

Entradas: LinguagemC, abc.

Saídas:

[pic 1]

Conclusões:

Resultados conforme esperado.

Descrição:

  1. Escrever função para obter o tamanho de uma string, usando, internamente ,a forma de ponteiro. Protótipo: int mystrlen (char s[]); 

Solução:

Percorrer toda string com laço while, até encontrar o caracter nulo, e retornar a diferença entre as posições de início e fim da string;

Código Fonte:

#include

int mystrlen(char s[]) {
   char *ps;
   
   ps = s;
   
   while (*ps) {
       ps++;
   }
   
   return (ps-s);
}

int main() {
   char str[100];
   

    scanf(“%s”, str);


   printf("%d", mystrlen(str));

    return 0;
}

Saídas e testes:

Entradas: LinguagemC, abc.

Saídas:

[pic 2]

Conclusões:

Resultados conforme esperado.

Descrição:

  1. Escrever função int mystrlen (char *string) que obtem o tamanho de uma string usando ponteiro.

Solução:

Percorrer toda string com laço while incrementando uma variavel de controle e o ponteiro, até encontrar o caracter nulo, e retornar a variável de controle.

Código Fonte:

#include

int mystrlen(char *string) {

    int count = 0;

   

    while(*string) {

        count++;

        string++;

    }

   

    return count;

}

int main() {

    char str[100];

   

    scanf("%s", str);

    printf("%d", mystrlen(str));

    return 0;

}

Saídas e testes:

Entradas: LinguagemC, abc.

Saídas:

[pic 3]

Conclusões:

Resultados conforme esperado.

Descrição:

  1. Escrever função void print_string (char *string), que imprime uma string dada.

Solução:

Imprimir o cada caracter da string até encontrar o caracter nulo.

Código Fonte:

#include

void print_string(char *string) {

    while(*string) {

        putchar(*string++);

    }

}

int main() {

    char str[100];

   

    scanf("%s", str);

    print_string(str);

    return 0;

}

Saídas e testes:

Entradas: LinguagemC, abc.

Saídas:

[pic 4]

Conclusões:

Resultados conforme esperado.

Descrição:

  1. Escrever função void mystrcpy (char s[], char t[]), que copia uma string t para s, usando vetores.

Solução:

Usar um laço while para copiar o conteúdo da segunda string para a primeira, até que o caracter copiado seja o caracter nulo.

Código Fonte:

#include

void mystrcpy(char s[], char t[]) {

    int i = 0;

   

    while ((s[i] = t[i]) != '\0') {

        i++;

    }

}

int main() {

    char str1[] = "abc";

    char str2[] = "LinguagemC";

   

    printf("str1 antes da copia = %s", str1);

    printf("str2 antes da copia = %s", str2);

   

    mystrcpy(str1, str2);

   

    printf("str1 depois da copia = %s", str1);

    printf("str2 depois da copia = %s", str2);

   

    return 0;

}

Saídas e testes:

Entradas: str1 = “abc” ; str2 = “LinguagemC”.

...

Baixar como (para membros premium)  txt (56.9 Kb)   pdf (2 Mb)   docx (545.5 Kb)  
Continuar por mais 49 páginas »
Disponível apenas no TrabalhosGratuitos.com