

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Analise o código abaixo escrito em C.
-
int main() {
int a = 0, b = 1, c = 2;
printf(“%d”; a);
c = a;
printf(“%d”; b);
b = c;
printf(“%d”; c);
return
}
-
Assinale, a seguir, o valor impresso ao final da execução do código.
002;
010;
012;
020;
Considere o programa em C abaixo.
#include <stdio.h>
int main() {
----int y, *p, x;
----y = 0;
----p = &y;
----x = *p;
----x += 10;
----++(*p);
------x;
----(*p) += x;
----printf ("y = %i\n", y);
----return 0;
}
Ao ser compilado e executado em condições ideais, a saída do programa é:
y = 11
y = 9
y = 0
y = 10
y = 1
Dado o trecho de código em C abaixo, o resultado retornado quando os parâmetros a e b são respectivamente, -3 e 7 é:
int efetua_calculo(int a, int b)
{
return abs(a) + (b + a);
}
-4.
7.
4.
-7.
Considere os algoritmos de ordenação sortA e sortB listados a seguir, para ordenação de vetores em ordem crescente descrito em linguagem C++.
template <typename T> void sortA(T v[], int n)
{
for (int i=0; i <n; i ++)
for (int j=i; (j >0) && (v[j] < v[j-1]); j--)
swap(v, j, j-1);
}
template <typename T> void sortB(T v[], int n)
{
for (int i=0; i < (n-1); i++){
int lowindex=i;
for (int j=n-1; j > i; j--){
if (v[j] < v[lowindex]) lowindex=j;
}
swap(v, lowindex, i);
}
}
template <typename T> void swap(T v[], int i, int j){
T temp;
temp=v[i];
v[i]= v[j];
v[j]= temp;
}
É CORRETO apenas o que se afirma em:
O número de execuções da função swap no sortA é constante independentemente do vetor a ser ordenado.
No algoritmo sortB, o valor lowindex e i será sempre diferente na chamada do procedimento swap.
O algoritmo sortA é vantajoso quando o vetor a ser ordenado está em ordem totalmente decrescente.
Dependendo do valor inicial do vetor, o sortB pode exigir menos chamadas da função swap que o sortA.
Na linguagem ANSI C, a variável do tipo int short é alocada em 2 bytes. O range (intervalo) desse tipo de variável é:
−65.535 . . . 65.535
−64.235 . . . 64.235
−32.768 . . . 32.767
−16.345 . . . 16.345
−2.147.483.648 . . . 2.147.483.647
Considere a classe a seguir, escrita na linguagem de programação C++.
class MinhaClasse {
virtual void func_1() = 0;
void func_2(){
printf("tarefa realizada");
}
};
A respeito da classe MinhaClasse, assinale a alternativa correta.
Os dois métodos da classe possuem nível de acesso protected.
Por causa do método func_1, essa classe é abstrata e, por isso, não pode ser diretamente instanciada.
A implementação do método func_2 indica que ele é puramente virtual.
O termo “virtual” indica que o método func_1 é estático.
O método func_1 retorna o valor 0.
Joãozinho está aprendendo a programar. Um dos exercícios que seu professor indicou tinha o seguinte enunciado: “Desenvolva uma função em C que troque os valores de duas variáveis inteiras”. Joãozinho enviou o seguinte código como resposta:

