Questões de Concurso sobre C e C++

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
412 questões encontradas
Questões por página
20
Mais recentes
 

Analise o seguinte programa em linguagem C:


#include <stdio.h>

#include <stdlib.h>


int main(){


int *v;

int i;


v = (int*) malloc(5 * sizeof(int));


for(i = 0; i < 5; i++){

*(v + i) = i * 2;

}


int *p = v + 2;


*p = *p + 5;


printf("%d %d %d", v[1], v[2], *(v + 3));


free(v);


return 0;

}


Assinale a alternativa que apresenta a saída produzida pelo programa.


A

2 4 6


B

2 9 6


C

4 9 6


D

2 9 8


E

4 9 8

Analise o seguinte programa escrito em linguagem C conforme o padrão ANSI C, no qual a modificação de valores é realizada por passagem por referência utilizando ponteiros:


Imagem associada para resolução da questão


Considerando a execução do programa apresentado, qual valor será exibido?


A

3


B

4


C

5


D

8


E

9

Considere o programa a seguir, escrito na linguagem C++:


Imagem associada para resolução da questão


Após compilar e executar o programa, o resultado obtido no console é:


A

4 Positivo

-2 Negativo

0 Zero

9 Positivo


B

4 Positivo

-2 Negativo

0 Zero

9 Positivo

-8 Negativo


C

4 Positivo

-2 Negativo

0 Zero

-8 Negativo


D

4 Positivo

-2 Negativo

9 Positivo


E

4 Positivo

-2 Negativo

0 Zero

9 Positivo

0 Zero

-8 Negativo

Analise o seguinte programa em linguagem C:


#include <stdio.h>


void func(int *a, int *b){

int *temp;

temp = a;

a = b;

b = temp;


*a = *a + 5;

*b = *b + 10;

}


int main(){

int x = 10;

int y = 20;


func(&x,&y);


printf("%d %d",x,y);

return 0;

}


Assinale a alternativa que apresenta a saída do programa.


A

15 30


B

15 20


C

20 25


D

30 25


E

20 30

Na linguagem de programação C++, a palavra-chave utilizada para definir uma estrutura que agrupa variáveis de diferentes tipos, sob um único identificador (estrutura de dados heterogênea), é:


A

array.


B

classe.


C

matriz.


D

record.


E

struct.

Considere o programa, escrito na linguagem C, a seguir:


Imagem associada para resolução da questão


Após compilar e executar o programa, o resultado obtido no console é:


A

200.


B

300.


C

600.


D

1200.


E

2000.

O que acontece após a sua execução do seguinte programa, escrito na linguagem C?


Imagem associada para resolução da questão


A

Imprime o número 4


B

Imprime o número 9


C

Imprime o número 10


D

Acusa erro de sintaxe


E

Acusa erro em tempo de execução

Considere o código do Texto 4 escrito na linguagem de programação C. A função printf, responsável por formatar e exibir uma informação, graficamente, na saída padrão, é frequentemente usada para verificar valores em tempos de execução.


A execução de cada comando printf na função main exibirá respectivamente


A

10, 20 e 12.


B

10, 20 e 30.


C

10, 11 e 12.


D

10, 11 e 20.


E

10, 11 e 30.

Um mesmo problema de programação pode ser resolvido de maneiras diferentes. Desse modo, o código expresso no Texto 4 pode ter diversas linhas alteradas sem que o seu resultado final seja mudado.


De que forma o código pode ser alterado sem mudar o seu resultado?


A

O número “0” da linha 9 pode ser mudado para “1”.


B

A palavra-chave “int” da linha 2 pode ser mudada para “char”.


C

A função “printf” das linhas 6-8 pode ser mudada para “println”.


D

O especificador “%d” das linhas 6-8 pode ser mudado para “%i”.


E

A diretiva “Hinclude ” pode ser mudada para “#include <stdlib.h>”.

Assinale a alternativa correta a respeito de destrutores na linguagem C++.


A

A sobrecarga do destrutor é permitida caso a classe possua somente atributos públicos.


B

Uma classe pode possuir múltiplos destrutores.


C

Destrutores retornam um valor booleano indicando o sucesso da operação.


D

Um destrutor recebe como parâmetro o próprio objeto a ser destruído.


E

O nome de um destrutor sempre é iniciado com o caractere til (~).

Scripts de automação devem ser, preferencialmente, desenvolvidos em linguagens compiladas, como C++ ou Java, para garantir maior desempenho e segurança em tarefas administrativas simples.


C

Certo


E

Errado

Na linguagem C, para criar uma biblioteca, é necessário gerar um arquivo com o código das funções que farão parte da biblioteca. Por exemplo, a biblioteca rotinas.h foi salva em um diretório criado pelo programador no qual está também o programa que vai utilizá-la e, nesse programa, deve-se inserir ________ no ________.


Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.


A

