Você está na página 1de 12

Gabarito

Questão 1
Sobre o comando switch-case, analise as afirmativas a seguir:
I- Caso nenhum dos valores seja encontrado, o comando default será executado.
II- Os comandos são executados até o ponto que o comando break for localizado;
III- No comando switch-case se a condição se for verdadeira, ela não exibirá nada
como resposta.
Agora, assinale a alternativa que apresenta a resposta CORRETA:

A)

Apenas as afirmativas I e II estão corretas;

B)

Apenas a afirmativa II está correta;

C)

Apenas as afirmativas II e III estão corretas;

D)

Apenas a afirmativa I está correta;

E)

As afirmativas I, II e III estão corretas.

Questão 2
_____________ é uma declaração de tipo de dados composta que define uma lista
fisicamente agrupada de variáveis. A ideia de utilizá-lo é permitir que, ao
armazenar os dados de uma mesma entidade, isto possa ser feito com uma única
variável.
Agora, assinale a alternativa que completa corretamente a lacuna:

A)

O vetor;

B)

A matriz;

C)
A struct;

D)

O booleano;

E)

O float;

Questão 3
Uma função pode receber parâmetros por valor ou por referência. No primeiro caso,
são criadas cópias das variáveis na memória e, nesse caso, o valor original não é
alterado. Para trabalhar com passagem por referência é preciso recorrer ao uso de
ponteiros, pois são variáveis especiais que armazenam endereços de memória.
Análise o código a seguir e escolha a opção que contém o que será impresso na
linha 11.
1. #include

2. int pensar (int* a, int* b) {


3. a = 10;
4. b = 20;
5. return 0;
6. }
7. int main () {
8. int a = -30;
9. int b = -40;
10. pensar (&a,&b);
11. printf("\n a = %d e b = %d",a,b);
12. return 0;
13. }

A)

a = -30 e b = 20.

B)

Apresenta erro de compilação.

C)

a = 10 e b = 20.

D)

a = -30 e b = -40.

E)
a = 10 e b = -40.

Questão 4
Sobre matrizes, analise as afirmativas e marque V para verdadeiro e F para falso:
( ) Em qualquer variável composta, o índice começa por zero, então, em uma
matriz, o primeiro espaço para armazenamento é sempre (0,0), ou seja, índice 0
tanto para linha como para coluna.
( ) Não é obrigatório que todas as posições sejam ocupadas, sendo possível
declarar uma matriz com 10 linhas e 10 colunas e usar somente uma.
( ) São arranjos de duas ou mais dimensões. Todos os elementos de uma matriz
são de tipos diferentes, armazenando informações semanticamente diferentes;
Agora, assinale a alternativa que apresenta a sequência CORRETA:

A)

F-V-V;

B)

V-V-V;

C)

F-V-F;

D)

F-F-F;

E)

V-V-F;

Questão 5
Dado um certo problema para ser resolvido por meio de um programa, a solução
pode ser implementada em blocos de funcionalidades, técnica essa conhecida como
dividir para conquistar. A aplicação dessa técnica em uma linguagem de
programação pode ser feita por meio de funções.
A respeito de funções, análise as afirmações a seguir:
I. Função tem como objetivo resolver parte de um problema maior. Um função
sempre deve retornar um valor para quem a chamou.
II. Uma função sempre precisa receber parâmetros, caso isso não ocorra, o
compilador irá relatar um erro.
III. Uma função pode ser invocada quantas vezes for necessário em um programa.
Escolha a alternativa que representa a resposta correta.

A)
Somente a afirmação I está correta.

B)

Somente a afirmação II e III estão corretas.

C)

Somente a afirmação III está correta.

D)

Somente a afirmação II está correta.

E)

Somente a afirmação I e II estão corretas.

Questão 6
Analise as afirmativas a seguir sobre as estruturas de dados pilha e fila:
I- Uma pilha é uma estrutura de dados do tipo LIFO, onde o primeiro elemento a
ser inserido, será o primeiro a ser retirado.
II- As filas são estruturas de dados do tipo FIFO (first-in first-out), adiciona-se itens
no fim e remove-se do início.
III- As principais funções da fila são push e pop;
Agora, assinale a alternativa que apresenta a resposta CORRETA:

