Questões de Concurso
Sobre c em programação
Foram encontradas 323 questões
Atenção: Para responder às questões de números 37 e 38, examine o programa C# abaixo.
using System;
using System.Security.Cryptography;
using System.Text;
class Program{
static void Main(){
string senha = "Tribunal Regional do Trabalho 12a região";
string senhaCriptografada = CriptografarSenha(senha) ;
Console.WriteLine($"Senha: (senha)");
Console.WriteLine($"Senha Criptografada: (senhaCriptografada)");
}
static string CriptografarSenha(string senha){
using (SHA256 sha256 = SHA256.Create()) (
byte() bytes = Encoding.UTF8.GetBytes(senha);
StringBuilder builder = new StringBuilder() ;
for (int i = 0; i < hashBytes.Length; i++)
builder.Append(hashBytes[i].ToString("x2")) ;
return builder. ToString() ;
}
}
}
O programa C# faz referência ao SHA-256. Associando a criptografia com a segurança em redes sem fio, é correto afirmar que o
Atenção: Para responder às questões de números 37 e 38, examine o programa C# abaixo.
using System;
using System.Security.Cryptography;
using System.Text;
class Program{
static void Main(){
string senha = "Tribunal Regional do Trabalho 12a região";
string senhaCriptografada = CriptografarSenha(senha) ;
Console.WriteLine($"Senha: (senha)");
Console.WriteLine($"Senha Criptografada: (senhaCriptografada)");
}
static string CriptografarSenha(string senha){
using (SHA256 sha256 = SHA256.Create()) (
byte() bytes = Encoding.UTF8.GetBytes(senha);
StringBuilder builder = new StringBuilder() ;
for (int i = 0; i < hashBytes.Length; i++)
builder.Append(hashBytes[i].ToString("x2")) ;
return builder. ToString() ;
}
}
}
Considerando que o programa C# seja executado em condições ideais, para que a senha criptografada seja gerada e impressa corretamente, a lacuna I deve ser preenchida com:
Considere o seguinte trecho de código em C, que implementa o algoritmo de busca em um vetor de inteiros:
#include <stdio.h>
int busca(int arr[], int n, int x) {
int i;
for (i = 0; i < n; i++) {
if (arr[i] a == x) {
return i;
}
}
retum-1;
}
int main(){
int arr[] = {5, 10, 15, 20, 25};
intn = sizeof(arr)/sizeof(arr(0]);
intx = 15;
int indice = busca(arr, n, x);
if (indice == -1) {
printf(*%d nao encontrado no array\n", x);
}else {
printf(*%d encontrado no indice %d\n", x, indice);
}
return 0;
}
Qual é a saída esperada para esse programa, e qual é o algoritmo de busca implementado?
Considere o seguinte trecho de código em C:
#include <stdio.h>
void funcao(int a, int b) {
int temp = a;
a=b;
b = temp;
}
int main() {
int x = 10, y = 20;
funcao(x, y);
printf("× = %d, y = %d\n", x, y);
return 0;
}
Qual será a saída desse programa?
Considere a seguinte definição de uma estrutura de nó em uma árvore binária em C:
struct node {
int value;
struct node *esquerda;
struct node *direita;
}:
Qual é o resultado da seguinte operação de inserção em uma árvore binária com a raiz apontada pelo ponteiro root?
void insere_no(struct node **root, int value){
if (*root== NULL){
*root = (struct node) malloc(sizeof(struct node)):
(*root)->value = value;
(*root)->esquerda = NULL;
(*root)->direita = NULL;
}else if (valor < (*root)->value){
insere_no(&(*root)->esquerda, value);
}else {
insere_no(&(*root)->direita, value);
}
}

struct celula { int info; struct celula *next; };
Deseja-se inserir um elemento na última posição da lista. Considere que novo e p são ponteiros para struct celula. A variável novo aponta para uma nova célula, que deverá ser inserida no final da lista. A variável p é apenas um auxiliar apontando para o último elemento da lista. Assumindo como pré-condição que a lista não esteja vazia e que o campo next do último elemento da lista é NULL, qual opção permite inserir um elemento no final da lista?
#include <stdio.h> #include <stdlib.h> int main() { int numero, a, b; numero = 9753; a = ((numero / 100) % 10) * 100; b = ((numero / 1000) % 10) * 1000; printf("a = %d, b = %d\n", a, b); return 0; }
É CORRETO afirmar que:

struct celula { int info; struct celula *next; };
Suponha que a variável p é um ponteiro do tipo struct celula apontando para o primeiro elemento da lista. Dessa maneira, é utilizado como auxiliar para percorrer a lista. Assumindo como pré-condição que a lista não esteja vazia e que o campo next do último elemento da lista é NULL, qual opção permite percorrer e imprimir os elementos da lista?
Considerando o código escrito na linguagem C:
int vetor[10];
for (int i = a ; i <= b ; i++){
printf(“%d “, vetor[i]);
}
Para imprimir todos os itens do vetor, qual deve ser o valor de a e b?
Considerando-se o código escrito na linguagem C:
#include <stdio.h>
#include <stdlib.h>
void compute(int *a, int b){
*a = 10;
b = *a + 2;
}
int main() {
int a, b;
a = 1; b = 2;
compute(&a,b);
printf(“a=%d e b=%d\n”,a,b);
return 0;
}
Qual é o resultado da execução do código?
Considerando-se o código escrito na linguagem C:
#include <stdio.h>
#include <stdlib.h>
int main() {
int x;
int y = 10;
x = --y;
printf(“x=%d e y=%d\n”,x,y);
return 0;
}
Qual é o resultado da execução do código?
Assinale a alternativa que completa, CORRETAMENTE, a lacuna do texto:
#include <stdio.h>
int main() { int i, j; for(i=0;i<2;i++){ for(j=0;j<=3;j++) printf("\n Teste"); } printf("\n i = %d ", i); printf("\n j = %d ", j); return 0; }
Ao compilar e executar o programa, os valores impressos de i e de j são, respectivamente:
int i; for (i = 5; i >= 0; i = i - 1) { printf("Valor: %d\n", i); }
Entretanto, sem querer, João inverteu a ordem das expressões no comando for, e digitou o código como segue:
int i; for (i = 5; i = i - 1; i >= 0) { printf("Valor: %d\n", i); }
Assinale a lista completa dos valores exibidos nesse trecho pela execução da versão equivocada produzida por João.