#import "rotinas.h" – início do programa


B

#import – início de cada função dentro do programa


C

#include "rotinas.h" – início do programa


D

#include "rotinas.h" – início de cada função dentro do programa


E

#include – início do programa

“Os operadores C são um subconjunto de operadores embutidos de C++. Há três tipos de operadores. Uma expressão unária consiste em um operador unário seguido de um operando [...] Uma expressão binária consiste em dois operandos unidos por um operador binário. Uma expressão ternária consiste em três operandos unidos pelo operador de expressão condicional.”


Fonte: Operadores C (adaptado). Disponível em:<https://learn.microsoft.com/pt-br/cpp/c-language/c-operators>. Acesso em 15/09/254.


Em relação aos operadores e expressões em C++, analise as seguintes afirmativas:


l. O operador "++" incrementa o valor de uma variável numérica em 1.

Il. O operador "+" é usado exclusivamente para a soma de números.

llI. O operador "&&" realiza operações lógicas de conjunção.

IV. O operador "===" é usado para comparar dois valores estritamente.


Assinale a alternativa que contenha APENAS as afirmações corretas.


A

I e II.


B

II e III.


C

III e IV.


D

I e III.


E

II e IV.

De acordo com o programa feito em C referenciado, as linhas 03 e 07 possuem um erro que impede a execução do programa, a saber:


A

As funções estão retornando float, mas deveriam retornar void.


B

O tipo float não é válido, pois o C só aceita o tipo double.


C

O parâmetro b não tem nenhum tipo declarado.


D

Os parâmetros a e b são do tipo float, mas devem ser do tipo int.


E

Está faltando o caractere sublinhado (_) no início do nome de cada função para informar ao compilador que elas estão retornando um valor.

Considerando o seguinte programa, escrito na linguagem C, qual alternativa apresenta os valores corretos das variáveis a, b, c após a execução?


Imagem associada para resolução da questão



A

2 2 2


B

3 2 2


C

3 2 3


D

3 3 2


E

3 3 3

A linguagem C++ moderna introduziu ponteiros inteligentes (smart pointers) na sua biblioteca padrão para auxiliar no gerenciamento automático de memória, mitigando problemas como vazamentos de memória (memory leaks) e ponteiros pendentes (dangling pointers). Em um sistema de processamento de dados, um objeto de grande porte precisa ser acessado por múltiplas classes, mas sua existência deve ser controlada por um único gerenciador. Assinale a alternativa que descreve o ponteiro inteligente mais adequado para garantir que o objeto seja destruído automaticamente quando o gerenciador sair de escopo, ao mesmo tempo que permite que outras partes do sistema observem o objeto sem afetar seu ciclo de vida.


A

Utilizar um std::weak_ptr na classe gerenciadora e std::unique_ptr nas classes observadoras, transferindo a propriedade do objeto para a primeira classe que o observar.


B

Utilizar um std::shared_ptr na classe gerenciadora e distribuir cópias deste std::shared_ptr para todas as classes observadoras, garantindo que o objeto só seja destruído quando a última referência for eliminada.


C

Utilizar um ponteiro bruto (*) na classe gerenciadora e um std::shared_ptr nas classes observadoras, sendo responsabilidade do gerenciador deletar o objeto manualmente.


D

Utilizar std::auto_ptr (da biblioteca antiga) em todas as classes, pois ele transfere a propriedade do objeto a cada cópia, garantindo que apenas uma classe por vez seja a proprietária.


E

Utilizar um std::unique_ptr na classe gerenciadora para garantir a propriedade exclusiva e a destruição automática, e fornecer std::weak_ptr para as classes observadoras, permitindo que elas acessem o objeto de forma segura, mas sem impedir sua destruição.

#include <stdio.h>

int main(){

const int i = 5;

int j = i + i;

printf("%d", j++);

return 0;

}


Assinale a opção que corresponde ao resultado da execução do código precedente, escrito na linguagem C.


A

0


B

5


C

10


D

11


E

20

Um programador precisa desenvolver um sistema embarcado para controle de hardware em dispositivos IoT (Internet das Coisas). Qual linguagem abaixo seria a mais indicada por permitir um controle fino sobre os recursos do sistema e eficiência na execução?


A

PHP;


B

Swift;


C

JavaScript;


D

Python;


E

C.

Com relação às linguagens de programação C/C++, analise as afirmativas a seguir.


I. Seja x uma variável do tipo inteiro. Na declaração abaixo, o ponteiro p é inicializado com o endereço de x. int *p = &x.

II. O comando break somente pode ser utilizado em conjunto com o comando switch.

III. O comando return encerra a execução de uma função.


Está correto o que se afirma em


A

I, apenas.


B

II, apenas.


C

III, apenas.


D

I e II, apenas.


E

I e III, apenas.

 
Ir para a página:
OK
 
Gerar simulado