A)

Apenas a afirmativa I está correta;

B)

As afirmativas I, II e III estão corretas.

C)

Apenas as afirmativas II e III estão corretas;

D)

Apenas as afirmativas I e II estão corretas;

E)

Apenas a afirmativa II está correta;


Questão 7
Analise o código do programa a seguir que utiliza uma função para calcular a soma
entre dois números.

Anexo - Consulte a imagem em melhor resolução no final do cadernos de questões.

Agora, analise as afirmativas sobre o código apresentado:


I- A função irá retornar um valor inteiro (int).
II- O valor que será apresentado decorrente da linha 8 será: 0;
III- A função somar está errada, pois toda função necessita de parâmetros.
Agora, assinale a alternativa que apresenta a resposta CORRETA:

A)

Apenas as afirmativas I e II estão corretas;

B)

Apenas as afirmativas I e III estão corretas;

C)

Apenas a afirmativa II está correta;

D)
Apenas a afirmativa I está correta;

E)

As afirmativas I, II e III estão corretas.

Questão 8
Em programação de computadores, desenvolvimento de software, uma palavra
reservada é utilizada em algumas linguagens de programação, não pode ser
utilizada como uma variável, por ser reservada para uso da programação/sistema.
Sabendo disso, assinale a alternativa que NÃO apresenta uma palavra reservada
da linguagem C;

A)

for;

B)

valor;

C)

void;

D)

float;

E)

int;

Questão 9
Analise a sintaxe utilizada para a criação de funções:
< tipo de retorno > < nome > (< parâmetros >) {
< Comandos da função >
< Retorno > ( )
}
Na declaração da função alguns elementos são obrigatórios e outros opcionais.
Sobre estes elementos, analise as afirmativas a seguir e marque V para verdadeiro
e F para falso.

( ) Os paramentos são opcionais;


( ) O tipo de retorno indica qual o tipo de valor a função irá retornar. Pode ser um
valor inteiro (int), decimal (float ou double), caractere (char), etc. Este é um
elemento obrigatório;
( ) O retorno só é opcional quando o tipo de retorno for void, caso contrário, este é
um elemento obrigatório.
Agora, assinale a alternativa que apresenta a sequência CORRETA:

A)

V-V-V;

B)

F-F-F;

C)

F-F-V;

D)

F-V-V;

E)

V-F-F;

Questão 10
Para criar uma função recursiva, a sintaxe nada difere das funções gerais, portanto
é necessário informar o tipo de retorno, o nome e se recebe ou não parâmetros. O
grande diferencial das funções recursivas e tradicionais é um comando no corpo da
função, que invoca a si própria. Analise o código a seguir e escolha a opção que
representa o que será impresso na linha 11.

1. #include
2. int somar (int valor) {
3. if (valor != 0) {
4. return valor + somar(valor - 1);
5. }
6. else{
7. return valor;
8. }
9. }
10. int main(){
11. printf("\n Resultado =%d",somar(6));
12. return 0;
13. }

Com base no contexto apresentado, assinale a alternativa correta.

A)
Resultado = 0.

B)

Resultado = 21.

C)

Resultado = 5.

D)

Resultado = 12.

E)

Resultado = 6.

Questão 11
Vetor é uma das estruturas que existe para o armazenamento de dados. Sua
utilização é vasta devido à facilidade em ler e escrever dados e à velocidade com
que as operações são realizadas, pois cada valor no vetor é armazenado
sequencialmente na memória.
Considere as afirmações sobre os vetores e escolha a opção correta.
I – O vetor é uma estrutura de dados dinâmica, ou seja, seu tamanho pode ser
redimensionado em tempo de execução.
II – Como o vetor é uma estrutura unidimensional, para acessar seus dados é
preciso somente um índice.
III – Uma das características dos vetores é que eles podem armazenar dados de
qualquer tipo.

A)

Somente as alternativas I e II estão corretas.

B)

