Questões de Concurso sobre C#

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

Sobre a linguagem C#, é INCORRETO afirmar que:


A

É orientada a objetos.


B

É interpretada.


C

Há duas categorias principais de tipos de variáveis: tipos de referência e tipos de valor.


D

É fortemente tipada.


E

É orientada a componentes.

Considere os programas em C# e em PHP a seguir:


C#


using System;

namespace TratamentoExcecao (

class Program (

static void Main(:string[] arqs) (

try( double num = 10;

double den = 0;

double r = FazDivisao(num, den);

Console.WriteLine($"Resultado da divisao: {r}");

}

catch (DivideByZeroException ex) {

Console.WriteLine($"Erro: (ex.Message}");

}

catch (Exception ex) {

Console.WriteLine($"Erro desconhecido: {ex.Message}");

}

}

static double FazDivisao(double n, double d) (

if (d==0) (

}

return n / d;

}

}

}

PHP


<?php

function divide($a, $b) {

if ($b === 0) {

}

return $a / $b;

}


try {

$num1 = 10;

$num2 = 0;

$resultado = divide($num1, $num2);

echo "O resultado da divisão é: " . $resultado;

} catch (Exception $e) {

echo "Erro: " . $e->getMessage ();

}

?>








Em condições ideais, para que cada um dos programas possa ser executado fazendo o tratamento de exceção relativo à divisão e sejam impressas as frases exatamente iguais, as lacunas I e II devem ser corretamente preenchidas com:


A

Lacuna I

Lacuna II

throw new Exception ("Divisão por zero não é válida.")

throw new Exception ("Divisão por zero não é válida.")


B

Lacuna I

Lacuna II

throw new DivideByZeroException("Divisão por zero não é válida.")

throw new DivideByZeroException("Divisão por zero não é válida.")


C

Lacuna I

Lacuna II

throw new DivideByZeroException("Divisão por zero não é válida.")

throw new Exception ("Divisão por zero não é válida.")


D

Lacuna I

Lacuna II

throw new Exception ("Divisão por zero não é válida.")

throw new DivideByZeroException("Divisão por zero não é válida.")


E

Lacuna I

Lacuna II

throw new DivideByZeroException("Divisão por zero não é válida.")

throw new Exception_DivideByZero("Divisão por zero não é válida.")

A plataforma .NET permite escrever aplicativos em linguagens como C#, F# ou Visual Basic. A Figura 3, abaixo, apresenta um trecho de código-fonte escrito na linguagem C#.


string[]nomes = {''João'',''Maria'',''Paulo'',''Silvia'',''Vitor''};


for (int cont = 1; cont <= 4; cont ++)

{

Console.WriteLine(''{0}'', nomes[cont]);

}


Figura 3 – Código-fonte em C#


Qual das alternativas apresenta uma alteração em uma das linhas do código-fonte da Figura 1 que fará com que sejam impressos todos os elementos do array "nomes"?


A

string[5] nomes = {"João", "Maria", "Paulo", "Silvia", "Vitor"};


B

for (int cont = 1; cont < 4; cont++)


C

for (int cont = 0; cont <= 4; cont++)


D

Console.WriteLine("{cont}", nomes[cont]);


E

Console.WriteLine("{5}", nomes[cont]);

Assinale a alternativa que descreve corretamente o conceito de polimorfismo em C#.


A

É uma técnica de programação que permite que um objeto possa ser substituído por outro sem alterar o comportamento do sistema.


B

É uma técnica de programação que permite que um objeto seja criado por outro objeto.


C

É uma técnica de programação que permite que uma classe possa herdar os membros de outra classe.


D

É uma técnica de programação que permite que uma classe possa ser instanciada várias vezes.


E

É uma técnica de programação que permite que uma variável possa referenciar objetos de diferentes tipos.

Qual classe é usada para criar uma caixa de diálogo de seleção de arquivo em um aplicativo Windows Forms em C#?


A

OpenFileDialog


B

MessageBox


C

FileDialog


D

SaveFileDialog


E

InputDialog

Assinale a alternativa que apresenta a sintaxe correta para gerar Prefeitura de Santana de Parnaiba em C#.


A

Console.WriteLine("Prefeitura de Santana de Parnaiba");


B

Print ("Prefeitura de Santana de Parnaiba");


C

System.out.println("Prefeitura de Santana de Parnaiba");


D

Echo("Prefeitura de Santana de Parnaiba");

As linhas de código abaixo identificam a linguagem de programação que é:


class Car

{

int maxSpeed;

static void Main(string[ ]args)

{

Car myobj = new Car ( ) ;

myobj . maxSpeed = 200;

console.WriteLine (myObj.color);

console.WriteLine (myObj.maxSpeed);

}

}


A

Visual Basic


B

PHP


C

C++


D

C#

Na linguagem de programação C#, os indexadores (indexers) permitem que


A

consultas realizadas sobre listas sejam executadas mais rapidamente.


B

índices sejam criados automaticamente nas tabelas do banco de dados.


C

matrizes se mantenham ordenadas quando seu conteúdo é modificado.


D

instâncias de classes possam ser acessadas com o auxílio de um índice, como se fossem matrizes.


E

diversas instâncias de uma classe possam ser criadas simultaneamente.

Assinale a estrutura correta de acordo com a sintaxe do C#.


A

using System;

namespace HelloWorld;

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Assim funciona!");

}

}


B

using System;

namespace HelloWorld;

class Program

