Buscar

Lista Programação I - Strings

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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.

Continue navegando