Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercı́cio 1
Execute o rastreio (teste de mesa) dos programas abaixo.
#include <stdio.h>
#include <stdlib.h>
int main () {
5
float x, y, z;
x = 10;
y = 20;
x = y;
10 y = x;
printf("%f\n%f\n%f\n", x, y, z);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int i, j, k;
i = 2;
j = i + 3;
k = i + i * j - 1;
10 j = j + i;
i = k - j;
printf("%d\n%d\n%d\n", i, j, k);
return 0;
}
Exercı́cio 2
No programa abaixo, qual será a saı́da impressa, supondo que sejam digitados os números inteiros 10 e 20,
nesta ordem ? E se forem digitados os número 20 e 10, nesta ordem? E se forem digitados os números 10 e
10?
#include <stdio.h>
#include <stdlib.h>
int main () {
5
int i, j, k;
i f (i > j)
{
printf("%d maior que %d\n", i, j);
}
15 else
{
k = i;
i = j;
j = k;
20 }
printf("Fora do primeiro if: %d %d\n", i, j);
i f ( j >= i )
{
25 printf("%d menor ou igual a %d\n", i, j);
printf("Dentro do segundo if: %d %d\n", i, j);
}
else
printf("Uma mensagem\n");
30 printf("Outra mensagem\n");
printf("Fim do programa\n");
return 0;
}
Exercı́cio 3
O operador de atribuição, além de modificar o valor da variável, retorna a própria variável modificada, que
pode ser utilizada em seguida. Sabendo disso, qual será a saı́da impressa pelo programa abaixo?
#include <stdio.h>
#include <stdlib.h>
int a, b, c, d, e;
a = 1;
c = b = a;
printf("%d\n%d\n%d\n", a, b, c);
10 e = (d = b + 1) + (a = a + 1);
printf("%d\n%d\n%d\n%d\n%d\n", a, b, c, d, e);
c = 10;
c = d = c + 1;
printf("%d\n%d\n", c, d);
15 c = 10;
c = (c + 1) + (c += 1);
printf("%d\n", c);
a = 1;
b = 2;
20 c = 3;
d = ( a = b + 1 ) + (c = a + 1);
printf("%d\n", d);
a = 1;
b = 2;
25 c = 3;
d = ( c = a + 1 ) + ( a = b + 1 );
printf("%d\n", d);
return 0;
}
Exercı́cio 4
Qual será a saı́da impressa pelo programa abaixo?
#include <stdio.h>
#include <stdlib.h>
int main () {
5
int a, b = 0, c;
a = 0;
i f ( a == 1 )
printf("Primeira mensagem: %d\n", a);
10 if( a = 1 )
printf("Segunda mensagem: %d\n", a);
if( b = 0 )
printf("Terceira mensagem: %d\n", a);
a = 10;
15 b = 20;
c = (a > b) ? 1 : 2;
printf("%d\n", c);
c = (a > b);
printf("%d\n", c);
20 c = (a < b);
printf("%d\n", c);
return 0;
}
Exercı́cio 5
Escreva um programa em C que realiza a soma de 2 frações (da matemática). O programa deve solicitar que
o usuário informe 4 valores inteiros:
Após obter os dados o programa deve calcular a soma das frações e imprimir o resultado. Observação, o
programa não precisa realizar a simplificação do resultado.
Exemplo de execução:
Exercı́cio 6
Identifique os erros e reescreva os identificadores abaixo de forma correta:
• 13salário
• salário$
• salário mı́nimo
• salário+reajuste
• novoSalário
• fumante?
• Preço médio
• %desconto
• km/h
Exercı́cio 7
Indique o resultado das seguintes expressões:
• 2>3
• (6 < 8) OU (3 > 7)
• N AO(2 < 3)
Página 4 de 4