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)+++*pj; 

     
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 da EE/UFMG - 1996 - 2000