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
 
415 questões encontradas
Questões por página
20
Mais recentes
 

Analise o código a seguir escrito em C:


int main() {


...........for(int count=0; count<10;count++) {


.......................if((count%3)==0) {


...................................printf(“1”);


.......................}

.......................else {


.....................................printf(“0”);


.......................}


............}


............return 0;


}


Assinale a alternativa que apresenta a saída impressa por tal código.


A

“0110110110”.


B

“0010010010”.


C

“1101101101”.


D

“1001001001”.

Na linguagem de programação C, caso se deseje criar uma função sem parâmetros,


A

será gerada uma mensagem de warning durante a compilação, e o programa executável será gerado. Porém, quando essa função for chamada, um erro de execução ocorrerá.


B

não haverá problema, e nenhuma declaração de parâmetros será necessária.


C

um parâmetro do tipo integer será criado automaticamente, embora não seja utilizado.


D

será gerada uma mensagem de erro durante a compilação e o programa executável não poderá ser gerado.


E

um parâmetro do tipo boolean será criado automaticamente, embora não seja utilizado.

Sobre o desenvolvimento de funções na linguagem C é correto afirmar que um protótipo de função informa ao compilador única e indispensavelmente o nome de uma função, os tipos de dados retornados por essa função(,)


A

os tipos desses parâmetros e a ordem em que os parâmetros desses tipos são esperados.


B

o número de parâmetros que a função espera receber, os tipos desses parâmetros e a ordem em que os parâmetros desses tipos são esperados.


C

o número de parâmetros que a função espera receber e a ordem em que os parâmetros desses tipos são esperados.


D

o número de parâmetros que a função espera receber e os tipos desses parâmetros.


E

e os tipos desses parâmetros.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

#include <iostream>

using namespace std;

int main( )

{

const double TAXA = 7.5;

double valorconta;

cout << "Digite o valor atual de sua conta de energia R$";

cin >> valorconta;

double novovalorconta;

novovalorconta = valorconta + valorconta* (TAXA /100);

cout << "Sua próxima conta de energia será no valor de\n"

<< "R$" << novovalorconta << ", realize o consumo consciente de energia elétrica.\n";

return 0;

}

Sobre o código C++ anteriormente apresentado, assinale a afirmativa correta.


A

A finalidade do código é informar ao consumidor o valor de sua próxima conta de energia elétrica, com base em uma taxa de aumento já predefinida.


B

O código em questão apresenta um erro clássico de sintaxe na linha 11, tendo em vista que não é permitido o uso da barra “/” para expressar uma operação de divisão.


C

Caso o consumidor informe que o valor atual de sua conta é de R$ 200,00, o programa irá informá-lo que o valor de sua próxima conta de energia elétrica será no valor de R$ 220,00.


D

A finalidade do código é informar ao consumidor o valor de sua próxima conta de energia elétrica, com base em uma taxa de aumento informada pelo próprio consumidor por meio da função cin (linha 9).

Sobre as linguagens de programação JAVA e C, analise as afirmativas seguintes e marque a alternativa correta:


I- Tanto em Java como em C, os blocos de códigos são modularizados em métodos e delimitados por chaves ({ e }).

II- Java é uma linguagem em que, apesar de permitir algoritmos de busca, não é possivel implantar algoritmos de ordenação.


A

Ambas as afirmativas estão corretas.


B

Somente a afirmativa I está correta.


C

Somente a afirmativa Il está correta.


D

Nenhuma das afirmativas está correta.

Considere o seguinte código na linguagem de programação C:


Imagem associada para resolução da questão


É correto afi rmar que


A

caso o usuário digite o símbolo de ponto “.”, todas as mensagens serão escritas na tela de saída.


B

caso o usuário digite o símbolo de ponto “.”, a seguinte mensagem será escrita na tela de saída: “Ponto.\n”.


C

a função getchar não pode ser uti lizada com símbolos.


D

a linha 7 deveria ser reescrita da forma &ch= getchar();


E

a linha 7 deveria ser reescrita da forma getchar(&ch);

Um dos mais poderosos recursos de reutilização de software do C++ são os templates. Uma de suas funções é a de


A

oferecer um modelo de quais atributos cada classe deve possuir.


B

oferecer um modelo de quais funções cada classe deve possuir.


C

permitir o polimorfismo.


D

