Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 1/10 - Linguagem de Programação Ponteiros são uma das características mais poderosas e complexas da linguagem de programação C. Eles permitem que o programador trabalhe com endereços de memória e dados dinâmicos de maneira eficiente e flexível. No entanto, o uso inadequado de ponteiros pode levar a erros críticos, como falhas de segmentação e vazamentos de memória. Nesse sentido, é fundamental compreender bem como os ponteiros funcionam e como utilizá-los corretamente para aproveitar ao máximo seus benefícios e evitar problemas em nossos programas. Nesse contexto, qual das seguintes opções descreve com precisão o que é um ponteiro nulo em linguagem C? A Um ponteiro que aponta para o endereço de memória zero, após ser inicializado com um valor aleatório. B Um ponteiro que foi inicializado, mas não está apontando para nenhum endereço de memória. Você assinalou essa alternativa (B) C Um ponteiro que aponta para um endereço de memória que contém apenas zeros. D Um ponteiro que não pode ser usado para acessar a memória do computador. E Um ponteiro que aponta para o endereço de memória mais alto do espaço de endereçamento do programa. Questão 2/10 - Linguagem de Programação Considere o seguinte trecho de código em C: Ao final da execução desse trecho de código, qual é o valor armazenado na variável “nro1” e o valor apontado pelo ponteiro “p”, respectivamente? A 30 e 50 B 10 e 20 C 20 e 50 D 50 e 30 Você assinalou essa alternativa (D) E Um valor indefinido. Questão 3/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. 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 4/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 5/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 6/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 7/10 - Linguagem de Programação O processo de compilação em C envolve diversas fases, sendo o pré-processador a primeira etapa nesse processo. Nesse cenário, qual das alternativas a seguir é verdadeira em relação ao pré-processador em linguagem C? A Responsável por transformar o código-fonte em um arquivo executável. B Responsável por detectar e reportar erros de sintaxe no código-fonte. C Responsável por resolver todas as referências a funções e variáveis utilizadas no programa. D Responsável por incluir arquivos de cabeçalho, realizar substituições de macro e eliminar comentários do código-fonte. Você assinalou essa alternativa (D) E Responsável por gerar código de máquina a partir do código-fonte. Questão 8/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 9/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 10/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 seguir, 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)
Compartilhar