1) Escreva um programa que contenha duas variáveis inteiras. Leia essas variáveis do teclado.
Em
seguida, exiba os endereços das variáveis.
3) Faça um programa que leia 2 valores inteiros e chame uma função que receba estas 2 variáveis e
troque os seus conteúdo, ou seja, esta função é chamada passando por referência as duas variáveis.
4) Crie um programa que contenha um array de float com 10 elementos. Imprima o endereço de
cada posição desse array.
5) Crie um programa que contenha uma matriz de float contendo 3 linhas e 3 colunas. Imprima o
endereço de cada posição dessa matriz.
6) Faça um programa que leia três valores inteiros e chame uma função que receba estes 3 valores
de entrada e retorne eles ordenados, ou seja, o menor valor na primeira variável, o segundo menor
valor na variável do meio, e o maior valor na última variável. Exibir os valores ordenados na tela.
7) Implemente uma função que receba como parâmetro três variáveis float e retorne quantos
números negativos há. Essa função deve obedecer ao protótipo:
int negativos(float *n1, float *n2, float n3);
8) Qual saída do código abaixo?
#include <stdio.h>
int main()
{
int valor = 27;
int *ptr;
ptr = &valor;
printf("Utilizando ponteiros\n\n");
printf (" valor: %d\n", valor);
printf ("valor: %d \n", &valor);
printf (" %d", ptr);
return(0);
}
9) Explique a diferença entre cada um dos Exemplos abaixo:
Exemplo 0
#include <stdio.h>
#include <stdlib.h>
void teste(int n1)
{
n1=10;
printf(" \n Valor de n1 na função %d",n1);
}
int main()
{
int n1;
printf("\n Informe um valor\n");
scanf("%d",&n1);
teste(n1);
printf(" \n \n Valor de n1 no main %d",n1);
return 0;
}
Exemplo 1
#include <stdio.h>
#include <stdlib.h>
int teste(int n1)
{
n1=10;
printf(" \n Valor de n1 na função %d",n1);
return n1;
int main()
{
int n1;
printf("\n Informe um valor\n");
scanf("%d",&n1);
n1=teste(n1);
printf(" \n \n Valor de n1 no main %d",n1);
return 0;
}
Exemplo 2
#include <stdio.h>
#include <stdlib.h>
void teste(int n1[])
{
int i;
for(i=0;i<3;i++)
{
n1[i]=10;
}
for(i=0;i<3;i++)
{
printf(" \n Valor de n1 na funcao %d",n1[i]);
}
}
int main()
{
int n1[3],i;
for(i=0;i<3;i++)
{
printf("\n Informe um valor\n");
scanf("%d",&n1[i]);
}
teste(n1);
printf(" \n \n");
for(i=0;i<3;i++)
{
printf(" \n Valor de n1 no main %d",n1[i]);
}
return 0;
}
Exemplo 3
#include <stdio.h>
#include <stdlib.h>
void teste(int *n1)
{
*n1=10;
n2=90;
/**n1 = ((*n1) * (*n1));*/
printf(" \n Valor de n1 na função %d",*n1);
}
int main()
{
int n1;
printf("\n Informe um valor\n");
scanf("%d",&n1);
teste(&n1);
printf(" \n \n Valor de n1 no main %d",n1);
return 0;
}
10) Qual a saída do código abaixo:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,*c;
a=3;
b=4;
c=&a;
b++;
*c=a+2;
printf("\n\n a=>%d, b=>%d",a,b);
return 0;
}
11) Faça um programa que receba o total de faltas e as duas notas de um aluno, chame uma função
que receba por cópia a quantidade de faltas e por referência as duas notas informadas. A função
deverá dar dois pontos a mais em cada nota para o aluno caso sua quantidade de faltas for abaixo de
5. Na função principal deverá dizer se o aluno foi aprovado (Media > 6) ou reprovado (Media < 6).
12) Desenvolva um programa em C para ser utilizado pelos funcionários de uma Agência de
Turismo para cadastro e consulta dos dados dos pacotes de viagem de turismo vendidos pela
agência.
· O programa principal (main) deverá chamar uma Procedure que monte a
seguinte tela padrão:
CEFET TURISMO
PROGRAMA PARA CONTROLE DE VIAGENS
· O programa principal deverá solicitar o nome do usuário e a sua senha. E chamar uma
função para validar a senha.
A função de validação de senha deverá retornar para o programa principal o número 0 para
usuário inválido e 1 para usuário válido (usuário: gustavo, senha : obrigado). Caso a senha
for inválida, o programa principal deverá imprimir em tela a mensagem SENHA
INVÁLIDA e sair do programa.
Caso a senha for válida, o programa principal deverá apresentar na tela o seguinte MENU
de opções:
CEFET TURISMO
1 – Cadastrar UM novo Pacote de Viagem de Turismo
2 – Consultar dados de todos os Pacotes de viagem de turismo
3 – Alterar Senha do Usuário
4 – Sair
INFORME O NÚMERO DA OPÇÃO DESEJADA
· Caso o usuário escolha a opção 1 – Cadastrar UM novo Pacote de Viagem de Turismo, o
programa principal, deverá chamar uma função sem retorno, para cadastrar em um VETOR
DE ESTRUTURA o código do Pacote (int), o nome da cidade destino (Cidade / País) (char),
e o valor do Pacote de viagem (float).
Sabendo-se que a CEFET TURISMO poderá cadastrar apenas 11 Pacotes de viagem
de turismos.
ATENÇÃO PARA ARMAZENAR NA POSIÇÃOVAZIA DO VETOR.
· Caso o usuário escolha a opção 2 – Consultar dados de todos os Pacotes de viagem de
turismo, o programa principal deverá chamar uma Procedure passando por referência a
Struct edeverá apresentar todos os dados em tela.
· Caso o usuário escolha a opção 3 – Alterar Senha do Usuário, o programa principal deverá
chamar uma Função que receberá por cópia o nome do usuário e por referência a senha atual
e dará opção para o usuário alterar a senha.