Teste Simulado de Programação C

Esta seção apresenta vários conjuntos de testes de simulação relacionados a C Programming Framework. Você pode baixar esses testes de simulação de amostra em sua máquina local e resolvê-los offline de acordo com sua conveniência. Cada teste simulado é fornecido com uma chave de teste simulado para permitir que você verifique a pontuação final e classifique você mesmo.

Teste Simulado de Programação C I

Q 1 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{ 
   int const a = 5; 
   
   a++; 
   printf(“%d”,a); 
}

A - 5

B - 6

C - erro de tempo de execução

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação - a variável constante não pode ser modificada.

main() 
{ 
   int const a = 5; 
   
   a++; 
   printf(“%d”,a); 
}

Q 2 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{ 
   const int a = 5; 
   
   a++; 
   printf("%d", a); 
}

A - 5

B - 6

C - erro de tempo de execução

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação - a variável constante não pode ser modificada.

main() 
{ 
   const int a = 5; 
   
   a++; 
   printf("%d", a); 
}

Q 3 - Qual é a saída do snippet de código abaixo?

#include<stdio.h>

main() 
{ 
   char s[]="hello", t[]="hello";
   
   if(s==t){
	   printf("eqaul strings");
	}
}

A - cordas iguais

B - Strings desiguais

C - Sem saída

D - Erro de compilação

Resposta: C

Explicação

Sem saída, pois estamos comparando os dois endereços de base e eles não são iguais.

Q 4 - Qual é a saída do snippet de código abaixo?

#include<stdio.h>

main() 
{ 
   int a = 5, b = 3, c = 4; 
   
   printf("a = %d, b = %d\n", a, b, c);
}

A - a = 5, b = 3

B - a = 5, b = 3, c = 0

C - a = 5, b = 3, 0

D - erro de compilação

Resposta: A

Explicação

a = 5, b = 3, pois existem apenas dois especificadores de formato para impressão.

Q 5 - Qual é a saída do trecho de código abaixo?

#include<stdio.h>

main() 
{ 
   int a = 1; 
   float b = 1.3; 
   double c;
   
   c = a + b; 
   printf("%.2lf", c);
}

A - 2,30

B - 2,3

C - Erro de compilação

D - 2.0

Resposta: A

Explicação

2,30, a adição é válida e após decimal com é especificado para 2 casas.

Q 6 - Qual é a saída do programa a seguir?

#include<stdio.h>

main() 
{
      enum { india, is=7, GREAT };

      printf("%d %d", india, GREAT);
}

A - 0 1.

B - 0 2

C - 0 8

D - Erro de compilação

Resposta: C

Explicação

0 8, enums fornece a sequência começando com 0. Se atribuída com um valor, a sequência continua a partir do valor atribuído.

Q 7 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{
    char c = 'A'+255;
   
    printf("%c", c);
}

A - A

B - B

C - Erro de estouro em tempo de execução

D - Erro de compilação

Resposta: A

Explicação

A, o intervalo de valores ASCII para os caracteres ASCII é 0-255. Portanto, a operação de adição circula de volta para 'A'

Q 8 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{
   short unsigned int i = 0; 
   
   printf("%u\n", i--);
}

A - 0

B - Erro de compilação

C - 65535

D - 32767

Resposta: A

Explicação

0, com o valor do operador pós-decremento da variável será considerado como o valor da expressão e posteriormente será diminuído.

Q 9 - Qual é a saída do trecho de código abaixo?

#include<stdio.h>

main() 
{
   unsigned x = 5, y=&x, *p = y+0; 

   printf("%u",*p);
}

A - Endereço de x

B - Endereço de y

C - Endereço de p

D - 5

Resposta: D

Explicação

5, já que p contém o endereço de x que é y + 0

Resposta: D

Explicação

Opção (d), como o tamanho de int e unsigned é o mesmo, não há problema em alocar memória.

Q 11 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{
   int x = 5;
   
   if(x==5)
   {	
       if(x==5) break;
       printf("Hello");
   } 
   printf("Hi");
}

A - Erro de compilação

B - oi

C - olá olá

D - Olá

Resposta: A

Explicação

erro de compilação, a quebra de palavra-chave pode aparecer apenas dentro da instrução loop / switch.

Q 12 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{
   int x = 5;
   
   if(x=5)
   {	
       if(x=5) break;
       printf("Hello");
   } 
   printf("Hi");
}

A - Erro de compilação

B - oi

C - olá olá

