Prévia do material em texto
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 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 3/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 4/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: Você não pontuou essa questão A 6 B 5 C Erro de execução. Você assinalou essa alternativa (C) D Adiciona 1 ao endereço da variável “num”. E Adiciona 1 ao endereço do ponteiro. 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 Considerando o processo de pré-processamento de um código desenvolvido em linguagem C, identifique a diretiva de pré-processamento que tem como função incluir o conteúdo de um arquivo no programa em tempo de compilação: A #ifndef B #define C #undef D #include Você assinalou essa alternativa (D) E #ifdef Questão 7/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 a seguir, selecione 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 8/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 9/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 10/10 - Linguagem de Programação Os ponteiros além de apontarem para áreas de memória, também permitem que possamos realizar operações matemáticas, utilizadas tanto para apontar para outro segmento de memória, como também realizar cálculos sobre o conteúdo apontado pelo ponteiro. Baseado nessa informação avalie as declarações abaixo desenvolvidas em linguagem C: Assinale a alternativa que acessa corretamente o valor 35 presente no vetor “numeros”, por meio do ponteiro. A int elemento = &numeros[6]; B int elemento = *(p + 6); Você assinalou essa alternativa (B) C int elemento = p + 6; D int elemento = &(numeros + 6); E int elemento = &p[6];