Escolar Documentos
Profissional Documentos
Cultura Documentos
Aluno:
2ª Avaliação
int main() {
registro reg;
reg.n = 3;
reg.c = 'A';
uniao uni;
uni.c = 'B';
uni.n = reg.c;
printf("%c - %d - %d", uni.c, sizeof(reg), sizeof(uni));
}
3. Sabendo que as regras de associatividade podem variar de uma linguagem de programação para
outra, analise o código abaixo e informe o que será impresso caso o operador de adição possua
associatividade da direita para esquerda e da esquerda para direita.
int function(int i, int *j) {
*j += 5;
return i + *j;
}
int main() {
int a = 3;
int b = 2;
b = function(a, &b) + b;
printf("%d", b);
}
4. Analise o código abaixo e informe o que será impresso caso a linguagem em questão suporte
avaliação curto-circuito.
int par(int *i) {
*i = (*i % 2 == 0) ? 1 : 0;
return *i;
}
int main() {
int a = 9;
if ((a > 3) || par(&a)) {
printf("%d", a);
} else {
printf("%d", a);
}
}
5. Considerando as estruturas de controle disponíveis no Java, informe o que será impresso pelo
código abaixo.
prim: for (int i = 5; i >= 0; i-=2) {
for (int j = 0; j < 2; j++) {
switch (i + j) {
case 1:
System.out.println("A");
case 2:
System.out.println("B");
continue prim;
case 3:
case 4:
System.out.println("C");
continue;
case 5:
System.out.println("D");
default:
System.out.println("E");
break;
}
}
}