permitir que funções idênticas sobre tipos de dados diferentes sejam expressas de maneira mais compacta.


E

mostrar os parâmetros de uma função que devem ser sobrescritos.

Considere o seguinte programa escrito em linguagem C e assinale o valor que será impresso após a execução.


1 #include <stdio.h>

2

3 int calcula(int n)

4{

5 -if(n == 1} {

6 --return -n;

7 -} else {

8 --return n * calcula(n - 1);

9 }

10}

11 lnt maln()

12 {

13 -int resultado = calcula(6);

14 -resultado++;

15 prlntf(n%d", resultado};

16 -returno;

17}


A

120.


B

-1.


C

721.


D

121.


E

-719.

Admita o trecho de código a seguir, escrito na linguagem de programação C.


#include <stdio.h>

int main() {

int *p;

int array[] = {4, 12, 0, 9, 8, 3};

p = array;

p += 4;

printf("%p-", p);

printf("%d-", *p);

printf("%p", &p);

return 0;

}


Assumindo que o tipo int ocupa 32 bits, que o endereço da variável p é 0x22f1 e que o endereço de array[0] é 0x79f2, qual será a saída apresentada na tela após a execução desse código?


A

9‐0x79f6‐0x22f1


B

0x79f6-8-0x22f1


C

0x7a02-8-0x22f1


D

0x2301-8-0x79f2


E

8-0x79f2-0x2301

Avalie o código-fonte escrito em linguagem C.


1 #include <stdio.h>

2 void foo(int *V, int N);

3 ____ int 1, continua, aux, fim = N;

4 ____ do {

5 ______ continua = 0;

6 ______ for (i=0; i < fim-1; i++){

7 __________ if (V[1] > V[1+1]);

8 ______________ aux = V[1];

9 ______________ v[1] = V[1+1];

10 ______________ V[i+1] = aux;

11 ______________ continua = i;

12 __________ }

13 ______ }

14 ______ fim--;

15 ____ } while (continua != 0);

16 }

17

18 int main()

19 {

20 ____ int bar[5] = {10, 20, 30, 40, 50};

21 ____ int N = 5;

22 ____ foo(bar, N);

23 ____ for (int i = 0, i <N; i++) {

24 ______ printf("%d”,bar[i]);

25 ____ }

26 ____ return 0;

27 }


Após a sua compilação e execução, qual é o resultado apresentado em tela?


A

10,20,30,40,50


B

1020304050


C

50,40,30,20,10


D

150


E

0

Na linguagem C++, estruturas (definidas pela palavra-chave struct) podem ser passadas como parâmetros em chamadas de funções. Nesse contexto, assinale a alternativa correta.


A

Por padrão, estruturas são passadas por referência.


B

Passar estruturas por referência é mais eficiente que passá-las por valor, uma vez que a passagem por valor requer que a estrutura inteira seja copiada.


C

Estruturas só podem ser passadas como parâmetro por meio do uso de ponteiros.


D

É necessário o uso da palavra-chave inline na declaração da função que recebe uma estrutura como parâmetro.


E

Apenas funções do tipo void podem receber estruturas como parâmetros.

Considere as seguintes afirmações acerca das linguagens de programação JAVA, Python e C++.


I. C++ é uma linguagem de programação compilada que inclui suporte tanto para o paradigma imperativo quanto de programação genérica;

II. Python é uma linguagem de programação que suporta o paradigma de orientação a objetos, e que possui como característica tipagem de dados forte e dinâmica;

III. A linguagem de programação JAVA não foi projetada para o ambiente de computação distribuída, como a Internet, por não possuir recursos de manipulação do protocolo TCP/IP;


Assinale a opção que contém as afirmações corretas:


A

I, apenas


B

I e II, apenas


C

II e III, apenas


D

I e III, apenas


E

I, II e III

Considere o programa a seguir escrito em linguagem C.


#include <stdio.h>

int TAM(int n) {

int x;

if (n == 1) {

return(1 + n);

}

x = TAM(n/2) + TAM(n/2);

return(x);

}

int main() {

int n = 16;

printf("%d ", TAM(n));

}


Após a execução do programa, o resultado é


A

16


B

32


C

256


D

272


E

1.024

Quanto às principais características das linguagens: Java, C e C++, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F).


( ) A maioria dos códigos escritos em C pode ser compilada em C++.

( ) A linguagem C é considerada como tipicamente orientada a objetos.