{

static void Main(parameters)

{

Console.WriteLine("Assim funciona!");

}

}


C

using System;

namespace HelloWorld

{

class Program

{

proc Main(string[] args)

{

Console.WriteLine("Assim funciona!");

}

}

}


D

using System;

namespace HelloWorld

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Assim funciona!");

}

}

}


E

using System;

namespace HelloWorld

{

class static Main(string[] args)

{

Console.WriteLine("Assim funciona!");

}

}

}

No âmbito da linguagem C#, analise o trecho de código a seguir.


class Pessoa

{

private string nome;

public string Nome

{

get { return nome; }

set { nome = value; }

}

}


A sintaxe C# permite que a sexta e a sétima linhas sejam resumidas pelo trecho:


A

{ get; set; }


B

{ get(); set(value); }


C

{ get <- nome; set -> nome; }


D

get { -> nome }

set { nome <= args[] }


E

get { return this.nome; }

set { let this.nome = args[]; }

C# é uma linguagem de programação orientada a objetos que permite a criação de sistemas por meio de um código bem estruturado, a qual utiliza modificadores de acesso que descrevem o alcance da acessibilidade de um objeto e seus membros. O modificador cujo alcance da acessibilidade é limitado apenas dentro das classes ou estruturas em que é declarado é


A

internal.


B

internal protected.


C

private.


D

public.


E

protected.

No contexto da linguagem C#, considere o código a seguir.


using System;

namespace MyApplication

{

class Program

{

static void Main(string[] args)

{

int[] a = {4,64,32};

a[0] = a[0] >> 2;

a[1] = ++a[1] + 1;

a[2] = a[2] % 3;


foreach (int x in a)

{ Console.WriteLine(x);

}

}

}

}


Assinale a lista de números exibidos na execução desse código.


A

0, 66, 1


B

1, 66, 2


C

2, 64, 3


D

4, 65, 2


E

8, 66, 0

Um desenvolvedor necessita fazer uma iteração em C# e está em dúvida sobre qual laço deve utilizar. Sabe-se que o desenvolvedor não conhece a quantidade de vezes que o laço é executado, entretanto o desenvolvedor sabe que o laço deve ser executado ao menos uma vez. Diante do exposto, com qual das alternativas a seguir a iteração deve ser efetuada?


A

while (<expressão de teste>) {

//executa instrução

};


B

for (<inicialização>;<critério de parada>;

<variável de controle>){

//executa instrução

}


C

foreach (<tipo de dado> <variável> in <nome

vetor>) {

//executa instrução

}


D

Switch (<variável>){

case <valor1>://executa instrução

case <valor2>://executa instrução

case <valorn>://executa instrução

}


E

do {

//executa instrução

} while (<expressão de teste>);

No contexto da linguagem C#, considere o código a seguir.


namespace NS

{ abstract class C1

{ public abstract void M1();

public void M2()

{

. . . .

}}

----------------

class P

{ static void Main(string[] args)

{

C2 x = new C2();

x.M1();

x.M2();

}}}

A estrutura de código que substitui corretamente o tracejado é:


A

public override void M2()

{ . . . . .

}


B

class C2 : C1

{ public override void M2()

{ . . . . .

}}


C

class C1 : C2

{ public override void M1()

{ . . . . .

}}


D

class C2 : C1

{ public override void M1()

{ . . . .

}}


E

class C1 : C2

{ public override void M2()

{ . . . . .

}}

Considere o código C# a seguir:


using System;

public delegate void A();

class Program {

public static void B(String msg) {

Console.WriteLine(msg);

}

public static void Main() {

A x = B;

x();

}

}


Esse código apresenta erro, pois


A

o método Main não possui os argumentos obrigatórios.


B

a definição do método B difere do tipo delegado A.


C

a declaração do tipo delegado A deveria estar dentro da classe Program.


D

o tipo delegado A deveria retornar String para poder ser utilizado como parâmetro do método B.


E

métodos estáticos não podem ser utilizados para a criação de objetos delegados.

Observe a porção de código abaixo, ele pertence a uma das linguagens de marcação de hypertexto:


<video width="320" height="240" controls="controls">

<source src="movie.mp4” type="video/mp4" />

<source src="movie.ogg" lype="video/ogg" />

Seu navegador não suporta a tag vídeo.

</video>


A qual linguagem de marcação de texto pertence o código exibido?


Assinale a alternativa correta:


A

CSS


B

HTML5


C

PHP


D

JavaScript


E

C#

Observe o código C# a seguir.


namespace MyApplication

{

class Program

{

static void Main(string[] args)

{

for (int i = 0; --i < 5; i++)

{

Console.WriteLine(i);

}}}}


Assinale o conteúdo exibido no dispositivo de saída.


A

O número -1 repetido indefinidamente.


B

Os números 0, 1, 2, 3, 4.


C

Os números 0, 1, 2, 3, 4 repetidos cinco vezes.


D

Os números 0, 1, 2, 3, 4, 5.


E

Os números 1, 2, 3, 4, 5.

No contexto da linguagem C#, analise as etapas do ciclo de vida de uma página ASP.NET, exibidos em ordem alfabética.

Initialization

Load Page

Request

Postback

Postback event handling

Rendering

Start

Unload

Dentre as etapas listadas acima, assinale as duas primeiras etapas, na ordem em que ocorrem.


A

Initialization e Load.


B

Load e Page Request.


C

Page Request e Start.


D

Postback e Rendering.


E

Start e Postback.

   
Gerar simulado