Ejercicios Página 70

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Ejercicios página 70

1) Identificar los errores en cada uno de los siguientes literales, pudiera existir más de
un error por cada enunciado. Luego corregir esos errores:

b) Scanf (“%d”, un_entero);


scanf (“%d”, un_entero);

e) printf (“Residuo de %d dividido por %d es\n”, x, y, x % y);

printf (“%d %% %d es\n”, x % y);

h) printf (“El valor ingresado es: %d/n, &valor);

printf (“El valor ingresado es: %d/n”, &valor);

2) Indicar ¿Cuáles de los siguientes literales son verdaderas y falsos? Explicar su


respuesta:

a) La función printf (“a=5”); es un ejemplo típico de una expresión de asignación.


FALSO
Para signar una valor en la función printf primero se lo hace con los
especificadores de formatos printf (“%d”, 5);

c) La función scanf (“Ingrese un número: %d”, &numero); puede ingresar un dato


con un mensaje.
FALSO
Ya que para leer una cadena de caracteres o texto, porque con el primer espacio
en blanco termina el proceso de lectura.

d) La función scanf (“%s”, &nombre); ingresa una cadena declarada como char
nombre [31];
VERDADERA
Los caracteres leídos de una cadena son asignados al argumento de scanf (), que
es un arreglo de caracteres.

3) Encontrar los errores en cada uno de los siguientes segmentos de programa. Explicar
cómo pueden ser corregidos cada uno de ellos:

c) printf (“%c\n”, ‘Esta es una cadena’);


1. código %c solo se utiliza para carácter no para una cadena.

printf (“%c\n”, ‘x’);


f) printf (%f, 123.456);
1. Le falta las comillas en “%f ”

printf (“%f ”, 123.456);

h) char s [10];
scanf (“%c”, s [7]);
1. Debemos colocar en este caso en intervalos de A-H
scanf (“%[A-H]”, s);

i) int ent;
scanf (“%d”, ent);
1. Le falta la dirección que se es &
scanf (“%d”, &ent);

4) Interpretar el significado de la “cadena de control” de cada función scanf ():

 scanf (“%12|d %5hd %15|f %15|e”, &a, &b, &c, &d);

%12|d= leer al menos 12 espacios en un numero entero decimal largo.


%5hd = leer al menos 5 espacios en un numero entero decimal corto.
%15|f =leer al menos 15 espacios en un número double.
%15|e = leer al menos 15 espacios en un número double.

 scanf (“%12d %hd %15f %15e”, &a, &b, &c, &d);

%12d = leer al menos 12 espacios en un numero entero decimal.


%hd = leer un numero entero decimal corto.
%15f = leer al menos 15 espacios en un numero de tipo punto flotante.
%15e = leer al menos 15 espacios en un numero de tipo punto flotante.

5) Un programa en lenguaje C contiene la siguiente sentencia de declaración:


Int i, j, k;
Escribir de forma adecuada una función scanf () que permita introducir los valores
numéricos de i, j y k, asumiendo que:
b) Los valores de i, j, k son enteros decimales y cada uno no excede los seis
caracteres.
scanf (“%6d %6d %6d”, &i, &j, &k);
d) El valor de i es un entero decimal, j un entero octal y k un entero hexadecimal, y
cada cantidad no excede de los ocho caracteres.
scanf (“%8d %8o %8x”, &i, &j, &k);
f) Los valores de i y j son enteros hexadecimales, k un entero octal, y cada cantidad
tiene siete o menos caracteres.
scanf (“%7x %7x %7o”, &i, &j, &k);
6) Un programa en lenguaje C contiene las sentencias de declaración:
int i, j;
long ix;
short s;
unsigned u;
float x;
double dx;
char c;
Escribir una función scanf () que realice cada uno de los siguientes literales,
suponiendo que todos los enteros se leerán como cantidades decimales:
a) Introducir los valores de i, ix, j, x, u, dx, c, s.
scanf (“%d %i %d %f %u %f %c %d”, &i, &ix, &j, &x, &u, &dx, &c, &s);
c) Introducir los valores de i, ix, j, x y u, suponiendo que cada cantidad entera no
excede los cinco caracteres, el entero largo no excede más de doce caracteres y la
cantidad en punto flotante no excede los diez caracteres.
scanf (“%5d %5i %5d %10f %12u”, &i, &ix, &j, &x, &u,);