( ) As IDE's Eclipse e NetBeans não comportam o desenvolvimento em Java.


Assinale a alternativa que apresenta a sequência correta de cima para baixo:


A

V - F - F


B

V - V - F


C

F - V - V


D

F - F - V

Os operadores aritméticos são responsáveis pelas operações matemáticas a serem realizadas em um computador. Operações estas que devem seguir a ordem de prioridade matemática. Os operadores relacionais realizam comparações resultando em uma expressão booleana. Já os operadores lógicos são utilizados quando se deseja combinar mais de uma condição.


A codificação a seguir está escrita em linguagem C e apresenta o uso destes operadores.


1. #include <stdio.h>

2. void main (){

3. double a, b, c, x;

4. a = 3;

5. b = 2;

6. c = 1;

7. a = b * c;

8. b = b * b;

9. c = b * a;

10. if (b > a && b > c){

11. b = c * 3 - (a + 5);

12. c = b - a * c * 2;

13. } else {

14. c = c + 2 * b + 2;

15. b = c * 2 - a * 2;

16. }

17. x = a + b + c;

18. printf(“SOMA DE A, B e C = %lf”, x);

19. }


Após a análise do código apresentado, é possível afirmar que o valor apresentado na tela pela variável X ao término do programa é:


A

4


B

18


C

52


D

124

Analise o código abaixo escrito em C.

-

int main() {

int a, b;

a = 3;

b = 7;

int c = a * (b + a);

c = b;

printf(“%d”; c);

return

}

-

Assinale, a seguir, o valor impresso ao final da execução do código.


A

7


B

10


C

24


D

30

Sobre os modificadores de tipo de uma variável na linguagem C é INCORRETO afirmar que (,)


A

o modificador short determina que uma variável terá apenas 16 bits, independentemente do processador. Pode ser utilizado nos tipos int e float.


B

além dos cinco tipos básicos, a linguagem C possui quatro modificadores de tipos.


C

o modificador signed determina que uma variável declarada dos tipos char ou int poderá ter valores positivos ou negativos.


D

o modificador signed é o modo-padrão de definição de variáveis tipo char ou int.


E

o modificador long faz o inverso do modificador short.

Considere o seguinte código na linguagem de programação C:

-

Imagem associada para resolução da questão

-

A sua execução imprimirá na tela


A

10 - 10 - 10 - 20 - 10


B

10 - 10 - 1101004800 - 20.000000 - 0.000000


C

10 - 10 - 20 - 20.000000 - 20.000000


D

A execução deste código gerará uma falha de segmentação.


E

A execução deste código gerará um erro de compilação.

Dado o trecho de código em C abaixo, a complexidade do algoritmo é


for(x = 0; x < num - 1; x++){

for(y = 0; y < num - x - 1; y++){

if(arr[y] > arr[y + 1 ]){

temp = arr[y];

arr[y] = arr[y + 1];

arr[y + 1] = temp;

}

}

}


A

O(n).


B

O(1).


C

O(log n).


D

O(n2).

Considere o programa em linguagem C abaixo, que será executado em condições ideais.


#include <stdio.h>

#include <conio.h>

#define MAX 7

int vet[MAX] = {2, 5, 9, 14, 22, 31, 44};

int comeco, fim, meio, chave;


void main(void) {

--{

---printf("\nForneça o elemento a ser procurado (-1 finaliza): ");

---scanf("%d",&chave);

---if (chave == -1) ;


---comeco = 0;

---fim = MAX-1;

---{

---meio = (comeco + fim)/2;

---if (chave < vet[meio])

-----fim = meio -1;

---else

-----comeco = meio +1;

---} while (vet[meio] != chave && comeco <= fim);

---if (vet[meio] == chave)

-----printf("\nO elemento está na posição %d", meio);

---else

-----printf("\nNão existe o elemento procurado no vetor");

---}

---printf("\nFim do programa");

}


Para que o programa funcione corretamente de acordo com a lógica prevista em um algoritmo de pesquisa em vetor ordenado, as lacunas I, II e III devem ser preenchidas, correta e respectivamente, por:


A

while (chave <> -1) – break - repeat


B

for (;;) – break - do


C

while (1) – continue - repeat


D

while (true) – stop - do


E

for (int i=0; i<MAX; i++) – continue - do

   
Gerar simulado