Questões de Concurso
Sobre c em programação
Foram encontradas 377 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.
Considere o programa, escrito na linguagem C, a seguir:

Após compilar e executar o programa, o resultado obtido no console é:
(__)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?
A respeito dos tópicos de computação, nas linguagens de programação e nos sistemas operacionais Linux, julgue o item a seguir.
A seguinte função em linguagem C sempre causará um vazamento de memória, independentemente de como seja chamada:
void func() {
int *ptr = malloc(10 * sizeof(int));
}
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.
Considerando o código na linguagem de programação C,

assumindo a=997 e b=1009, é correto afirmar que o código
Assinale a alternativa que apresenta o valor que será exibido na saída padrão pelo printf executado na função main.
Dois programas foram gerados a partir desses códigos fonte. A execução de cada um deles implica a entrada de um valor inteiro informado pelo usuário, conforme scanf da linha 4 de cada código fonte, e a exibição de um valor inteiro na saída padrão, conforme printf da linha 13 de cada código fonte.
Cada programa foi executado uma vez para teste, e ambos apresentaram o mesmo valor na saída padrão. O valor informado na entrada de dados também foi idêntico para os dois programas e está dentre as alternativas listadas a seguir.
Assinale a alternativa que apresenta o valor que foi informado para os dois programas para que eles tenham apresentado o mesmo valor na saída.
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++.