Você está na página 1de 4

CEA 030 (Prof.

: Priscila Ávila ): Lista de Exercı́cios #1

UNIVERSIDADE FEDERAL DE OURO PRETO


DEPARTAMENTO DE COMPUTAÇÃO E SISTEMAS DE INFORMAÇÃO
CEA030 - PROGRAMAÇÃO DE COMPUTADORES I

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 main (){


5

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;

Exercı́cio 2 continua na próxima página. . . Página 1 de 4


CEA 030 (Prof.: Priscila Ávila ): Lista de Exercı́cios #1Exercı́cio 2 (continuação)

printf("Digite 2 valores inteiros: \n");


scanf("%d", &i);
scanf("%d", &j);
10

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 main (){


5

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);

Exercı́cio 3 continua na próxima página. . . Página 2 de 4


CEA 030 (Prof.: Priscila Ávila ): Lista de Exercı́cios #1Exercı́cio 3 (continuação)

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:

• numerador da primeira fração

• denominador da primeira fração

Exercı́cio 5 continua na próxima página. . . Página 3 de 4


CEA 030 (Prof.: Priscila Ávila ): Lista de Exercı́cios #1Exercı́cio 5 (continuação)

• numerador da segunda fração

• denominador da segunda fração

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:

Informe o numerador da primeira fração:


5
Informe o denominador da primeira fração:
4
Informe o numerador da segunda fração:
6
Informe o denominador da segunda fração:
8
A soma e: 64/32.

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)

• (((10 DIV 2) M OD 6) > 5) E (3 < (2 M OD 2))

• N AO(2 < 3)

Página 4 de 4