Auto-avaliação on-line: aulas 5 e 6



Responda as perguntas abaixo, escolhendo a alternativa adequada para cada questão. Ao terminar, aperte o botão "Verifica  nota" no final do formulário. Você pode fazer quantas tentativas quiser até atingir a nota 100. Se quiser recomeçar, basta apertar o botão "Limpa" no final do formulário.

1- Seja um vetor declarado por

        int vet[10];

    Qual elemento deste vetor é acessado quando se escreve vet[2] ?

     

    a.  Primeiro elemento 
    b.  Segundo elemento 
    c.  Terceiro elemento 
    d.  Quarto elemento 
    e.  Nenhuma das opções anteriores 

     

2- Se declararmos um vetor como:

    int vet[30]

    a instrução abaixo acessa corretamente os elementos deste vetor?

    for (j=0; j <= 30; j++)
      vet[j] = j*j;

     

    a.  Sim
    b.  Não 

     

3- Seja a matriz matrx declarada e inicializada por:

    int matrx[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

O que conterá o elemento matrx[1][2] ?

     

    a.  2
    b. 
    c. 
    d. 
    e.  Nenhuma das opções anteriores 

     

4- Se uma string for declarada como:

    char str[20];

o número máximo de caracteres que poderão ser lidos e armazenados nela é:

     

    a.  18 
    b.  19 
    c.  20
    d.  21 

     

5- Qual função pode ser usada para determinar o comprimento de uma string?

     

    a.  gets
    b.  strcpy
    c. strcat
    d. strlen
    e. strcmp

     

6- Qual das instruções abaixo é correta para declarar um ponteiro para inteiro?

     

    a.  *int pti; 
    b.  *pti;
    c.  &i; 
    d.  int_pti pti; 
    e.  int *pti; 

     

7-  Seja a seguinte seqüência de instruções em um programa C:

    int *pti;
    int i = 10;
    pti = &i;

    Qual afirmativa é falsa?

     

    a.  pti armazena o endereço de i 
    b.  *pti é igual a 10 
    c.  ao se executar *pti = 20; i passará a ter o valor 20
    d.  ao se alterar o valor de i, *pti será modificado
    e.  pti é igual a 10

     

8- Se i e j são variáveis inteiras e pi e pj são ponteiros para inteiro, qual atribuição é ilegal?

     

    a.  pi = &i; 
    b.  *pj = &j; 
    c.  pj = &*&j; 
    d.  i = *&*&j; 
    e.  i = (*pi)+++*q; 

     

9- Seja a seguinte seqüência de instruções em um programa C:

        int *pti;
        int veti[]={10,7,2,6,3};
        pti = veti;

Qual afirmativa é falsa?

     

    a.  *pti é igual a 10 
    b.  *(pti+2) é igual a 2 
    c.  pti[4] é igual a 3
    d.  pti[1] é igual a 10 
    e.  *(veti+3) é igual a 6

     

10- Na seqüência de instruções abaixo:

    float f;
    float *pf;
    pf = &f;
    scanf("%f", pf);

     

    a.  Efetuamos a leitura de f
    b.  Não efetuamos a leitura de f
    c.  Temos um erro de sintaxe 
    d.  Deveríamos estar usando &pf no scanf 
    e.  Nenhuma das opções anteriores 

     

11- Seja a seguinte seqüência de instruções

    int i=10, j=20;
    int *pti, *ptj;
    pti = &i;
    ptj = &j;

Qual expressão não é válida?

    a.  j = pti == ptj;
    b.  i = pti-ptj; 
    c.  pti += ptj;
    d.  pti++; 
    e.  i = pti || ptj; 

     

12- Seja a declaração:

    int matr[][4] = {1,2,3,4,5,6,7,8,9,10,11,12}

Qual afirmativa é falsa?

    a.  **matr é igual a 1
    b.  *(*(matr+1)+2) é igual a 7 
    c.  *(matr[2]+3) é igual a 12
    d.  (*(matr+2))[2] é igual a 11
    e.  *((*matr)+1) é igual a 5

Sua nota é: em um máximo de 100.

 

Página Anterior Índice da Aula


Curso de C do CPDEE/UFMG - 1996 - 1999