Somente a alternativa II está correta.

C)

Somente a alternativa III está correta.

D)

Somente a alternativa I está correta.

E)
Somente as alternativas II e III estão corretas.

Questão 12
Analise as afirmativas a seguir sobre listas e struct:
I- Só é possível retirar um elemento da lista do seu final;
II- Para inserir e retirar um elemento da lista deve-se atualizar o valor do ponteiro;
III- A struct é uma variável que armazena valores de tipos diferentes;
Agora, assinale a alternativa que apresenta a resposta CORRETA:

A)

Apenas as afirmativas I e II estão corretas;

B)

Apenas a afirmativa II está incorreta;

C)

Apenas as afirmativas II e III estão corretas;

D)

Apenas a afirmativa I está correta;

E)

As afirmativas I, II e III estão corretas.

Questão 13
Funções são usadas para organizar o código, evitando a repetição de linhas de
comandos. Uma boa prática de programação é avaliar se um deter- minado trecho
precisa ser escrito mais de uma vez. Se a resposta for sim, então esse trecho deve
ser transformado em uma funcionalidade.
Avalie o código a seguir.
1. #include
2. int somar () {
3. return 2 + 3.23;
4. }
5. int main (){
6. int resultado = 0;
7. resultado = somar();
8. printf("O Rresultado da função é =%d",resultado);
9. return 0;
10. }
Com base no contexto apresentado, é correto afirmar que:
A)

Será impresso na tela "O resultado da funcao e = 5".

B)

Será dado um erro de execução, pois a função espera retornar um int, e está sendo
retornado um número real.

C)

Será impresso na tela "O resultado da funcao e = 3".

D)

Será impresso na tela "O resultado da funcao e = 5.23".

E)

Será impresso na tela "O resultado da funcao e = 2".

Questão 14
Sobre as variáveis do tipo composta, analise as afirmativas a seguir e marque V
para verdadeiro e F para falso:
( ) As structs são variáveis compostas heterogêneas, este tipo só pode armazenar
valores de um mesmo tipo.
( ) A criação de um vetor é similar a uma variável primitiva, tendo que acrescentar
apenas um número entre colchetes indicando qual será o tamanho desse vetor;
( ) Na linguagem C, a criação de uma struct deve ser feita antes da função
main( );
Agora, assinale a alternativa que apresenta a sequência CORRETA:

A)

F-V-V;

B)

V-F-F;

C)

V-V-V;

D)

F-F-F;
E)

F-F-V;

Questão 15
Sobre os tipos de variáveis, analise as afirmativas a seguir:
I- O tipo inteiro armazena os números inteiros (negativos ou positivos). Em
linguagem C é definida por "int";
II- O tipo real permite armazenar valores de pontos flutuantes e com frações. Em
linguagem C é definido por "float". Este tipo de variável não aceita valores
negativos.
III- O caractere caracteriza os caracteres, números e símbolos especiais. São
delimitadas por aspas simples (‘). Em linguagem C é definida por "char".
Agora, assinale a alternativa que apresenta a resposta CORRETA:

A)

Apenas as afirmativas I e II estão corretas;

B)

Apenas a afirmativa II está correta;

C)

As afirmativas I, II e III estão corretas.

D)

Apenas a afirmativa I está correta;

E)

Apenas as afirmativas I e III estão corretas;

Questão 16
___________________ é uma representação gráfica de algoritmos, esta
representação é útil para analisar o fluxo do programa. Já _________________ é
considerado uma ferramenta que pode auxiliar a programação, ela pode ser escrita
em palavras similares ao inglês ou ao português para facilitar a interpretação e
desenvolvimento de um programa, este tipo de representação busca uma estrutura
semelhante as utilizadas nas linguagens de programação.
Agora, assinale a alternativa que completa corretamente as lacunas:

A)

Fluxograma; a linguagem natural;


B)

Pseudocódigo; Pseudocódigo;

C)

Pseudocódigo; a linguagem natural;

D)

Linguagem natural; o fluxograma;

E)

Diagrama de fluxo; Pseudocódigo;

Você também pode gostar