Hoja de problemas Variables y Operadores

Anuncio
Fundamentos de Informática
Departamento de Estadı́stica, I.O. y Computación
Ingenierı́a Técnica Industrial - Electrónica Industrial
Hoja de problemas
Variables y Operadores
1. ¿Cuáles son los rangos de valores que pueden almacenar las siguientes dos variables
si son almacenadas en 32 bits?.
int entero;
unsigned int positivo;
2. Explica la diferencia entre estas sentencias de asignación: ¿Cuál es el tipo de datos
de la variable A en cada caso?
A = B y A = ’B’
A = 7 y A = ’7’
3. Para el siguiente código, indica cuáles son los valores que van a ser impresos en cada
sentencia printf.
int t;
/* Esta variable es global */
{
int t = 2;
printf("%d\n", t);
{
printf("%d\n", t);
t = 3;
}
printf("%d\n", t);
/* B */
printf("%d\n", t);
/* D */
/* A */
/* C */
}
{
}
1
4. Escribe las declaraciones apropiadas para almacenar los siguientes valores:
a) El precio en euros de un objeto.
b) El nombre de una asignatura.
c) El número de páginas de un libro.
d ) El sexo de una persona: Hombre / Mujer
e) Un año.
f ) Un número de teléfono.
g) El DNI de una persona.
h) Sı́ / No.
5. Dados a = 6 y b = 9 dos variables enteras, ¿cuál es el resultado de las siguientes
expresiones?. Si el valor de a o b cambian, indicar también su nuevo valor.
a)
a | b
b)
a || b
c)
a & b
d)
a && b
e)
!(a + b)
f)
a% b
g)
b / a
h)
b% a
i)
a = b
j)
a = b = 5
k)
++a + b--
6. Escribe una expresión en C que permita realizar la comparación con la variable
caracter letra
a) Comprobar si letra es un caracter alfabético o un dı́gito numérico.
b) Comprobar si letra es cualquier caracter excepto un caracter alfabético o un
dı́gito númerico.
c) Comprobar si letra es cualquier caracter excepto un espacio (espacio, tabulador,
etc.) o un dı́gito númerico.
7. Explica las diferencias entre las siguientes sentencias en C:
a)
j = i++;
b)
j = ++i;
2
c)
d)
j = i + 1;
i += 1;
¿Con cuáles de las siguientes sentencias se obtiene el mismo resultado?. ¿Qué sentencias modifican el valor de i ?. ¿Cuáles modifican el de j ?. Si los valores iniciales de i y j son i = 1 y j = 0, ¿cuáles son sus valores después de ejecutar
cada una de las sentencias de forma independiente?.
¿cuál es el valor de la variable result después de ejecutar las siguientes sentencias
en C?
result = b + 1 | c + a;
result = b + 1 || c + a;
8. Declarar una estructura para representar el horario de un determinado tren cuyos
campos son:
a) Número: 6 dı́gitos.
b) Origen: 25 caracteres.
c) Destino: 25 caracteres.
d ) Hora salida: HHMM.
e) Hora llegada: HHMM.
f ) Hora paso: HHMM.
g) Número de vagones: 3 dı́gitos.
En la estructura se emplea para los campos de hora una estructura auxiliar con dos
campos HH (hora) y MM (minutos) con dos dı́gitos cada uno de ellos.
9. Consideremos una biblioteca compuesta únicamente por libros y revistas. En el
catálogo figuran por cada libro o revista la siguiente información:
a) Número de referencia: 6 dı́gitos.
b) Tı́tulo: 30 caracteres.
c) Nombre del autor: 20 caracteres.
d ) Nombre del editor: 25 caracteres.
e) Clase de publicación (Libro o Revista).
f ) Año de publicación.
g) Nombre de la revista: 20 caracteres.
Definir un tipo de datos que represente la información que nos brinda el catálogo.
3
10. En una secretarı́a de un Centro Universitario se concede cita previa a 20 alumnos al
dı́a para realizar su matrı́cula. Para cada alumno se almacena su nombre, apellidos,
dni y el año de nacimiento. Escribir las declaraciones de variables apropiadas.
11. Se utiliza un array para almacenar descripciones de personas. Cada elemento del
array es una estructura cuyos campos contienen información acerca de la altura, el
peso, el color del cabello, el color de los ojos y el sexo. Escribir las declaraciones de
variables apropiadas.
12. Se quiere almacenar el número de litros de lluvia que caen en una ciudad cada
dı́a durante un año. Escribir la declaración de variable apropiada. ¿Y si se quiere
almacenar el número de litros por dı́a en cada una de las Islas Canarias?, ¿cómo se
modifica la declaración anterior?.
13. Una empresa quiere almacenar el número de artı́culos de cada tipo que vende cada
dı́a de la semana. Teniendo en cuenta que vende 30 tipos distintos de artı́culos,
escribir la declaración de variable apropiada.
14. Escribir un programa que lea 2 enteros, calcule su suma y la imprima por pantalla.
15. Escribir un programa que convierte un número dado de segundos en el equivalente
de minutos y segundos.
16. Escribir un programa que lea dos enteros y calcule e imprima su producto, cociente
y resto cuando el primero se divide por el segundo.
17. Una temperatura en grados centrı́grados se puede convertir a una temperatura
equivalente Fahrenheit con la siguiente fórmula:
f = (9/5) ∗ c + 32
donde c : temperatura en grados centı́grados y
f : temperatura en grados fahrenheit
Escribir un programa en C que lea una temperatura c (número decimal) y obtenga
la temperatura f (número real).
18. Escribir un programa que lea 3 valores enteros, los almacene en un array, realice la
suma de los tres valores y muestre el resultado por pantalla.
19. Escribir un programa que utilice la estructura realizada para representar el horario
de un tren, lea los datos de un tren de teclado y posteriormente los muestre por
pantalla.
4
Descargar