NEW
Font size
WorksheetsQuiz de Programação em C
Total questions: 17
Worksheet time: 9mins
Em C, qual das seguintes declarações de variáveis é inválida?
int nota1;
float salário_total;
char ende'reço;
double _valor;
Considere o seguinte código em C: #include int main() { int x = 5, y = 3; x = y - x; y = 2 * y * (-x); printf("x = %d, y = %d", x, y); return 0; } Qual será a saída desse programa?
x = -2, y = 12
x = -2, y = -12
x = 2, y = 12
x = 2, y = -12
Qual é a função do operador % em C?
Realizar a divisão exata entre dois inteiros.
Retornar o quociente da divisão entre dois inteiros.
Determinar o resto da divisão inteira.
Converter um número decimal para inteiro.
Qual será a saída do código abaixo, assumindo que o usuário digita o valor 3 quando solicitado?
#include <sdtio.h>
int main() {
int x;
scanf("%d", &x);
x = x + x;
printf("%d\n", x);
return 0;
}
3
6
9
Nenhuma saída, pois há erro no código.
No código a seguir, qual será o valor final de y?
#include <stdio.h>
int main() {
int x = 2, y = 6, temp;
temp = x;
x = y;
y = temp;
return 0;
}
2
6
8
4
Qual será a saída do programa a seguir? #include <stdio.h>
int main() {
float x = 2.78;
printf("%10.2f\n", x);
return 0;
}
____2.780
______2.78
_______2.78
2.780000
Em relação às variáveis de ponto flutuante em C, qual afirmação está correta?
O tipo float tem maior precisão que o tipo double.
Para imprimir um double no printf, é obrigatório usar %lf.
A precisão de long double é menor que a de double.
O tipo float ocupa menos memória que o tipo double.
Considere o seguinte trecho de código:
#include <stdio.h>
int main() {
int nota1 = 8, nota2 = 9, nota3 = 7;
float media;
media = ((float)(nota1 + nota2 + nota3)) / 3;
printf("Média: %.2f\n", media);
return 0;
}
O que ocorre se a conversão explícita (float) for removida?
A média será calculada corretamente como um número real.
A média será arredondada para o número inteiro mais próximo.
O programa apresentará um erro de compilação.
A média será truncada para um valor inteiro.
O que o programa abaixo imprime no monitor?
#include <stdio.h>
int main() {
int x = 8, y = 3;
printf("%d \n", x == y);
x = y;
printf("%d \n", x == y);
return 0;
}
0 0
1 1
0 1
1 0
Considere o programa abaixo:
#include <stdio.h>
int main() {
float x;
int resultado;
printf("Digite um número: ");
scanf("%f", &x);
resultado = x > 20;
printf("Resultado: %d\n", resultado);
return 0;
}
Se o usuário digitar 15.5, qual será a saída?
1
Erro de compilação por uso incorreto de operadores booleanos.
0
15
Considere o seguinte código:
#include <stdio.h>
int main() {
int x = 10, y = 20;
if (x > y){
printf("X é maior que Y\n");}
else{
printf("X não é maior que Y\n");}
return 0;
}
Qual será a saída do programa?
X é maior que Y
X não é maior que Y
Nenhuma saída, o programa apresenta erro de compilação.
O programa imprime um valor indeterminado.
No programa a seguir, qual é o valor de maior ao final da execução, considerando x = 5 e y = 8?
#include <stdio.h>
int main() {
int x, y, maior;
x = 5;
y = 8;
maior = (x > y) ? x : y;
return 0;
}
O valor de maior é imprevisível.
8
Erro de compilação, operador ternário inválido.
5
Qual é a saída do código abaixo quando o usuário digita 2?
#include <stdio.h>
int main() {
int num;
printf("Digite um número: ");
scanf("%d", &num);
if (num % 2 == 0) {
printf("Número par\n");
} else {
printf("Número ímpar\n");
}
return 0;
}
Número ímpar
Número par
Nenhuma saída, o programa apresenta erro de execução.
Número ímpar Número par
Considere o código abaixo:
#include <stdio.h>
int main() {
int a = 15, b = 10, c = 5;
if (a > b && b > c) {
printf("A sequência é decrescente\n");
} else {
printf("A sequência não é decrescente\n");
}
return 0;
}
O que será impresso no monitor?
A sequência é decrescente
A sequência crescente
Nenhuma saída, o programa possui erro lógico.
A sequência não é decrescente seguido de A sequência é decrescente.
17. Considere o código abaixo:
#include <stdio.h>
int main() {
int i = 0, soma = 0;
while (i < 5) {
soma += i;
i++;
}
printf("Soma = %d\n", soma);
return 0;
}
Qual será a saída do programa?
Soma = 10
Soma = 15
Soma = 0
Soma = 5
Sobre o código abaixo, qual das seguintes opções descreve corretamente o comportamento do programa?
#include <stdio.h>
int main() {
int valor;
printf("Digite um valor: ");
scanf("%d", &valor);
if (valor < 0)
printf("Negativo\n");
else if (valor == 0)
printf("Zero\n");
else
printf("Positivo\n");
return 0;
}
O programa imprime "Negativo" para qualquer número menor que zero, "Zero" para zero e "Positivo" para valores maiores que zero.
O programa imprime "Zero" para qualquer entrada.
O programa possui um erro lógico e não compila.
O programa imprime "Positivo" para qualquer número inteiro.
Identifique o erro do programa a seguir. O programa implementa um menu onde o usurário deverá selecionar 1 ou 0. Caso seja entrado um número diferente, o programa deverá solicitar uma nova opção.
#include <stdio.h>
int main() {
int op;
do {
printf("Entre com 1 para sim e 0 para nao\n");
scanf("%d", op); }
while(op!=1 && op!=0);
printf("A sua opcao foi: %d", op);
getch(); }
#include <stdio.h>
int main() {
int op;
do {
printf("Entre com 1 para sim e 0 para nao\n")
scanf("%d", &op); }
while(op!=1 && op!=0);
printf("A sua opcao foi: %d", op);
getch(); }
#include <stdio.h>
int main() {
int op;
do {
printf("Entre com 1 para sim e 0 para nao\n");
scanf("%d", &op); }
while(op!=1 && op!=0);
printf("A sua opcao foi: %d", op);
getch(); }
#include <stdio.h>
int main() {
int op;
do {
printf("Entre com 1 para sim e 0 para nao\n");
scanf("%d", &ope); }
while(op!=1 && ope!=0);
printf("A sua opcao foi: %d", ope);
getch(); }
