Logo Passei Direto
Buscar

Manipulação de Strings em C

Conjunto de questões de múltipla escolha sobre fundamentos da linguagem C: manipulação de strings (char[], terminador '\0' e printf %s), declaração de constantes (#define/const), compilação/execução de binários e diferenças entre while e do...while, com respostas comentadas.

User badge image
Utred 21

em

Ferramentas de estudo

Questões resolvidas

Levando em consideração que um código, desenvolvido na linguagem de programação C, tem por objetivo a implementação de instruções claras e organizadas, baseado logicamente em estruturas condicionais e de repetição. Em relação as características da linguagem de programação C, assinale, somente, a alternativa correta:

A linguagem de programação C é uma linguagem compilada e, isso significa que quando desenvolvemos um código fonte, o mesmo precisa ser convertido para um arquivo executável, para só então poder ser utilizado.
B Por ser uma linguagem de alto nível, é impossível a manipulação de bits, bytes e endereços.
C O uso de tabulações e espaços é obrigatório.
D É uma linguagem interpretada.
E Sua estrutura se baseia na orientação a objetos.

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(){...}:

O DO{...}WHILE(); é uma estrutura de repetição, enquanto o WHILE(){...} não é considerado uma estrutura de repetição na linguagem de programação C.
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.
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.
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.
As duas estruturas de repetição possuem funcionamento idêntico.

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? Nota: 10.0

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};
E int numeros[5] = (1, 2, 3, 4, 5);

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Levando em consideração que um código, desenvolvido na linguagem de programação C, tem por objetivo a implementação de instruções claras e organizadas, baseado logicamente em estruturas condicionais e de repetição. Em relação as características da linguagem de programação C, assinale, somente, a alternativa correta:

A linguagem de programação C é uma linguagem compilada e, isso significa que quando desenvolvemos um código fonte, o mesmo precisa ser convertido para um arquivo executável, para só então poder ser utilizado.
B Por ser uma linguagem de alto nível, é impossível a manipulação de bits, bytes e endereços.
C O uso de tabulações e espaços é obrigatório.
D É uma linguagem interpretada.
E Sua estrutura se baseia na orientação a objetos.

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(){...}:

O DO{...}WHILE(); é uma estrutura de repetição, enquanto o WHILE(){...} não é considerado uma estrutura de repetição na linguagem de programação C.
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.
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.
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.
As duas estruturas de repetição possuem funcionamento idêntico.

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? Nota: 10.0

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};
E int numeros[5] = (1, 2, 3, 4, 5);

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>

Mais conteúdos dessa disciplina