d) Introducir los valores de i, u y c, suponiendo que cada cantidad entera no excede


más de los nueve caracteres.
scanf (“%9d %9u %c”, %i, &u, &c);

7) Un programa en lenguaje C contiene la siguiente sentencia de declaración:


char texto [80];
Escribir una función scanf () que lea una cadena de caracteres y se le asigne al
arreglo texto:
b) Suponiendo que la cadena de caracteres solo contiene letras minúsculas, espacios
en blanco y un carácter de nueva línea.
scanf (“%[a-\n]”, texto);
d) Suponiendo que la cadena de caracteres contiene cualquier carácter salvo al
asterisco para indicar el final de la cadena.
scanf (“%[\0-*]”, texto);
8) Un programa en lenguaje C contiene las sentencias de declaración:
char a, b, c;
int u, v;
float x, y;

Suponiendo que se desea introducir el carácter ‘$’ y se le asigna a a, que a b se le


asigne el carácter ‘*’, que a c se le asigne ‘@’, que a u se le asigna el valor 12, que a
v se le asigna el valor -8, que a x se le asigna el valor 0.011 y que a y se le asigna el
valor -2.2x 108.

Mostrar cómo se deben introducir los datos para cada una de las siguientes
funciones scanf (), en caso de ser posibles:

c) scanf (“%s %s %s”, &a, &b, &c);

No es posible ya que %s se utiliza para leer una cadena

g) scanf (“%d %d %e %e”, &u, &v, &x, &y);

scanf (“%d %d %e %e”, 12, -8, 0.011, -22e8);

i) scanf (“%3d %3d %8f %8e”, &u, &v, &x, &y);

scanf (“%3d %3d %8f %8e”, 15 -5, 1100000, -2.2e16);

9) Un programa en lenguaje C contiene las sentencias de declaraciones:


int i, j, k;
int a=0177, b=055, c=0xa8, d=0x1ff;

Escribir una función printf () para cada uno de los siguientes grupos de variables o
expresiones, suponiendo que todas las variables representan enteros decimales:

c) sqrt (i+j), fabs (i-k)

printf (“%d %d”, sqrt, fabs);

e) (i+j) y (i-k), con una longitud de campo mínima de cinco caracteres por
cantidad.

printf (“La suma de %d y %d:%5d”, i , j, resultado);


printf (“La resta de %d y %d:%5d”, i, k, resultado);

g) a, b, c, b
printf (“%o %o %x %x”, 0177, 055, 0xa8, 0x1ff);
10) Un programa en lenguaje C contiene la sentencia de declaración:
float x, y, z;

Escribir una función printf () para cada uno de los siguientes grupos de variables o
expresiones, utilizando el especificado de formato f para cada cantidad de punto
flotante:

b) (x+y), (x-z)

printf (“La suma de %f y %f: %f”, x, y, resultado);


printf (“La resta de %f y %f : %f”, x, z, resultado);

e) (x+y) y (x-z), con una longitud de campo mínima de ocho características por
cantidad.

printf (“La suma de %f y %f : %8f”, x, y, resultado);


printf (“La resta de %f y %f : %8f”, x, z, resultado);

g) x, y y z, con una longitud de campo mínima de ocho caracteres por cantidad, con
cuatro cifras decimales.

printf (“%8.4f %8.4f %8.4f”, x, y, z);

j) Repetir los literales anteriores utilizando el especificador de formato e.

b) printf (“La suma de %e y %e: %e”, x, y, resultado);


printf (“La resta de %e y %e : %e”, x, z, resultado);

e) printf (“La suma de %e y %e : %8e”, x, y, resultado);


printf (“La resta de %e y %e : %8e”, x, z, resultado);

g) printf (“%8.4e %8.4e %8.4e”, x, y, z);

11) Suponiendo que i, j y k son variables enteras, donde i representan una cantidad
octal, j una cantidad decimal y k una cantidad hexadecimal. Escribir una función printf
() adecuada para cada una de los siguientes enunciados:

