Font size
WorksheetsPonteiros em C
Total questions: 24
Worksheet time: 1hrs 9mins
O que é um ponteiro na Linguagem C?
É o endereço de uma variável;
É a variável que armazena outra variável;
É um variável que armazena o endereço de outra variável;
É um endereço de uma outra variável;
O endereço de uma variável é dado pelo operador?
$
&
*
#
Um ponteiro pode ser utilizado de qual maneira?
Trabalha com o endereço armazenado no ponteiro;
Trabalha com a memória do ponteiro;
Trabalha com a área de memória pontada pelo ponteiro;
Trabalha com o endereço do ponteiro;
Uma variável input foi alocada no endereço de memória EFC200 e seu valor e 1250. Qual o valor de input?
EFC200
3250
2250
1250
Considerando a seguinte parte de um código em C:
int c = 34;
int *pc;
pc = &c
Sabendo-se que c se encontra no endereço de memória 500. Qual o conteúdo de pc?
34
500
534
100
O que fornece o operador de valor indireto - * - em C?
Fornece o valor da memoria;
Fornece o valor que está inserido naquela posição de memória;
Fornece o endereço da memória;
Fornece o endereço da posição de memória
Considerando o seguinte fragmento de código:
int *ponteiro;
int pont[3] = {1,2,3};
ponteiro = pont;
Qual o valor de *ponteiro?
1
2
Um endereço qualquer de memória
{1,2,3}
Considerando o seguinte frgmento de código:
int *pt;
int pon[3] = {100,200,300};
pt = pon;
Qual o valor de *pt+2?
100
200
300
{100,200,300}
Em um programa em C se
int a = 5;
Int *ptr = &a;
então o comando printf com
&a, a, *ptr , ptr
corresponde a:
endereço, valor, valor, endereço
endereço, valor,valor,valor
todos os endereços
todos os valores
Em um programa em C,
int a = 20;
*ptr = &a;
**dptr = &ptr;
printf ("%d", **dptr);
apresenta
Endereço de a
Endereço de ptr
Valor de a
Endereço de dptr
If ptr is a pointer variable pointing to an array, then
Se ptr é um ponteiro para um vetor, então
"printf("%d",*(ptr++)) ;"
mostrará :
Próximo endereço
Próximo índice do vetor
O valor da próxima localização do vetor
Erro em tempo de compilação
Qual será a saída do código abaixo
int i=10;
int *p;
p=&i;
i+=5;
printf("\n i=%d *p=%d", i,*p)
i=10, *p=10
i=10, *p=15
i=15, *p=15
i=15, *p=10
Seja o seguinte trecho de programa:
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
Qual é o valor da seguinte expressão?
p == &i;
true
false
3
4
Seja o seguinte trecho de programa:
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
Qual é o valor da seguinte expressão?
*p - *q
0
2
8
-2
Seja o seguinte trecho de programa:
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
Qual é o valor da seguinte expressão?
**&p
5
3
8
2
Seja o seguinte trecho de programa:
int i=3,j=5;
int *p, *q;
p = &i;
q = &j;
Qual é o valor da seguinte expressão?
3* - *p/(*q)+7
21
12
6
34
Qual o valor de i após a execução trecho de código abaixo?
int i = 17;
int *p = &i;
*p = 98;
98
17
81
0
O ____, conhecido como o endereço de um operador, retorna o endereço de um variável.
asterisco(* )
e comercial ( & )
porcentagem ( % )
exclamação ( ! )
O que o comando abaixo faz?
double *num2;
Declara um variável double com o nome num2
Declara e inicializa um ponteiros com o nome num2
Inicializa um ponteiro com o nome num2
Declara um ponteiro com o nome num2
Selecione e opção correta para declarar um ponteiro
int* ptr;
int * ptr;
int*ptr;
todas acima
Qual será a saida do código abaixo?
#include <stdio.h>
void main()
{
int k = 5;
int *p = &k;
int **m = &p;
printf("%d%d%d\n", k, *p, **m);
}
5 5 5
5 5 lixo valor
5 lixo lixo
Erro em tempo de execução
Qual será a saída do código abaixo?
#include <stdio.h>
void main()
{
int a[3] = {1, 2, 3};
int *p = a;
int **r = &p;
printf("%p %p", *r, a);
}
Endereço diferente é impresso
1 2
O mesmo endereço é impresso
1 1
Qual será a saída do programa em C abaixo?
#include <stdio.h>
int main()
{
int a = 1, b = 2, c = 3;
int *ptr1 = &a, *ptr2 = &b, *ptr3 = &c;
int **sptr = &ptr1; //-Ref
*sptr = ptr2;
}
ptr1 aponta para a
ptr1 aponta para b
sptr aponta para ptr2
nenhum dos mencionados
Qual a saída do código abaixo:
#include <stdio.h>
int main()
{
int *p;
int a=20;
p=&a;
int **q;
**q=100;
q=&p;
*p=50;
printf("%d,%d,%d",**q,a,*p);
return 0;
}
50,50,50
20,20,50
100,50,20
100,20,50
