3º teste-tipo de LPI

Este teste contém 8 questões.
Cada questão vale 1 valor.
Respostas incorrectas descontam 25% de uma resposta correcta.
Respostas em branco não descontam.
Para cada questão há apenas uma resposta correcta.
No caso de haver mais do que uma resposta correcta, deve assinalar-se uma resposta do tipo: todas as anteriores; ou a primeira e a terceira alíneas estão correctas.

1 Considere as instruções seguintes.
struct data { int dia, mes, ano;} hoje;
int dia;
Seleccione a instrução válida.
dia.hoje = dia;    
hoje.dia = dia;    
dia->hoje = dia;    
hoje->dia = dia;    
    


2 Considere as instruções seguintes.
struct data { int dia, mes, ano;} *hoje;
int dia;
Seleccione a instrução válida.
dia.hoje = dia;    
hoje.dia = dia;    
dia = dia->hoje;    
dia = hoje->dia;    
    


3 Qual das seguintes instruções é inválida?
aluno.numero = 20031415;    
aluno.nome = "José Silva";    
aluno->numero = 20031415;    
Todas as anteriores.    
    


4 Seleccione a expressão equivalente a aluno->nome
aluno.(*nome)    
(*aluno).nome    
(&aluno).nome    
aluno.(&nome)    
    


5 Indique o significado da expressão "++p->x"
incrementa p antes de aceder à variável x apontada por p    
incrementa a variável x apontada por p depois de a usar    
acede ao que estiver a ser apontado pela variável x apontada por p    
Nenhum dos anteriores    
    


6 Considere a função seguinte e seleccione a afirmação verdadeira
inutil(void){}
A função devolve void    
A função devolve int    
Não se pode saber o tipo que a função devolve    
Nenhuma das anteriores    
    


7 Qual das seguintes instruções declara um apontador para função?
int (*pf)();    
int *pf();    
int *pf[];    
int (*pf)[];    
    


8 Considere as instruções:
int func();
int (*pf)();
Seleccione a instrução válida
pf = func();    
func = pf;    
pf = func;    
pf = &func();    
    



 

1 2 3 4 5 6 7 8

Por favor, confirme as respostas antes de premir o botão abaixo.