Você está na página 1de 2

EMB5600 – Programação I

Lista de exercícios – Strings e Ponteiros em C

Strings
1 – Faça um programa em C que peça para o usuário digitar um texto e imprima as
quatro primeiras letras.

2 – Faça um programa em C que receba uma frase, calcule e mostre a quantidade de


vogais da frase digitada. O programa deverá considerar e contar as vogais maiúsculas e
minúsculas.

2 – Escreva um programa em C que peça ao usuário para digitar um texto e um


caractere (vogal ou consoante), sendo uma entrada por linha. A saída deve mostrar o
número de vogais do texto digitado e imprimir um novo texto: as vogais do texto
original devem ser substituídas pelo caractere digitado.

4 - Faça um programa em C que leia uma string e imprima uma mensagem dizendo se
ela é um palíndromo ou não. Um palíndromo é uma palavra que tem a propriedade de
poder ser lida tanto da direita para a esquerda como da esquerda para a direita.
Exemplo: ovo, arara, rever, asa, osso etc.

5 – Faça um programa em C para criptografar uma frase dada pelo usuário. A


criptografia troca as vogais da frase por *. Por exemplo:
Frase: EU ESTOU NA ESCOLA
Saída: ** *ST** N* *SC*L*

Observação: para facilitar a resolução dos seus exercícios procure informações sobre a
função toupper(int c).

Ponteiros

1 – Alguns trechos abaixo, oriundos de programas em C, possuem erros. Encontre-os e


corrija-os.

a)
void main()
{
int a, *p;
a = 5;
p = a;
printf(“Conteúdo de p: %i\n”, p);
}
b)
void main()
{
int x=3;
int *p1, *p2;
p1 = &x;
p2 = p1;
printf(“Endereço de x: %i\n”, p2);
printf(“Conteúdo de x: %i\n”, p1);
}

2 – Qual a saída do programa abaixo, sabendo-se que i ocupa o endereço 3050 na


memória?
#include <stdio.h>
#include <stdlib.h>
int main() {
int i=5, *p;
p = &i;
printf("%p %i %i \n", p,*p,*p+2);
return 0;
}

3 – Escreva um programa em C que peça ao usuário para digitar dois valores inteiros.
Imprima o conteúdo do maior endereço.

4 - Escreva um programa que peça para o usuário digitar os elementos de uma matriz
3x3 (números reais). Imprima o endereço de memória de cada elemento no mesmo
formato da matriz 3x3.

5 – Escreva um programa em C que peça para o usuário digitar os elementos de um


vetor, que contém 5 posições. Imprima os seguintes dados de saída: vetor original,
endereços das posições de cada elemento e endereços das posições que possuem
conteúdos pares.

Você também pode gostar