D - Aviso do compilador

Resposta: A

Explicação

erro de compilação, a quebra de palavra-chave pode aparecer apenas dentro da instrução loop / switch.

Q 13 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main() 
{
   int x = 5;
   
   if(x=5)
   {	
      if(x=5) printf("Hello");
   } 
   printf("Hi");
}

A - Olá, olá

B - oi

C - Olá

D - Erro do compilador

Resposta: A

Explicação

HelloHi, ambas as expressões da instrução if avaliadas como verdadeiras.

Q 14 - Qual é a saída do trecho de código abaixo?

#include<stdio.h>

main() 
{
   for(;;)printf("Hello");
}

A - Loop infinito

B - Imprime “Hello” uma vez.

C - Sem saída

D - Erro de compilação

Resposta: A

Explicação

loop infinito, com a segunda expressão de 'para' ausente, é considerado verdadeiro por padrão.

Q 15 - Qual é a saída do snippet de código abaixo?

#include<stdio.h>

main() 
{
   for()printf("Hello");
}

A - Loop infinito

B - Imprime “Hello” uma vez.

C - Sem saída

D - Erro de compilação

Resposta: D

Explicação

Erro do compilador, ponto e vírgula precisa aparecer, embora as expressões sejam opcionais para o loop 'for'.

Q 16 - Qual é a saída do trecho de código abaixo?

#include<stdio.h>

main() 
{
   for(1;2;3)
      printf("Hello");
}

A - Loop infinito

B - Imprime “Hello” uma vez.

C - Sem saída

D - Erro de compilação

Resposta: A

Explicação

loop infinito, como a segunda expressão é diferente de 0, portanto, a condição é sempre verdadeira.

Q 17 - int x = ~ 1; Qual é o valor de x'?

A - 1

B - -1

C - 2

D - -2

Resposta: D

Explicação

-2, o elogio de um de 1 é 1110 (binário) que é equivalente ao elogio de 2 de dois, ou seja, -2.

Q 18 - Qual é o resultado do seguinte programa?

#include<stdio.h>

void f() 
{ 
   static int i;
   
   ++i; 
   printf("%d", i); 
}

main()
{ 
   f(); 
   f(); 
   f(); 
}

A - 1 1 1

B - 0 0 0

C - 3 2 1

D - 1 2 3

Resposta: D

Explicação

1 2 3, Uma variável local estática retém seu valor entre as chamadas de função e o valor padrão é 0.

Q 19 - Qual é a saída do seguinte trecho de código?

#include<stdio.h>

main()
{ 
   int *p = 15; 
   printf("%d",*p);
}

A - 15

B - valor de lixo

C - erro de tempo de execução

D - Erro do compilador

Resposta: C

Explicação

Erro de tempo de execução, como a variável de ponteiro não está mantendo o endereço adequado, escrever / ler os dados da mesma gera erro de tempo de execução.

Q 20 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{	
    register int x = 5;

    int *p;
    p=&x;
    x++;
    printf("%d",*p);
}

A - Erro de compilação

B - 5

C - 6

D - Valor de lixo

Resposta: A

Explicação

Erro de compilação, não podemos obter o endereço de uma variável de registro.

Q 21 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int x = 65, *p = &x;
   
   void *q=p;
   char *r=q;
   printf("%c",*r);
}

A - personagem Garbage.

B - A

C - 65

D - Erro de compilação

Resposta: B

Explicação

Um ponteiro void é um ponteiro genérico e pode conter o endereço de qualquer variável. O caractere ASCII para o valor 65 é 'A'

Q 22 - Qual é o resultado do seguinte programa?

#include<stdio.h>

void f() 
{
    printf(“Hello\n”);
}
main() 
{
 ;
}

A - Sem saída

B - Erro, pois a função não é chamada.

C - Erro, pois a função é definida sem sua declaração

D -Error, pois a função main () é deixada vazia

Resposta: A

Explicação

Nenhuma saída, além da opção (a), o resto dos comentários contra as opções são inválidos.

Q 23 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   printf("\");
}

A - \

B - \ "

C - "

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação. A string de formato de printf não foi encerrada.

Q 24 - Qual é o resultado do seguinte programa?

#include<stdio.h>

{ 
   int x = 1;
   switch(x) 
   {
      default: printf("Hello");
      case 1: printf("hi"); break;
   }
}

A - Olá

B - oi

C - olá olá

D - Erro de compilação

Resposta: B

Explicação

