Prévia do material em texto
APOL 01 02 – LINGUAGEM DE PROGRAMAÇÃO
Questão 1/10 - Linguagem de Programação
Suponha que em um trecho de código, possuímos um vetor de inteiros denominado “v” que contêm N
elementos. O objetivo do código é inverter a ordem dos elementos desse vetor.
Nesse cenário, assinale qual das opções a seguir apresenta uma implementação correta para essa operação:
A
B
Você assinalou essa alternativa (B)
C
D
Questão 2/10 - Linguagem de Programação
Na manipulação de valores, a linguagem de programação C fornece suporte para a criação de variáveis e
constantes. No caso da constante, apesar de também armazenar valores, seu funcionamento atua de maneira
oposta a uma variável, pois o valor atribuído não pode ser alterado durante a execução de um programa.
Sendo assim, no momento da declaração de uma constante a atribuição do valor é obrigatória.
Em uma implementação, considere que a constante PI irá armazenar um valor fixo (3.1415) e escolha a
instrução correta para realizar tal tarefa.
A VALOR_PI = 3.1415;
B sizeof(PI);
C #include PI 3.1415
D
#define PI 3.1415
Você assinalou essa alternativa (D)
E int PI = 3.1415;
Questão 3/10 - Linguagem de Programação
Avalie o código desenvolvido em linguagem C, sabendo que o objetivo é apresentar as notas armazenadas
em cada posição do vetor. Considerando essa informação, assinale qual das alternativas melhor descreve o
resultado ao executar o código apresentado:
A Apresentação dos valores 3.50, 7.50, 9.20, 6.80 e um valor indefinido após o último valor.
B
Apresentação de um valor indefinido após o primeiro valor, sem a apresentação dos demais valores do
vetor.
C
Apresentação dos valores 3.5, 7.5, 9.2, 6.8, 0.0 e um valor indefinido após o último valor.
Você assinalou essa alternativa (C)
D Apresentação de um erro de compilação, impedindo a execução do código.
E Apresentação dos valores 3.5, 7.5, 9.2 e 6.8.
Questão 4/10 - Linguagem de Programação
Em linguagem de programação, muitas vezes é necessário realizar o agrupamento e organização de dados.
Para essas situações, a linguagem C fornece alguns recursos tais como: vetores, matrizes, struct, union, entre
outros.
Assinale a alternativa correta que apresenta a definição correta de uma struct na linguagem C:
A Um comando que permite a criação de variáveis globais na linguagem C.
B
Um tipo de dado que define uma coleção de variáveis relacionadas com tipos diferentes.
Você assinalou essa alternativa (B)
C Um tipo de variável que pode armazenar um único valor de qualquer tipo
D
Uma estrutura de controle que permite executar uma ação repetidamente até que uma condição seja
satisfeita.
E Uma função que permite armazenar vários valores de diferentes tipos em uma única variável.
Questão 5/10 - Linguagem de Programação
Dentre as estruturas de decisão condicional oferecidas pela linguagem de programação C, existe o operador
ternário que permite contemplar em uma única linha de instrução uma condição composta, eliminando assim
o excesso de linhas e enxugando o código. Avalie o trecho de código a seguir e identifique a alternativa que
apresenta, após a execução do código, o resultado correto de cada uma das variáveis envolvidas:
A
a = 23, b = 47 e c = 70
Você assinalou essa alternativa (A)
B a = 23, b = 23 e c = 59
C Retornará um erro sintático do operador ternário
D a = 23, b = 23 e c = 12
E a = 23, b = 47 e c = 12
Questão 6/10 - Linguagem de Programação
A linguagem C é uma das mais utilizadas em sistemas e aplicações de baixo nível, como sistemas
operacionais e drivers. Quando trabalhamos com vetores em C, temos a possibilidade de atribuir valores a
eles e realizar diversas operações.
Nesse contexto, qual das seguintes alternativas é uma forma correta de atribuir valores a um vetor de inteiros
em C?
A int numeros[5]; = “1, 2, 3, 4, 5”;
B int numeros[5]; = ‘1’, ‘2’, ‘3’, ‘4’, ‘5’;
C int numeros[5] = 1, 2, 3, 4, 5;
D
int numeros[5] = {1, 2, 3, 4, 5};
Você assinalou essa alternativa (D)
E int numeros[5] = (1, 2, 3, 4, 5);
Questão 9/10 - Linguagem de Programação
Em linguagem C, a função SIZEOF() possui a funcionalidade de retornar o tamanho em bytes equivalente a
um único parâmetro informado, podendo ser aplicado em qualquer elemento que, de alguma forma, seja
alocado na memória. E, dessa forma, é possível ser aplicado em estruturas heterogêneas.
Baseado no protótipo de struct apresentado a seguir.
Qual é a forma correta de utilizar a função SIZEOF() para determinar o tamanho de uma struct chamada
“cadCliente” que contém os campos, “id”, “nome” e “endereco”?
A sizeof(cliente.nome);
B sizeof(cadCliente.cliente);
C sizeof(struct Cliente);
D sizeof(cadCliente);
E
sizeof(cliente);
Você assinalou essa alternativa (E)
Questão 10/10 - Linguagem de Programação
Considere que estamos desenvolvendo um programa em linguagem C para gerenciar uma biblioteca de
livros. Nesse programa, será necessário armazenar diversas informações sobre cada livro, como título, autor,
editora, ano de publicação, número de páginas, entre outras. Para realizar essa tarefa, decidimos fazer uso da
estrutura de dados struct. Ocorre que o funcionário da empresa ao verificar a base de dados já existente,
detectou algumas discrepâncias em alguns registros e solicitou que os dados sejam devidamente corrigidos.
Baseado na struct a seguir, assinale a alternativa correta que apresenta o trecho de código que realiza de
forma adequada as seguintes atribuições: “Umberto Eco” para o autor e o valor 37.50 para o preço:
A
B
C
Você assinalou essa alternativa (C)
D
E
Questão 1/10 - Linguagem de Programação
Na implementação de algumas soluções, o desenvolvedor se deparará com a necessidade da execução de
trechos de código de forma repetida até que uma condição seja satisfeita. Para esses casos, usamos as
estruturas de repetição, também chamadas de laços.
Analisando as alternativas a seguir, identifique a diferença ao optar pelos comandos DO{...}WHILE(); ou
WHILE(){...}:
A
O comando DO{...}WHILE(); é uma estrutura de repetição, enquanto o WHILE(){...} não é considerado
uma estrutura de repetição na linguagem de programação C.
B
O DO{...}WHILE(); encerra após executar suas instruções uma vez e, no caso do WHILE(){...} as
instruções serão executadas até a condição ser satisfeita.
C
O DO{...}WHILE(); terá suas instruções executadas no mínimo uma vez e, no caso do WHILE(){...} as
instruções poderão não ser executadas, caso a condição não seja satisfeita.
Você assinalou essa alternativa (C)
D
O DO{...}WHILE(); executa as instruções até a condição ser satisfeita e, no caso do WHILE(){...}
necessita do uso do comando break para encerrar a repetição.
E As duas estruturas de repetição possuem funcionamento idêntico.
Questão 2/10 - Linguagem de Programação
Na manipulação de valores, a linguagem de programação C fornece suporte para a criação de variáveis e
constantes. No caso da constante, apesar de também armazenar valores, seu funcionamento atua de maneira
oposta a uma variável, pois o valor atribuído não pode ser alterado durante a execução de um programa.
Sendo assim, no momento da declaração de uma constante a atribuição do valor é obrigatória.
Em uma implementação, considere que a constante PI irá armazenar um valor fixo (3.1415) e escolha a
instrução correta para realizar tal tarefa.
A VALOR_PI = 3.1415;
B sizeof(PI);
C #include PI 3.1415
D
#define PI 3.1415
Você assinalou essa alternativa (D)
E int PI = 3.1415;
Questão 3/10 - Linguagem de Programação
Considere a implementação de um programa em C que deve armazenar informações sobre produtos e
vendas em estruturas de dados. Para tanto, foram definidas as estruturas “produto” e “venda” da seguinte
forma:
Baseado nas structs apresentadas e considerandoque já existem dados armazenados, qual seria a forma
correta para apresentar em uma única linha, o código da venda, o nome do produto, a quantidade vendida e o
total da venda? Assinale a alternativa que apresenta a solução correta.
A
B
Você assinalou essa alternativa (B)
C
D
E
Questão 4/10 - Linguagem de Programação
A função SCANF() permite que os dados sejam lidos a partir da entrada padrão (geralmente o teclado) e
armazenados em variáveis. Analise o trecho de código a seguir assinalando a alternativa correta:
A A função SCANF() não suporta a leitura de strings.
B
O vetor “passageiro” será preenchido com uma string sem espaços.
Você assinalou essa alternativa (B
C Falta a declaração do operador de endereço (&) antes da variável “passageiro”.
D Necessário incluir o tamanho máximo da string a ser lida.
E A função SCANF() não suporta a leitura de vetores.
Questão 5/10 - Linguagem de Programação
A linguagem de programação C fornece suporte para apresentação de informações no terminal/console,
sendo um dos comandos que realizam essa tarefa a função PRINTF().
Considere o código apresentado (executado em condições ideais) e avalie o resultado obtido por meio da
aplicação da função PRINTF(), assinalando a alternativa correta:
A \nNúmero 7 elevado ao quadrado: 14 \n
B
Número 7 elevado ao quadrado: 49
Você assinalou essa alternativa (B)
C Número %d elevado ao quadrado: %d
D Número 7 elevado ao quadrado: 14
E \nNúmero 7 elevado ao quadrado: 49 \n
Questão 6/10 - Linguagem de Programação
Dentre as estruturas de decisão condicional oferecidas pela linguagem de programação C, existe o operador
ternário que permite contemplar em uma única linha de instrução uma condição composta, eliminando assim
o excesso de linhas e enxugando o código. Avalie o trecho de código a seguir e identifique a alternativa que
apresenta, após a execução do código, o resultado correto de cada uma das variáveis envolvidas:
A
a = 23, b = 47 e c = 70
Você assinalou essa alternativa (A)
B a = 23, b = 23 e c = 59
C Retornará um erro sintático do operador ternário
D a = 23, b = 23 e c = 12
E a = 23, b = 47 e c = 12
Questão 7/10 - Linguagem de Programação
Suponha que em um trecho de código, possuímos um vetor de inteiros denominado “v” que contêm N
elementos. O objetivo do código é inverter a ordem dos elementos desse vetor.
Nesse cenário, assinale qual das opções a seguir apresenta uma implementação correta para essa operação:
A
B
Você assinalou essa alternativa (B)
C
D
Questão 8/10 - Linguagem de Programação
Avalie o código desenvolvido em linguagem C, sabendo que o objetivo é apresentar as notas armazenadas
em cada posição do vetor. Considerando essa informação, assinale qual das alternativas melhor descreve o
resultado ao executar o código apresentado:
A Apresentação dos valores 3.50, 7.50, 9.20, 6.80 e um valor indefinido após o último valor.
B
Apresentação de um valor indefinido após o primeiro valor, sem a apresentação dos demais valores do
vetor.
C
Apresentação dos valores 3.5, 7.5, 9.2, 6.8, 0.0 e um valor indefinido após o último valor.
Você assinalou essa alternativa (C)
D Apresentação de um erro de compilação, impedindo a execução do código.
E Apresentação dos valores 3.5, 7.5, 9.2 e 6.8.
Questão 9/10 - Linguagem de Programação
Em linguagem de programação, muitas vezes é necessário realizar o agrupamento e organização de dados.
Para essas situações, a linguagem C fornece alguns recursos tais como: vetores, matrizes, struct, union, entre
outros.
Assinale a alternativa correta que apresenta a definição correta de uma struct na linguagem C:
A Um comando que permite a criação de variáveis globais na linguagem C.
B
Um tipo de dado que define uma coleção de variáveis relacionadas com tipos diferentes.
Você assinalou essa alternativa (B)
C Um tipo de variável que pode armazenar um único valor de qualquer tipo.
D
Uma estrutura de controle que permite executar uma ação repetidamente até que uma condição seja
satisfeita.
E Uma função que permite armazenar vários valores de diferentes tipos em uma única variável.
Questão 10/10 - Linguagem de Programação
Em linguagem C, uma string é uma sequência de caracteres manipuladas como vetores de caracteres. Como
as strings em C não são um tipo de dado nativo da linguagem, utilizamos o tipo de dado CHAR. Analise a
declaração da string a seguir e assinale a alternativa correta para exibição do seu conteúdo:
A printf("%c", amigos);
B
printf("%s", amigos);
Você assinalou essa alternativa (B)
C printf("%s", &amigos);
D printf("amigos");
E É obrigatório implementar uma estrutura de repetição para ler o conteúdo de cada índice do vetor.
Questão 1/10 - Linguagem de Programação
Como em outras linguagens, existem situações que precisamos converter um valor de um tipo de dado para
outro. Nesse caso, a linguagem C fornece suporte com funções específicas que realizam tal atividade. Nesse
contexto, considere o código C a seguir:
Avaliando as alternativas, assinale quais serão os valores apresentados após a sua execução bem-sucedida:
A O programa não irá compilar, devido a um erro na declaração de variáveis.
B 42 e 42
C 42.000000 e 42.000000
D 0.000000 e 0
E 42.000000 e 42
Você assinalou essa alternativa (E)
Questão 2/10 - Linguagem de Programação
A manipulação de múltiplos arquivos é uma abordagem bastante comum em projetos de software maiores e
mais complexos, em que é necessário dividir o código em módulos menores e independentes para facilitar a
manutenção e a extensão do programa. Além disso, a compilação separada permite que diferentes partes do
código sejam trabalhadas em paralelo por diferentes membros da equipe de desenvolvimento, o que pode
aumentar a eficiência e a produtividade do projeto. Considerando esse contexto, analise os seguintes códigos
em C:
Qual é o objetivo do arquivo sum.h nesse exemplo?
A Definir a implementação da função sum().
B Incluir o arquivo sum.c no código fonte.
C
Definir o cabeçalho da função sum().
Você assinalou essa alternativa (C)
D Incluir a biblioteca padrão de entrada e saída de dados.
E Incluir o arquivo main.c no código fonte.
Questão 3/10 - Linguagem de Programação
Considere o código desenvolvido em linguagem C apresentado a seguir:
Ao final da execução bem-sucedida do código, avalie entre as alternativas disponíveis qual a opção que
apresenta os resultados de “b”, “*ptr” e “x”, respectivamente.
A b = 5, *ptr = 20 e x = 45
B b = 11, *ptr = 10 e x = 31
C b = 10, *ptr = 19 e x = 48
D
b = 11, *ptr = 20 e x = 51
Você assinalou essa alternativa (D)
E b = 11, *ptr = 20 e x = 48
Questão 4/10 - Linguagem de Programação
Na linguagem de programação C, existem dois métodos principais para passar parâmetros para uma função:
por valor e por referência (indireto). A escolha de qual tipo é mais adequado depende do comportamento
esperado da função.
Avalie o código C a apresentado, assinalando a alternativa que apresenta o resultado correto após a execução
bem-sucedida do programa.
A 13, 80, 1
B 16, 5, 0
C 13, 5, 2
D 10, 80, 1
E
16, 5, 2
Você assinalou essa alternativa (E)
Questão 5/10 - Linguagem de Programação
As funções são um recurso importante na linguagem C, onde blocos de código executam tarefas específicas
e podem ser invocados a partir de outras partes do programa, inclusive com passagem de parâmetros. Ao
utilizarmos a passagem por valor, uma cópia do valor original da variável é repassada para o argumento da
função.
Nesse contexto, qual o resultado da execução bem-sucedida do código apresentado?
A QuestãoExemplo
B ExemploQuestão
C Questão
D
Exemplo
Você assinalou essa alternativa (D)
E Erro de compilação.
Questão 6/10 - Linguagemde Programação
Na linguagem C, as funções podem ser invocadas passando parâmetros por valor diretamente ou por meio
da referência de forma indireta utilizando ponteiros. Ao utilizarmos a passagem por valor estamos fazendo
uma cópia do valor original da variável para o argumento da função. Enquanto na passagem por referência
estamos informando o endereço da variável original. Baseado nessa informação, escolha a alternativa que
apresenta o resultado da execução bem-sucedida do código em C apresentado a seguir:
A 5, 5, 5, 5.
B 5, 5, 3, 2.
C
2, 3, 5, 5
Você assinalou essa alternativa (C)
D 5, 3, 5, 2.
E 2, 3. 2, 3.
Questão 7/10 - Linguagem de Programação
A função MAIN() é a mais importante função de um programa em C, possuindo as mesmas características
que as demais funções subordinadas a ela. Porém, a função MAIN() só pode receber os argumentos argc e
argv, enviados por meio da execução de linha de código e no momento da chamada do programa.
Nesse sentido, qual é a finalidade dos argumentos "argc" e "argv"?
A
argc armazena o número de argumentos de linha de comando e argv contém os valores desses
argumentos.
Você assinalou essa alternativa (A)
B
argc e argv são sinônimos e podem ser usados indistintamente para se referir aos argumentos de linha de
comando.
C argc e argv são usados para armazenar variáveis locais em um programa em C.
D
argv armazena o número de argumentos de linha de comando e argc contém os valores desses
argumentos.
E argc e argv são usados para definir funções em um programa em C.
Questão 8/10 - Linguagem de Programação
Uma das características mais poderosas da linguagem de programação C é sua capacidade de gerenciar
diretamente a memória do sistema. Ponteiros são uma ferramenta importante que permite aos programadores
manipular diretamente a memória, e é essencial entender como trabalhar com ponteiros para escrever código
eficiente e robusto em C.
Nesse contexto, qual das alternativas a seguir representa uma característica sobre ponteiros?
A Tipagem de ponteiros refere-se à capacidade dos ponteiros de apontar para qualquer tipo de dado.
B Ponteiros não têm tipagem, eles são simplesmente endereços de memória.
C
Tipagem de ponteiros se refere ao tipo de dado que o ponteiro pode apontar.
Você assinalou essa alternativa (C)
D Todos os ponteiros em C têm a mesma tipagem, independentemente do tipo de dado que eles apontam.
E
Tipagem de ponteiros se refere à habilidade do ponteiro de ser automaticamente liberado da memória
quando não é mais necessário.
Questão 9/10 - Linguagem de Programação
O processo de compilação na linguagem C pode ser realizado por meio de linha de comando diretamente no
console/terminal.
Considerando a linha de comando apresentada, selecione, somente, a alternativa que melhor descreve seu
objetivo?
A
O comando compila o programa.c, executa o pré-processamento e gera um arquivo de destino chamado
resultado.txt com o código fonte resultante.
B
O comando executa o pré-processamento do código fonte contido em programa.c e gera o arquivo
resultado.txt, contendo as alterações realizadas no pré-processamento.
Você assinalou essa alternativa (B)
C
O comando executa apenas a análise léxica do código fonte contido em programa.c e gera um arquivo de
destino chamado resultado.txt com o resultado da análise.
D
O comando executa apenas a análise sintática do código fonte contido em programa.c e gera um arquivo
de destino chamado resultado.txt com o resultado da análise.
E
O comando executa apenas a análise semântica do código fonte contido em programa.c e gera um
arquivo de destino chamado resultado.txt com o resultado da análise.
Questão 10/10 - Linguagem de Programação
Na linguagem C, as funções podem ser invocadas passando parâmetros por valor diretamente ou por meio
da referência de forma indireta utilizando ponteiros. Baseado nessa informação, escolha a alternativa que
apresenta o resultado da execução bem-sucedida do código em C apresentado a seguir:
A
6
Você assinalou essa alternativa (A)
B 5
C Erro de execução.
D Adiciona 1 ao endereço da variável “num”.
E Adiciona 1 ao endereço do ponteiro.