Programación en C © 2004 Airton Filho.Traducción 2006, Lourdes Sada

Tareas para el Capítulo 4

A4.1) ¿Cuál es el valor de la variable x en cada uno de estos casos?

a) x = 2 + 3

b) x = 2 * 3 + 4

c) x = 5 + (6 + 4) / 2

d) x = 10 % 3 * 4 + 5 * 2

e) x = 10 % 2

f) x = 27 % 7

g) x = 5 / 4

h) x = 7.0 / 4.0

i) x = 7.0 / 4

A4.2) ¿Cuál es el resultado del siguiente programa?

main( )
{
int a, b;
float x,z;
a = 10;
b = 3;
z = a/b;
x = (float)a/b;
printf("a/b = %.3f\n",z);
printf("(float) a/b = %.3f\n",x);
return 0;
}

A4.3) ¿Cuál es la diferencia entre un operador «prefijado» y uno «postfijado»?

A4.4) Hallar el valor de x

Si a = 11, ¿Qué valor se asignará a x?

A) x = ++a % 3;

B) x = a++ % 3;

Si b = 7, ¿qué valor se asignará a x en el caso siguiente? ¿Cuál es el valor de b después de la asignación?

x = -b++;


A4.5) Si en principio x = 5, y = 0, y z = 1, ¿cuál es el valor de x, y, z después de ejecutar el siguiente código?

if (z == 0 || x && !y)
{
if (!z)
y = 1;
else
x = 2;
}

A4.6) Si en principio x = 0, y = 1, z = 2, ¿cuál es el valor de x, y, z después de ejecutar el siguiente código?

if (z < x || y >= z && z ==1)
{
if (z && y)
y = 1;
else
x = 1;
}

A4.7) Si en principio y x = 2, y = -1, y z = 0, ¿cuál es el valor de x, y, z después de ejecutar el siguiente código?

if (z = x > y)
{
x += 3;
y -= 2;
x = 2;
}
else
x = y++;

Las respuestas correctas a estas preguntas se encuentran en el Apéndice 1.

[Su opinión es importante. Si tiene un comentario, corrección o pregunta respecto a este capítulo, envíe un mensaje a comments@peoi.org].