Olá, o controle atinge o caso padrão após comparar o resto das constantes de caso.

Q 25 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   struct { int x;} var = {5}, *p = &var;
   
   printf("%d %d %d",var.x,p->x,(*p).x); 
}

A - 5 5 5

B - 5 5 valor de lixo

C - 5 5 0

D - Erro de compilação

Resposta: A

Explicação

5 5 5, as duas maneiras possíveis de acessar os elementos da estrutura usando um ponteiro é usando -> (operador de seta) OR *.

Q 26 - Qual é o resultado do seguinte programa?

#include<stdio.h>

void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

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

A - 3 5

B - 5 3

C - 5 5

D - Erro de compilação

Resposta: B

Explicação

5 3, o mecanismo de chamada por valor não pode alterar os argumentos reais.

#include <stdio.h>
void swap(int m, int n)
{
   int x = m;
   
   m = n;
   n = x;
}
main()
{
   int x=5, y=3;

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

Q 27 - O que será impresso para a declaração abaixo?

#include<stdio.h>

main()
{
   printf("%d",strcmp("strcmp()","strcmp()"));
}

A - 0

B - 1

C - -1

D - Uso inválido da função strcmp ()

Resposta: A

Explicação

0, strcmp retorna 0 se ambas as strings forem iguais

P 28 - O que o programa a seguir está fazendo?

#include<stdio.h>

main()
{
   FILE *stream=fopen("a.txt",'r');
}

A - Tentando abrir “a.txt” no modo de leitura

B - Tentando abrir “a.txt” no modo de escrita.

C - “stream” é um identificador inválido

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação, o segundo argumento para fopen é inválido, deve ser uma string.

Q 29 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{   
   int r, x = 2;
   float y = 5;

   r = y%x;
   printf("%d", r); 
}

A - 1

B - 0

C - 2

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação, é inválido que qualquer um dos operandos para o operador de módulo (%) seja um número real.

Q 30 - Qual operador é utilizado para continuar a definição da macro na próxima linha?

A - #

B - ##

C - $

D - \

Resposta: D

Explicação

\, os dois primeiros são operadores stringize e token pasteing, respectivamente. Não existe tal operador chamado $.

Q 31 - Qual é o tamanho da seguinte definição de sindicato?

#include<stdio.h>

union abc { 
    char a,b,c,d,e,f,g,h; 
    int i;
}abc;

main()
{
   printf( "%d", sizeof( abc ));
}

A - 1

B - 2

C - 4

D - 8

Resposta: C

Explicação

o tamanho da união é o maior tamanho de elemento dele. Todos os elementos do sindicato compartilham uma memória comum.

Q 32 - Qual é o tamanho de 'int'?

A - 2

B - 4

C - 8

D - dependente do compilador

Resposta: D

Explicação

O tamanho de 'int' depende do compilador, ou seja, se é de 16 ou 32 bits.

Q 33 - O nome do tipo / palavra reservada 'curta' é ___

A - curto longo

B - caractere curto

C - flutuação curta

D - curto int

Resposta: D

Explicação

short é usado como uma alternativa de short int.

Q 34 - Qual é o valor de 'y' para o seguinte trecho de código?

#include<stdio.h>

main()
{
   int x = 1;
   
   float y = x>>2;
   
   printf( "%f", y );
}

A - 4

B - 0,5

C - 0

D - 1

Resposta: C

Explicação

0, os bits de dados são perdidos para a operação de deslocamento acima, portanto, o valor é 0.

Q 35 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{  
   float t = 2;

   switch(t)
   {
       case 2: printf("Hi");
       default: printf("Hello");
   }
}

A - oi

B - olá

C - Olá

D - Erro

Resposta: D

Explicação

Erro, a expressão do switch não pode ser um valor flutuante.

Q 36 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int i = 1;
   
   while(++i <= 5)
      printf("%d ",i++);
}

A - 1 3 5

B - 2 4

C - 2 4 6

D - 2

Resposta: B

Explicação

2 4, em while primeiro incrementado e depois comparado e em printf impresso primeiro e incrementado depois

Q 37 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int i = 1;
   
   while( i++<=5 )
      printf("%d ",i++);
}

A - 1 3 5

B - 2 4

C - 2 4 6

D - 2

Resposta: C

Explicação

2 4 6, em while primeiro comparado e depois incrementado e em printf impresso primeiro e incrementado depois.

Q 38 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int i = 1;
   
   while(i++<=5);
       printf("%d ",i++);
}

