///
Explore grátis as questões de concursos e chegue mais preparado nas provas.
279 questões encontradas
Considere as seguintes definições de enum e struct em C:
#include <stdio.h>
enum Status {
INATIVO,
ATIVO,
PENDENTE,
REMOVIDO
};
struct Usuario {
int id;
enum Status status;
};
int main() {
struct Usuario u1;
u1.id = 101;
u1.status = PENDENTE;
if (u1.status == 2) {
printf("Usuario pendente");
} else {
printf("Outro status");
}
return 0;
}Assinale a opção que apresenta a saída impressa pelo programa quando executado.
Analise o seguinte trecho de código em linguagem C:
#include <stdio.h>
int arr[] = {10, 20, 30, 40, 50};
int *ptr = arr;
int resultado = *(ptr + 2) + *(arr + 3);
printf("%d", resultado);
return 0;Assinale a opção que apresenta a saída impressa pelo programa quando executado.
Analise a seguinte implementação em linguagem C de uma árvore binária:
#include <stdio.h>
#include <stdlib.h>
typedef struct No{
int valor;
struct No *esq;
struct No *dir;
}No;
void func(No *raiz){
if(raiz != NULL){
func(raiz->esq);
printf("%d ",raiz->valor);
func(raiz->dir);
}
}
int main(){
No *n1 = malloc(sizeof(No));
No *n2 = malloc(sizeof(No));
No *n3 = malloc(sizeof(No));
No *n4 = malloc(sizeof(No));
No *n5 = malloc(sizeof(No));
n1->valor = 4;
n2->valor = 2;
n3->valor = 6;
n4->valor = 1;
n5->valor = 3;
n1->esq = n2;
n1->dir = n3;
n2->esq = n4;
n2->dir = n5;
n3->esq = NULL;
n3->dir = NULL;
n4->esq = NULL;
n4->dir = NULL;
n5->esq = NULL;
n5->dir = NULL;
func(n1);
return 0;
}Assinale a alternativa que apresenta a saída produzida pelo programa.
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.
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.
Analise o seguinte código em linguagem C:
int x = 5;
int *p = &x;
int **pp = &p;A expressão **pp acessa:
Analise o seguinte código em linguagem C:
#include <stdio.h>
void func(int *v, int n){
int i;
for(i=0;i<n;i++){
v[i] = v[i] * 2;
}
}
int main(){
int a[4] = {1,2,3,4};
func(a,4);
printf("%d %d %d %d",a[0],a[1],a[2],a[3]);
}A saída produzida pelo programa será:
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:
#include <stdio.h>
void altera(int *x) {
*x = *x + 5;
}
int main() {
int m[2][2] = {{1,2},{3,4}};
altera(&m[1][0]);
printf("%d\n", m[1][0]);
return 0;
}Considerando a execução do programa apresentado, qual valor será exibido?
Analise o seguinte programa escrito em linguagem C conforme o padrão ANSI C:
#include <stdio.h>
int main() {
int v[5] = {5, 1, 4, 2, 3};
int i, j, temp;
for(i = 0; i < 4; i++){
for(j = 0; j < 4 - i; j++){
if(v[j] > v[j+1]){
temp = v[j];
v[j] = v[j+1];
v[j+1] = temp;
}
}
}
printf("%d %d %d %d %d\n", v[0], v[1], v[2], v[3], v[4]);
return 0;
}Considerando a execução do algoritmo apresentado, qual será a saída exibida pelo programa?
Analise o seguinte programa escrito em linguagem C conforme o padrão ANSI C:
#include <stdio.h>
#include <string.h>
int main() {
char senha[8];
printf("Digite a senha: ");
gets(senha);
if(strcmp(senha, "admin") == 0){
printf("Acesso permitido\n");
} else {
printf("Acesso negado\n");
}
return 0;
}Considerando as práticas de codificação segura estabelecidas pelo padrão CERT C Coding Standard e pela OWASP, qual alternativa descreve corretamente o principal problema de segurança presente no código?