Sobre a correção da questão, é correto afirmar que
o professor dirá que a resposta de Joãozinho está certa.
Joãozinho falhou ao criar uma função que não faz passagem de parâmetros por referência.
na linha 11 Joãozinho deveria ter nomeado as variáveis c e d como a e b.
a função está errada, pois não tem retorno.
Joãozinho deveria reescrever a linha 13 colocando & antes das variáveis.
Qual palavra pode ser utilizada como nome de variável na linguagem C?
volatile
extern
5var
_var5
var5!
Em uma linguagem de programação estruturada, como a linguagem C, é comum dividir o código em conjuntos de instruções que realizam determinada tarefa e que podem ser reaproveitados em mais de um momento ao longo do código. Estes conjuntos podem ser caracterizados como procedimentos ou funções. São definições de procedimentos e funções, EXCETO:
Funções retornam valor.
Procedimentos não retornam valor.
Funções e procedimentos são sinônimos.
Funções podem ser utilizadas em expressões aritméticas dentro de um código.
Considere o trecho de código a seguir, escrito na linguagem de programação C.
#include <stdio.h>
int main() {
char *p;
char letras[] = "abc-def-ghi-jkl-mno-pqr";
p = letras;
p += 4;
printf("%s", p);
return 0;
}
Qual será a saída apresentada na tela após a execução desse código?
-def-ghi-jkl-mno-pqr
mno-pqr
jkl-mno-pqr
-ghi-jkl-mno-pqr
def-ghi-jkl-mno-pqr
Considere o programa a seguir, elaborado na linguagem ANSI C:
#include <stdio.h>
int main()
{
int i,j;
for(i=0; i < 2; i++)
{
for(j=1; j < 3; j++)
{
printf("\nTeste");
}
} r
eturn 0;
}
Assinale a opção CORRETA sobre o número de vezes que a palavra "Teste" será mostrada, ao executarmos o programa:
3
4
5
6
7
Considere o código mostrado a seguir:
#include <stdio.h>
void main()
{
inti = 2;
intj = 3;
inta = i*j;
printf("%d%o %x\n", i*j, i*(i + j), i*j*i);
}
Após a sua execução, aparecerão na tela os seguintes caracteres:
1 1 1
6 12 c
1 2 3
2 4 6
No código escrito abaixo, algumas operações numéricas foram realizadas, apresentando, ao final, o seguinte resultado:
#include <stdio.h>
main ()
{
int n= 5;
int x=n++;
int y = ++n;
printf("x= %d y= %d n= %d",n,x,y);
}
666
657
757
575
Ao executarmos o código abaixo, o resultado apresentado será:
#include <iostream>
using namespace std;
int main () {
int X = 5;
int y = 3;
int z = 1;
cout << ( ( ! 4 - 3) - (x * 10)) - ( (z + 3) + (y * 3));
return O;
}
30
-66
55
-75
Considere o programa a seguir, elaborado na linguagem ANSI C:
#include <stdio.h>
int* pa, a;
int main() {
a = 10;
pa = &a;
a = 8;
printf("%d", a);
printf(" %d", *pa);
}
Assinale a alternativa CORRETA sobre a saída (output) obtida, ao se executar o programa:
8 -----8
10----- 8
8 -----10
10-----10
9 -----10
Quanto às principais características das linguagens: Java, C e C++, analise as afirmativas abaixo e dê valores Verdadeiro (V) ou Falso (F).
( ) A maioria dos códigos escritos em C pode ser compilada em C++.
( ) A linguagem C é considerada como tipicamente orientada a objetos.
( ) As IDE's Eclipse e NetBeans não comportam o desenvolvimento em Java.
Assinale a alternativa que apresenta a sequência correta de cima para baixo:
V - F - F
V - V - F
F - V - V
F - F - V
Os operadores aritméticos são responsáveis pelas operações matemáticas a serem realizadas em um computador. Operações estas que devem seguir a ordem de prioridade matemática. Os operadores relacionais realizam comparações resultando em uma expressão booleana. Já os operadores lógicos são utilizados quando se deseja combinar mais de uma condição.
A codificação a seguir está escrita em linguagem C e apresenta o uso destes operadores.
1. #include <stdio.h>
2. void main (){
3. double a, b, c, x;
4. a = 3;
5. b = 2;
6. c = 1;
7. a = b * c;
8. b = b * b;
9. c = b * a;
10. if (b > a && b > c){
11. b = c * 3 - (a + 5);
12. c = b - a * c * 2;
13. } else {
14. c = c + 2 * b + 2;
15. b = c * 2 - a * 2;
16. }
17. x = a + b + c;
18. printf(“SOMA DE A, B e C = %lf”, x);
19. }
Após a análise do código apresentado, é possível afirmar que o valor apresentado na tela pela variável X ao término do programa é:
4
18
52
124
Analise o código abaixo escrito em C.
-
int main() {
int a, b;
a = 3;
b = 7;
int c = a * (b + a);
c = b;
printf(“%d”; c);
return
}
-
Assinale, a seguir, o valor impresso ao final da execução do código.
7
10
24
30
Sobre os modificadores de tipo de uma variável na linguagem C é INCORRETO afirmar que (,)
o modificador short determina que uma variável terá apenas 16 bits, independentemente do processador. Pode ser utilizado nos tipos int e float.
além dos cinco tipos básicos, a linguagem C possui quatro modificadores de tipos.
o modificador signed determina que uma variável declarada dos tipos char ou int poderá ter valores positivos ou negativos.
o modificador signed é o modo-padrão de definição de variáveis tipo char ou int.
o modificador long faz o inverso do modificador short.
Considere o seguinte código na linguagem de programação C:
-

-
A sua execução imprimirá na tela
10 - 10 - 10 - 20 - 10
10 - 10 - 1101004800 - 20.000000 - 0.000000
10 - 10 - 20 - 20.000000 - 20.000000
A execução deste código gerará uma falha de segmentação.
A execução deste código gerará um erro de compilação.