A - 4

B - 6

C - 2 6

D - 2 4

Resposta: B

Explicação

6, há uma declaração vazia após 'enquanto'.

Q 39 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int x = 1;
   
   do
      printf("%d ", x);
   while(x++<=1);
}

A - 1

B - 1 2

C - Sem saída

D - Erro de compilação

Resposta: B

Explicação

1 2, do..while é um loop de controle de entrada. Como a expressão x ++ é pós-forma, o loop também continua pela segunda vez.

Q 40 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   int a[] = {1,2}, *p = a;
   
   printf("%d", p[1]); 
}

A - 1

B - 2

C - Erro de compilação

D - Erro de tempo de execução

Resposta: B

Explicação

2, como 'p' contém o endereço de base, então podemos acessar o array usando 'p' assim como com 'a'

Q 41 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   int a[3] = {2,1};
   
   printf("%d", a[a[1]]); 
}

A - 0

B - 1

C - 2

D - 3

Resposta: B

Explicação

1, A indireção interna é avaliada como 1 e o valor no índice 1 para a indireção externa é 1.

Q 42 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   int a[3] = {2,,1};
   
   printf("%d", a[a[0]]); 
}

A - 0

B - 1

C - 2

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação, sintaxe inválida ao inicializar a matriz.

Q 43 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   int a[] = {2,1};
   
   printf("%d", *a); 
}

A - 0

B - 1

C - 2

D - Erro de compilação.

Resposta: C

Explicação

2, como 'a' se refere ao endereço de base.

Q 44 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{
   int i = 1;
   
   Charminar:
   printf("%d ",i++);
   if(i==3) break;
   if(i<=5) goto Charminar;
}

A - 1 2

B - 1 2 3

C - 1 2 4 5

D - Erro de compilação

Resposta: D

Explicação

Erro de compilação, lugar errado para o 'intervalo' aparecer.

Q 45 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{ 
   int i = 13, j = 60;
   
   i ^= j;
   j ^= i;
   i ^= j;
   
   printf("%d %d", i, j);
}

A - 73 73

B - 60 13

C - 13 60

D - 60 60

Resposta: B

Explicação

60 13, sua troca.

Q 46 - Qual é o resultado do seguinte programa?

#include<stdio.h>

main()
{	
   union abc {
      int x;
      char ch;
   }var;

   var.ch = 'A';
   printf("%d", var.x);
}

A - A

B - valor de lixo

C - 65

D - 97

Resposta: C

Explicação

65, como as variáveis ​​de união compartilham memória comum para todos os seus elementos, x obtém 'A' cujo valor ASCII é 65 e é impresso.

Q 47 - Identifique o modo incorreto de abertura de arquivo a partir do seguinte.

A - r

B - w

C - x

D - a

Resposta: C

Explicação

x, não existe um modo denominado “x”.

Q 48 - A função fopen () com o modo "r +" tenta abrir o arquivo para __

A - leitura e escrita

B - ler e adicionar novos conteúdos

C - apenas para leitura

D - funciona apenas para diretórios

Resposta: A

Explicação

Opção (a), o arquivo deve existir e ser aberto para leitura e gravação.

Q 49 - Identifique a constante inválida usada na função fseek () como referência 'de onde'.

A - SEEK_SET

B - SEEK_CUR

C - SEEK_BEG

D - SEEK_END

Resposta: C

Explicação

SEEK_BEG, todo o resto são constantes válidas definidas em 'stdio.h'

Q 50 - Primeiro sistema operacional desenvolvido em linguagem de programação C.

A - DOS

B - Windows

C - UNIX

D - Mac

Resposta: C

Explicação

UNIX. C realmente inventou para escrever um sistema operacional chamado UNIX. Em 1973, todo o sistema operacional UNIX é projetado usando C.

Folha de respostas

Número da Pergunta Palavra chave
1 D
2 D
3 C
4 UMA
5 UMA
6 C
7 UMA
8 UMA
9 D
10 D
11 UMA
12 UMA
13 UMA
14 UMA
15 D
16 UMA
17 D
18 D
19 C
20 UMA
21 B
22 UMA
23 D
24 B
25 UMA
26 B
27 UMA
28 D
29 D
30 D
31 C
32 D
33 D
34 C
35 D
36 B
37 C
38 B
39 B
40 B
41 B
42 D
43 C
44 D
45 B
46 C
47 C
48 UMA
49 C
50 C