Prévia do material em texto
<p>Questão 1/10 - Linguagem de Programação</p><p>Em linguagem C, uma string é uma sequência de caracteres manipuladas como vetores de caracteres. Como as strings em C</p><p>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</p><p>assinale a alternativa correta para exibição do seu conteúdo:</p><p>Nota: 10.0</p><p>A printf("%c", amigos);</p><p>B</p><p>printf("%s", amigos);</p><p>Você assinalou essa alternativa (B)</p><p>Você acertou!</p><p>Gabarito: Letra B. Nesse caso, o vetor recebe uma atribuição de caracteres individualmente, separado por aspas</p><p>simples e vírgula. Vale salientar que é declarado espaço suficiente para armazenar 6 caracteres na string</p><p>"Zanana", além do caractere nulo '\0' para indicar o fim da string.</p><p>Utilizando a função PRINTF(), usamos o operador de conversão %s para exibir a string. Isso indica ao</p><p>PRINTF() que o argumento seguinte é uma string. Além disso, não precisamos especificar o tamanho da string,</p><p>pois o compilador é capaz de determiná-lo automaticamente com base no caractere nulo '\0' que termina a</p><p>string.</p><p>C printf("%s", &amigos);</p><p>D printf("amigos");</p><p>E É obrigatório implementar uma estrutura de repetição para ler o conteúdo de cada índice do vetor.</p><p>Questão 2/10 - Linguagem de Programação</p><p>Na manipulação de valores, a linguagem de programação C fornece suporte para a criação de variáveis e constantes. No caso</p><p>da constante, apesar de também armazenar valores, seu funcionamento atua de maneira oposta a uma variável, pois o valor</p><p>atribuído não pode ser alterado durante a execução de um programa. Sendo assim, no momento da declaração de uma</p><p>constante a atribuição do valor é obrigatória.</p><p>Em uma implementação, considere que a constante PI irá armazenar um valor fixo (3.1415) e escolha a instrução correta</p><p>para realizar tal tarefa.</p><p>Nota: 10.0</p><p>A VALOR_PI = 3.1415;</p><p>B sizeof(PI);</p><p>C #include PI 3.1415</p><p>D</p><p>#define PI 3.1415</p><p>Você assinalou essa alternativa (D)</p><p>Você acertou!</p><p>Na linguagem C, existem duas formas básicas de declaração de uma constante. Utilizando #define</p><p>NOMECONSTANTE valor (sem o uso de ponto-e-vírgula) ou dentro de uma função: const tipo nomeConstante =</p><p>valor; (com o uso do delimitador ponto-e-vírgula).</p><p>E int PI = 3.1415;</p><p>Questão 3/10 - Linguagem de Programação</p><p>Levando em consideração que um código, desenvolvido na linguagem de programação C, tem por objetivo a implementação</p><p>de instruções claras e organizadas, baseado logicamente em estruturas condicionais e de repetição.</p><p>Em relação as características da linguagem de programação C, assinale, somente, a alternativa correta:</p><p>Nota: 10.0</p><p>A</p><p>Gera um arquivo executável por meio do processo de compilação.</p><p>Você assinalou essa alternativa (A)</p><p>Você acertou!</p><p>A linguagem de programação C é uma linguagem compilada e, isso significa que quando desenvolvemos um</p><p>código fonte, o mesmo precisa ser convertido para um arquivo executável, para só então poder ser utilizado.</p><p>Referência: Aula 1 – Revisão e adequação com Linguagem C; Tema 1 - Conceitos de Linguagem C; Conhecendo</p><p>a Linguagem C.</p><p>B Por ser uma linguagem de alto nível, é impossível a manipulação de bits, bytes e endereços.</p><p>C O uso de tabulações e espaços é obrigatório.</p><p>D É uma linguagem interpretada.</p><p>E Sua estrutura se baseia na orientação a objetos.</p><p>Questão 4/10 - Linguagem de Programação</p><p>Na implementação de algumas soluções, o desenvolvedor se deparará com a necessidade da execução de trechos de código</p><p>de forma repetida até que uma condição seja satisfeita. Para esses casos, usamos as estruturas de repetição, também</p><p>chamadas de laços.</p><p>Analisando as alternativas a seguir, identifique a diferença ao optar pelos comandos DO{...}WHILE(); ou WHILE(){...}:</p><p>Nota: 10.0</p><p>A</p><p>O comando DO{...}WHILE(); é uma estrutura de repetição, enquanto o WHILE(){...} não é considerado uma estrutura</p><p>de repetição na linguagem de programação C.</p><p>B</p><p>O DO{...}WHILE(); encerra após executar suas instruções uma vez e, no caso do WHILE(){...} as instruções serão</p><p>executadas até a condição ser satisfeita.</p><p>C</p><p>O DO{...}WHILE(); terá suas instruções executadas no mínimo uma vez e, no caso do WHILE(){...} as instruções</p><p>poderão não ser executadas, caso a condição não seja satisfeita.</p><p>Você assinalou essa alternativa (C)</p><p>Você acertou!</p><p>A diferença é quanto a sua execução: o DO{...}WHILE() será executado pelo menos uma vez e o WHILE(){...}</p><p>somente se a condição for verdadeira.</p><p>Referência: Aula 1 – Revisão e adequação com Linguagem C; Tema 4 - Estruturas de Repetição; While e</p><p>Do...While.</p><p>D</p><p>O DO{...}WHILE(); executa as instruções até a condição ser satisfeita e, no caso do WHILE(){...} necessita do uso do</p><p>comando break para encerrar a repetição.</p><p>E As duas estruturas de repetição possuem funcionamento idêntico.</p><p>Questão 5/10 - Linguagem de Programação</p><p>Em linguagem de programação, muitas vezes é necessário realizar o agrupamento e organização de dados. Para essas</p><p>situações, a linguagem C fornece alguns recursos tais como: vetores, matrizes, struct, union, entre outros.</p><p>Assinale a alternativa correta que apresenta a definição correta de uma struct na linguagem C:</p><p>Nota: 10.0</p><p>A Um comando que permite a criação de variáveis globais na linguagem C.</p><p>B</p><p>Um tipo de dado que define uma coleção de variáveis relacionadas com tipos diferentes.</p><p>Você assinalou essa alternativa (B)</p><p>Você acertou!</p><p>A struct é uma estrutura heterogênea, que permite a combinação de um conjunto de valores de tipos de dados</p><p>diferentes identificados por um único nome que será responsável pela struct, agrupando vários dados em uma</p><p>única unidade lógica. Por meio da variável podemos acessar e modificar cada uma das variáveis dentro da struct</p><p>de forma organizada e intuitiva.</p><p>Referência: Aula 3 – Structs; Tema 1 - Definição de structs; Definição de strings.</p><p>C Um tipo de variável que pode armazenar um único valor de qualquer tipo.</p><p>D Uma estrutura de controle que permite executar uma ação repetidamente até que uma condição seja satisfeita.</p><p>E Uma função que permite armazenar vários valores de diferentes tipos em uma única variável.</p><p>Questão 6/10 - Linguagem de Programação</p><p>Em linguagem C, a função SIZEOF() possui a funcionalidade de retornar o tamanho em bytes equivalente a um único</p><p>parâmetro informado, podendo ser aplicado em qualquer elemento que, de alguma forma, seja alocado na memória. E, dessa</p><p>forma, é possível ser aplicado em estruturas heterogêneas.</p><p>Baseado no protótipo de struct apresentado a seguir.</p><p>Qual é a forma correta de utilizar a função SIZEOF() para determinar o tamanho de uma struct chamada “cadCliente” que</p><p>contém os campos, “id”, “nome” e “endereco”?</p><p>Nota: 10.0</p><p>A sizeof(cliente.nome);</p><p>B sizeof(cadCliente.cliente);</p><p>C sizeof(struct Cliente);</p><p>D sizeof(cadCliente);</p><p>E</p><p>sizeof(cliente);</p><p>Você assinalou essa alternativa (E)</p><p>Você acertou!</p><p>Nesse caso, baseado na declaração do protótipo da struct foi declarada a variável “cliente” para identificar a</p><p>struct cadCliente. Portanto, a utilização da função SIZEOF seguida da variável “cliente” irá retornar o tamanho</p><p>da struct em bytes.</p><p>Referência: Aula 3 – Structs; Tema 1 - Definição de structs; Declarando um struct.</p><p>Questão 7/10 - Linguagem de Programação</p><p>A função SCANF() permite que os dados sejam lidos a partir da entrada padrão (geralmente o teclado) e armazenados em</p><p>variáveis. Analise o trecho de código a seguir assinalando a alternativa correta:</p><p>Nota: 10.0</p><p>A A função SCANF() não suporta a leitura de strings.</p><p>B</p><p>O vetor “passageiro” será preenchido com uma string sem espaços.</p><p>Você assinalou essa alternativa (B)</p><p>Você acertou!</p><p>Gabarito: Letra B. A função SCANF() trabalha com dois argumentos. Nesse caso, o primeiro argumento é o</p><p>operador de conversão declarado entre aspas “%s” determinando que será lido uma string. Logo em seguida, é</p><p>declarado a variável que irá armazenar os dados (“passageiro”). Perceba que não é declarado</p><p>o operador de</p><p>endereço (&) antes da variável “passageiro” como geralmente acompanha as variáveis utilizadas na função</p><p>SCANF(). Isso ocorre porque na linguagem C, os vetores são considerados automaticamente ponteiros e, dessa</p><p>forma, não é utilizado o operador de endereço (&).</p><p>Referência: Aula 2 – Strings, vetores e matrizes; Tema 2 - Introdução a strings; Recebendo strings, Função</p><p>scanf().</p><p>C Falta a declaração do operador de endereço (&) antes da variável “passageiro”.</p><p>D Necessário incluir o tamanho máximo da string a ser lida.</p><p>E A função SCANF() não suporta a leitura de vetores.</p><p>Questão 8/10 - Linguagem de Programação</p><p>A linguagem de programação C fornece suporte para apresentação de informações no terminal/console, sendo um dos</p><p>comandos que realizam essa tarefa a função PRINTF().</p><p>Considere o código apresentado (executado em condições ideais) e avalie o resultado obtido por meio da aplicação da função</p><p>PRINTF(), assinalando a alternativa correta:</p><p>Nota: 0.0Você não pontuou essa questão</p><p>A \nNúmero 7 elevado ao quadrado: 14 \n</p><p>Número 7 elevado ao quadrado: 49</p><p>Baseado na atribuição do valor 7 à variável “num” (int) e, após a execução do cálculo de multiplicação (7x7),</p><p>atribuído a variável “total” (int), os valores armazenados nas duas variáveis referenciadas de forma sequencial</p><p>no comando PRINTF(), serão convertidos e apresentados na mensagem por meio dos operadores de conversão.</p><p>Referência: Aula 1 – Revisão e adequação com Linguagem C; Tema 1 - Conceitos de Linguagem C; scanf().</p><p>C Número %d elevado ao quadrado: %d</p><p>D Número 7 elevado ao quadrado: 14</p><p>E</p><p>\nNúmero 7 elevado ao quadrado: 49 \n</p><p>Você assinalou essa alternativa (E)</p><p>Questão 9/10 - Linguagem de Programação</p><p>Considere que estamos desenvolvendo um programa em linguagem C para gerenciar uma biblioteca de livros. Nesse</p><p>programa, será necessário armazenar diversas informações sobre cada livro, como título, autor, editora, ano de publicação,</p><p>número de páginas, entre outras. Para realizar essa tarefa, decidimos fazer uso da estrutura de dados struct. Ocorre que o</p><p>funcionário da empresa ao verificar a base de dados já existente, detectou algumas discrepâncias em alguns registros e</p><p>solicitou que os dados sejam devidamente corrigidos.</p><p>Baseado na struct a seguir, assinale a alternativa correta que apresenta o trecho de código que realiza de forma adequada as</p><p>seguintes atribuições: “Umberto Eco” para o autor e o valor 37.50 para o preço:</p><p>Nota: 10.0</p><p>A</p><p>B</p><p>C</p><p>Você assinalou essa alternativa (C)</p><p>Você acertou!</p><p>Gabarito: Letra C. Para realizar a atribuição em dados pertencentes a um struct é necessário utilizar a variável</p><p>responsável pela struct, ou seja, que identifica a struct. Nesse caso, a variável “exemplar”. Um outro detalhe</p><p>importante, é que no caso da variável “autor” que é uma string e, dessa forma, devemos seguir as regras de</p><p>manipulação de strings. Por esse motivo, o correto é utilizar a função STRCPY() para copiar o valor.</p><p>Referência: Aula 3 – Structs; Tema 2 - Manipulação de structs; Acessando as variáveis de uma Struct.</p><p>D</p><p>E</p><p>Questão 10/10 - Linguagem de Programação</p><p>A linguagem C é uma das mais utilizadas em sistemas e aplicações de baixo nível, como sistemas operacionais e drivers.</p><p>Quando trabalhamos com vetores em C, temos a possibilidade de atribuir valores a eles e realizar diversas operações.</p><p>Nesse contexto, qual das seguintes alternativas é uma forma correta de atribuir valores a um vetor de inteiros em C?</p><p>Nota: 10.0</p><p>A int numeros[5]; = “1, 2, 3, 4, 5”;</p><p>B int numeros[5]; = ‘1’, ‘2’, ‘3’, ‘4’, ‘5’;</p><p>C int numeros[5] = 1, 2, 3, 4, 5;</p><p>D</p><p>int numeros[5] = {1, 2, 3, 4, 5};</p><p>Você assinalou essa alternativa (D)</p><p>Você acertou!</p><p>Vetores podem ser inicializados ao serem declarados com a atribuição de valores entre chaves, por exemplo: int</p><p>vetor[5] = {1, 2, 3, 4, 5};</p><p>Referência: Aula 2 – Strings, vetores e matrizes; Tema 1 - Vetores; Atribuição de valores.</p><p>E int numeros[5] = (1, 2, 3, 4, 5);</p>