Buscar

Lista de exercícios structs, unions, enums e ponteiros

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

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
Você viu 3, do total de 3 páginas

Prévia do material em texto

Universidade Federal do Ceará 
Centro de Ciências 
Departamento de Computação 
Disciplina: Programação aplicada à engenharia 
Professor: Ítalo Linhares 
 
 
Lista de Exercícios de Revisão 
 
1. Defina uma estrutura que irá representar bandas de música. 
Essa estrutura deve ter o nome da banda, que tipo de música ela toca, o número de 
integrantes e em que posição do ranking essa banda está dentre as suas 5 bandas 
favoritas. 
a. Crie um looping para preencher as 5 estruturas de bandas criadas no exemplo 
passado. Após criar e preencher, exiba todas as informações das 
bandas/estruturas. 
b. Crie uma função em C que peça ao usuário um tipo de música e exiba as 
bandas com esse tipo de música no seu ranking. Que função da string.h você 
usaria para comparar as strings que representam o tipo de banda? 
2. Utilizando estrutura, fazer um programa em C que permita a entrada de nome, 
endereço e telefone de 5 pessoas e os imprima em ordem alfabética. 
3. Utilizando a estrutura da questão anterior, acrescente informações como matrícula, 
IRA se a pessoa cadastrada for um aluno, código do cargo, cargo, data da contratação, 
salário para um funcionário e se for um professor, tem uma estrutura com dados 
iguais ao do funcionário acrescentando a área de atuação e titulação. 
4. Ainda utilizando a estrutura anterior, crie enumerações para os cargos e os meses do 
ano. 
5. Crie uma estrutura representando os alunos do curso de Programação aplicada para 
Engenharia. A estrutura deve conter a matrícula do aluno, nome, nota da primeira 
prova, nota da segunda prova e nota da terceira prova. 
a. Permita ao usuário entrar com os dados de 5 alunos. 
b. Encontre o aluno com maior nota da primeira prova. 
c. Encontre o aluno com maior média geral. 
d. Encontre o aluno com menor média geral. 
e. Para cada aluno diga se ele foi aprovado ou reprovado, considerando o valor 7 
para aprovação. 
6. Considere a função zera a seguir e responda o que se pede. 
void zera (int a[], int n) { 
 int i; 
 for (i = 0; i < n; i++) 
 a[i] = 0; 
} 
O que acontece em cada chamada da função abaixo? Suponha int x[100]. Suponha 
também que o vetor x foi inicializado anteriormente. 
 
a) zera(x,50); 
b) zera(&x[50], 50); 
c) zera(x + 50, 50); 
d) zera(&y[15], 10); 
e) zera(y + 15, 10); 
7. Faça uma função que receba como parâmetros, passando por referência o valor do 
salário de um funcionário e passando por valor o valor da 
porcentagem do reajuste do salário. Utilize a seguinte declaração da função: 
void reajuste (float *salario, float porcentagem). 
8. Faça uma função chamada primo que recebe como parâmetro um inteiro m e dois 
outros inteiros p1 e p2 passados por referência. A função deve retornar em p1 o maior 
número primo que é menor do que m e deve retornar em p2 o menor número primo 
que é maior do que m. 
9. Determine o valor especificado em cada item abaixo considerando que foi executado 
as seguintes instruções (assuma que o endereço de x é 100 e de y é 104): 
int x = 10, y=20; 
int* p1; 
int* p2; p1 = &x; 
p2 = &y; 
(*p1)++; 
 
(a) x 
(b) y 
(c) &x 
(d) &y 
(e) p1 
(f) p2 
(g) *p1 + *p2 
(h) *(&x) 
(i) &(*p2) 
10. Faça uma função chamada media que recebe um vetor de double, um inteiro n que 
indica o tamanho do vetor, e um inteiro i passado por referência. A função deve 
retornar a média dos n elementos no vetor e no inteiro i, passado por referência, deve 
retornar a posição do elemento que tem o valor mais próximo da média. 
Cabeçalho: double media(double vet[], int *i);. 
11. Qual o resultado de s em cada um dos laços? 
#include <stdio.h> 
#define MAX 100 
int main (){ 
 int a[MAX]; 
 int i, s = 0; 
 int *p; 
 
 for(i = 0; i < Max; i++){ 
 scanf(“%d”, &a[i]); 
} // fim do for 
 
for (p = a; p < &a[MAX]; ++p) s += *p; 
for (i = 0, s = 0; i < MAX; ++i) s += *(a+i); 
for (i = 0, s =0, p = a; i < MAX; ++i) s += p[i]; 
 
 return 0; 
}

Continue navegando