Questões de Concurso
Comentadas sobre c em programação
Foram encontradas 223 questões
Durante os testes do analisador léxico, sintático e semântico, um dos grupos apresenta o seguinte trecho de código para ser avaliado
: int 1x; // Linha 1 int y; y = “texto”; // Linha 3 x$ = 5; // Linha 4 int #z; // Linha 5
O professor solicita que os alunos identifiquem quais erros seriam detectados em cada fase do processo de compilação. Em especial, ele pede que indiquem um erro que seria identificado especificamente na fase de análise semântica, isto é, após a verificação léxica e sintática.
Com base na situação exposta, assinale a alternativa que apresenta um erro detectado especificamente na fase de análise semântica do compilador.
(__)Em estruturas da linguagem C, o alinhamento de memória pode inserir bytes de preenchimento entre os campos para otimizar o acesso pela arquitetura do processador.
(__)Uma união, ao contrário de uma estrutura convencional, aloca espaço em memória suficiente para armazenar todos os seus membros simultaneamente em endereços distintos.
(__)O operador de acesso por seta é utilizado exclusivamente quando se deseja acessar o membro de uma estrutura através de um ponteiro que aponta para ela.
(__)A passagem de uma estrutura por valor para uma função evita a cópia completa de todos os seus dados internos para a pilha de execução, economizando memória.
Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
I.A função de cópia de strings padrão da linguagem C não verifica o limite do destino, podendo causar estouro de pilha se a origem for maior que o espaço alocado.
II.O comprimento de uma string, retornado por funções de biblioteca, contabiliza todos os caracteres visíveis e inclui obrigatoriamente o caractere terminador nulo na contagem final.
III.Em sistemas que utilizam codificação de caracteres Universal Coded Character Set Transformation Format - 8-bit (UTF-8), um único caractere pode ocupar mais de um byte de memória.
Está correto o que se afirma em:
(__)A instrução switch-case em Linguagem C exige o uso de um valor constante ou literal inteiro para cada rótulo, não permitindo o uso de variáveis ou intervalos dinâmicos.
(__)O laço de repetição do-while garante que o bloco de comandos interno seja executado ao menos uma vez, independentemente da veracidade da condição testada ao final.
(__)O comando break, quando utilizado dentro de laços de repetição aninhados, provoca a saída imediata de todas as estruturas de repetição até o escopo global da função principal.
(__)Em uma estrutura de repetição for, a omissão da expressão de controle de condição resulta em um erro de compilação imediato por falta de definição de critério de parada.
Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
Qual é a principal diferença entre alocação de memória usando malloc() e declaração de array local em uma função?
Seja a função em C que atende o seguinte enunciado:
Construir uma função chamada somar, que recebe dois valores inteiros e retorna a soma deles.
int somar(int a, int b) {
return a + b;
}
O testador, além de testar o funcionamento externo da função (o que ela faz) também testou a sua lógica e estrutura, verificando como a soma é realizada por ela (como ela faz). Foi realizado, portanto, um teste de caixa:
Durante o desenvolvimento de um sistema de gestão odontológica para uma clínica de médio porte, a equipe de tecnologia optou por criar uma aplicação multiplataforma com recursos de agendamento, prontuário eletrônico e geração de relatórios financeiros. Para isso, diferentes módulos foram desenvolvidos em C#, Python e Java, aproveitando as características específicas de cada linguagem.
Com base nessa situação hipotética e nos conhecimentos a respeito de sintaxe, tipos de dados, estruturas de controle, classes, herança e polimorfismo em C#, Python e Java, julgue o item a seguir.
Para melhorar a performance do módulo de agendamento no sistema da clínica, a equipe optou por utilizar Thread.Sleep() dentro de métodos assíncronos em C#, o que é recomendado para manter a responsividade da aplicação.
Durante o desenvolvimento de um sistema de gestão odontológica para uma clínica de médio porte, a equipe de tecnologia optou por criar uma aplicação multiplataforma com recursos de agendamento, prontuário eletrônico e geração de relatórios financeiros. Para isso, diferentes módulos foram desenvolvidos em C#, Python e Java, aproveitando as características específicas de cada linguagem.
Com base nessa situação hipotética e nos conhecimentos a respeito de sintaxe, tipos de dados, estruturas de controle, classes, herança e polimorfismo em C#, Python e Java, julgue o item a seguir.
Em C#, é possível definir uma classe base chamada Pessoa e utilizar a palavra‑chave override para sobrescrever o método ToString() em uma classe Paciente, respeitando o conceito de polimorfismo.
Em relação às metodologias de desenvolvimento de sistemas e às linguagens de programação utilizadas no desenvolvimento de sistemas, julgue o item seguinte.
Na linguagem de programação C, feof() é um método da classe ifstream que tem como função fechar um arquivo.
(__) Em linguagens como C, a função scanf permite a leitura de múltiplos valores de entrada, desde que sejam especificados os tipos correspondentes no formato de entrada.
(__) A função print em Python é utilizada para exibir dados na saída padrão, sendo possível utilizar múltiplos argumentos separados por vírgulas para concatenar textos e valores.
(__) A função cin em C++ lê dados de entrada diretamente do teclado, exigindo que o tipo da variável seja especificado na chamada da função.
(__) Em linguagens como Java, o método System.out.println é utilizado para exibir dados na saída padrão, adicionando automaticamente uma quebra de linha ao final da impressão.
A sequência está correta em:
A compilação de código Java resulta em um código de máquina que é executado diretamente pelo sistema operacional, como em linguagens como C ou C++.
I - A linguagem C, criada nos anos 70, destaca-se pela portabilidade entre máquinas e sistemas operacionais, além de permitir interação direta com o sistema operacional e o hardware, o que a torna muito eficiente para desenvolvimento de software de baixo nível.
II - Embora C++ seja uma extensão orientada a objetos do C, ele se destaca por garantir velocidade e tamanho reduzido dos programas, além de oferecer uma proteção contra todos os tipos de erros comuns em C, o que simplifica o desenvolvimento.
III - Java e C#, surgidas entre o fim dos anos 90 e início dos anos 2000, são linguagens com foco em abstração e independência de plataforma, mas ainda podem apresentar limitações nesse aspecto devido à contínua evolução de seus ambientes de execução.