a) Escribir los valores de i, j y k con una longitud de campo mínima de ocho


caracteres por cada valor.

printf (“%8o %8d %8x”, i, j, k);


b) Repetir el literal a) con cada dato ajustado a la izquierda de su campo

printf (“%-8o %-8d %-8x”, i, j, k);

12) Un programa en lenguaje C contiene las sentencias de declaración:


int i, j;
long ix;
short s;
unsigned u;
float x;
double dx;
char c;

Escribir una función printf () para cada uno de los siguientes enunciados. Supóngase
que todos los enteros se desean presentar como cantidades decimales:

b) Escribir los valores de i, j, x y dx, suponiendo que cada cantidad entera tiene una
longitud de campo mínima de cuatro caracteres y cada cantidad de punto flotante se
presenta en notación exponencial con un total de al menos 14 caracteres y no más de
8 cifras decimales.

printf (“%4d %4d %14.8e %14.8e”, i, j, x, dx);

d) Escribir los valores de i, ix, j, x y u, suponiendo que cada cantidad entera tiene
una longitud de campo mínima de cinco caracteres y el entero largo tiene una
longitud de campo mínima de 12 caracteres y la cantidad de punto flotante tiene al
menos 10 caracteres con un máximo de 5 cifras decimales, no incluir el exponente.

printf (“%5d %12i %5d %10.5f %5u”, i, ix, j, x, u);

g) Escribir los valores de j, u y x, visualizando las cantidades enteras con una


longitud de campo mínima de cinco caracteres, y la cantidad en punto flotante
utilizando el especificador de formato f, con una longitud de campo mínima de 11
caracteres y máximo de 4 cifras decimales.

printf (“%5d %5u %11.4f”, j, u, x);

h) Repetir el literal g) con cada dato ajustado a la izquierda dentro de su campo.

printf (“%-5d %-5u %-11.4f”, j, u, x);

13) Un programa en lenguaje C contiene las sentencias de declaración:


int a = 12345, b= 0xabcd9, c= 077777;
int i = 12345, j = -13579, k = -2468;
long ix = 123456789;
short sx = -3333;
unsigned ux = 666;

Mostrar la salida resultante de cada una de las siguientes funciones printf ():

e) printf (“%08d %08d %08d \n\n %015|d %08d %8u”, i, j, k, ix, sx, ux);

El programa imprime:
i= 00012345 j= -0013579 k= -0002468
ix= 000000123456789 sx= -0003333 ux= 666

g) printf (“%3d %3x %3o”, a, b, c);

El programa imprime:
a= 123 b= 0xa c= 077

k) printf (“%08d %#8x %#8o”, a, b, c);

El programa imprime:
a= 00012345 b= 0xabcd9 c= 077777

14) Un programa en lenguaje C contiene la declaración:


float a = 2.5, b = 0.0005, c = 3000;
Mostrar la salida resultante de cada una de las siguientes funciones:
a) printf (“%f %f %f”, a, b, c);
printf (“f %f %f”, 2.5 , 0.0005 , 3000.00);

f) printf (“%8.2e %8.2e %8.2e”, a, b, c);


printf (“%8.2e %8.2 %8.2e”, 2.50, 000.05, 003000);

j) printf (“%g %g %g”, a, b, c);


printf (“%g %g %g”, 2.5, 5e4, 300.00);
15) Un programa en lenguaje C contiene la sentencia de declaración:
char a, b, c;
Realizar los siguientes literales:
a) Ingresar los valores de a, b y c mediante funciones getchar ().
a=getchar ()
b= getchar ()
c= getchar ()
b) Visualizar los valores ingresados de putchar ().
putchar (‘a’, ‘b’, ‘c’)

d) Repetir los literales a) y b) utilizando solo una función scanf () y printf (),
respectivamente.
a) scanf (“%c %c %c”, &a, &b, &c);
printf (“%c %c %c”, a, b, c);

b) scanf (“%c %c %c”, &a, &b, &c);


printf (“%c %c %c”, a, b, c);

También podría gustarte