22. Sentencia switch
● Permite realizar selección múltiple
Sintaxis
switch (variable)
{
case valor1 :
/* acción o acciones a realizar */
break;
case valor2 :
/* acción o acciones a realizar */
break;
… default :
/* acción o ac
24. Sentencia condicional
iterativa do-while
● Sintaxis
do
/* acción o bloque de acciones */
while (condición)
● Note que la condición no se verifica hasta que no se hayan
ejecutado las instrucciones indicadas entre las palabras do y
while.
● Al igual que la instrucción while itera mientras la condición sea
verdadera.
26. Entrada / Salida Estándar
#include <stdio.h> Standard Input-Output Library
● Operaciones básicas de E/S
○ Define tres “streams” estándar: stdin, stdout y stderr
■ Un stream es una especie de canal a través del cual fluyen los datos.
● Pantalla
○ stdin
○ stderr
● Teclado
○ stdin
27. E/S básica en C
int getchar() – lee un carácter desde stdin
int putchar(char c) – escribe el carácter 'c' en stdout
otras getline()
E/S formateada en C
printf() y scanf()
Permiten aplicar formato a los datos de E/S
● cantidad de decimales
● justificación de texto
● conversión a mayúsculas/minúsculas
● numeración hexadecimal, etc.
Ambas funciones toman al menos dos argumentos (pueden ser mas):
● La cadena de formato
● Los datos a enviar a la salida, en el caso de printf() o a recibir de la entrada, en el caso de
scanf()
28. La cadena de formato
Es un literal encerrado entre comillas dobles (“ y “) precedida de un símbolo '%'.
Especificadores frecuentemente utilizados:
Especificador Significado
c Un carácter (char)
i,d Número entero (int o double)
x,X Número hexadecimal (0-9 A-F)
s Cadena de caracteres (char *)
f Número de punto flotante (float o double)
m.n M cifras enteras y n decimales
- Ajuste de texto a la izquierda
k Número de cifras de un número entero
29. La cadena de formato puede incluir literales y caracteres especiales tales como
'n' Nueva línea
't' Tabulación
'0' Carácter nulo (fin de cadena)
Ejemplos printf()
printf(“%-1.3fn”, 3.1415927);
3.141
printf(“IVA: 21,5%%n”);
IVA: 21,5%
Ejemplos scanf()
char string[80];
scanf(``%s'',string);
30. scanf("%d",&numdato)
%d indica que se lee con formato entero.
#include <stdio.h>
int scanf(const char *format,...);
En el ejemplo el caracter "&" se usa para indicar la dirección de memoria, es decir, "lee a un valor con
formato entero y lo guarda en la dirección de memoria numdato".
31. La función getchar
La función getchar es equivalente a la función getc(stdin).
#include <stdio.h>
int getchar(void);
Aquí void indica que no se necesita ningún argumento para llamar a la función, pues entiende que
leeremos el carácter desde la entrada estándar.
El siguiente programa lee dos caracteres introducidos por el usuario desde el teclado, de las dos
formas posibles vistas hasta ahora, y luego los imprime en la pantalla:
#include <stdio.h>
int main(void)
{
int caracter1;
char caracter2;
printf("Por favor, teclea dos caracteres seguidos:n");
caracter1 = getc(stdin);
caracter2 = getchar();
printf("El primer caracter que has introducido es: %cn",caracter1);
printf("El segundo caracter que has introducido es: %cn",caracter2);
return 0;
}
32. La función puts
La función puts se usa para escribir una secuencia de caracteres al flujo de salida estándar:
#include <stdio.h>
int *puts(const char *s);
s Se refiere al array que contiene la cadena de caracteres. Si la función se realiza correctamente,
devuelve 0. Si no, devuelve algo distinto de cero.
El siguiente programa muestra un ejemplo del funcionamiento de gets y puts.
#include <stdio.h>
#define TAM_MAXIMO 80
int main(void)
{
char cadena[TAM_MAXIMO];
printf("Por favor, escribe una línea de no más de 80 caracteres:n");
gets(cadena);
printf("La línea que has introducido es:n");
puts(cadena);
return 0;
}
33. La función printf ”print formatted”
printf("El valor es %d.n", contador);
El símbolo “%” denota el comienzo de la marca de formato
La marca “%d” se reemplaza por el valor de la variable contador
El símbolo “n” representa un salto de líne