Você está na página 1de 2

 1.

Qual é a instrução que deve ser adicionada ao programa seguinte para que ele trabalhe 
corretamente? 
main ( ) {
int j, *pj;
// aqui entra seu código
*pj = 3;
}

 a) pj = null;
 b) pj = j;
 c) *pj = &j;
 d) pj = &j;

pj = &j, ou seja, o ponteiro pj recebe o endereço da variável pj.
 2. Dadas as declarações abaixo; qual é o valor dos itens, preencha o quadro ao final da 
execução do programa. 

main ( ) {
int x = 10, *px = &x, **ppx = &x;
float y = 5.9, *py = &y, **ppy = &py;
}

x y px py ppx ppy
10 5,9 FFA0 FFB4 FFA0 FFB4
FFA0 FFB4 FFF0 FFC6 FFA6 FFD4

 3. Qual será a saída deste programa supondo que i ocupa o endereço 4094 na memória?
main() {
int i=5, *p;
p = &i;
printf(“%x %d %d %d %d \n”, p,*p+2,**&p,3**p,**&p+4);
}
4094 7  5  15  9 

 4. Qual é o resultado do seguinte programa ? 
#include <conio.h>
#include <stdio.h>
void main(){
float vet[5] = {1.1,2.2,3.3,4.4,5.5};
float *f;
int i;
f = vet;
for(i = 0 ; i <= 4 ; i++){
printf("\ni = %d",i);
printf(" vet[%d] = %.1f",i, vet[i]);
printf(" *(f + %d) = %.1f",i, *(f+i));
printf(" &vet[%d] = %X",i, &vet[i]);
printf(" (f + %d) = %X",i, f+i);
}
}
i = 0   vet[0] = 1.1   *(f + 0) = 1.1   &vet[0] = BF8DFD68   (f + 0) = BF8DFD68 
i = 1   vet[1] = 2.2   *(f + 1) = 2.2   &vet[1] = BF8DFD6C   (f + 1) = BF8DFD6C 
i = 2   vet[2] = 3.3   *(f + 2) = 3.3   &vet[2] = BF8DFD70   (f + 2) = BF8DFD70 
i = 3   vet[3] = 4.4   *(f + 3) = 4.4   &vet[3] = BF8DFD74   (f + 3) = BF8DFD74 
i = 4   vet[4] = 5.5   *(f + 4) = 5.5   &vet[4] = BF8DFD78   (f + 4) = BF8DFD78

 5. Assumindo que pulo[] é um vetor do tipo int, quais das seguintes expressões referenciam o 
valor do terceiro elemento da matriz?

 a) *(pulo + 2)
 b) *(pulo + 4)
 c) pulo + 4
 d) pulo + 2

 6. O que faz o seguinte programa quando executado ? 
#include <conio.h>
#include <stdio.h>
void main() {
int vet[] = {4,9,12};
int i,*ptr;
ptr = vet;
for(i = 0 ; i < 3 ; i++) {
printf("%d ",*ptr++);
}
}
4 9 12 

 7. O que faz o seguinte programa quando executado ? 
#include <stdio.h>
void main() {
int vet[] = {4,9,12};
int i,*ptr;
ptr = vet;
for(i = 0 ; i < 3 ; i++) {
printf("%d ",(*ptr)++);
}
}

4 5 6
Incrementa o 4 (na posicao 0) e apresenta