Printf
Función para mostrar información en pantalla. El primer parámetro es una cadena con texto y posiciones para variables.
Símbolos utilizados:
| Símbolo | Tipo |
|---|---|
%c |
Carácter |
%d, %i |
Enteros con signo |
%e, %E, %f, %g, %G |
Números reales |
%s |
Cadenas |
%u |
Decimal sin signo |
%x |
Entero sin signo |
\t |
Tabulador |
\n |
Salto de línea |
Ejemplo: "El número %i multiplicado por %i es %i \n"
Scanf
Función simétrica a printf para leer valores desde teclado. Utiliza los mismos símbolos y requiere direcciones de memoria (punteros) con el símbolo &.
Compilar en Linux
gedit nombreArchivo.c & # Editar archivo
gcc nombrePrograma.c # Compilar
gcc -o nombrePrograma nombreArchivo.c # Compilar con nombre personalizado
./nombrePrograma # Ejecutar
Selección múltiple (Switch)
Estructura que ejecuta acciones según el valor de una variable. Solo funciona con tipos escalares.
caso <nombreVariable> sea
<constante 1>: <acción 1>
<constante 2>: <acción 2>
…
<default>: <acción d>
Iteración indexada (For)
para <nombreVariable>:=<expresión> hasta <expresión> hacer
<acción>
fpara
Iteración condicionada (Do-While)
hacer
<acción>
mientras que condición
Tipo Carácter
Se representan mediante códigos ASCII o UNICODE. Las constantes se escriben entre comillas simples: 'a'
Funciones principales:
ord()— Convierte carácter a código numérico.chr()— Convierte código numérico a carácter.
Algoritmos de ejemplo
Algoritmo ordenAlfabetico
{Lee un caracter. Si es del alfabeto, nos da su posición en él}
variables
letra:caracter;
principio
leerCaracter(teclado,pantalla);
si ((letra>='a') and (letra<='z'))
entonces
escribirEntero(pantalla,ord(letra)-ord('A')+1);
si no
escribirCadena('No es una letra');
fsi
fin
Algoritmo valorEnteroDeDigito
{Si el caracter leído es un dígito, escribe por pantalla el entero que
representa. En caso contrario informa de la situación}
variables
digito:caracter;
principio
leerCaracter(teclado,digito);
si ((digito>='0') and (digito<='9'))
entonces
escribeEntero(pantalla,ord(digito)-ord('0'));
si no
escribirCadena(pantalla,"No es un dígito");
fsi
fin
Algoritmo leerDatoEntero
{Lee caracteres que supuestamente forman un entero, crea con ellos el
número entero correspondiente y lo escribe por pantalla. El número puede
tener espacios blancos por delante}
variables
c:caracter;
numero:entero;
principio
leerCaracteres(teclado,c);
mientras que (c='') hacer
leerCaracteres(teclado,c);
fmq
numero=0;
mientras que ((c>'0') and (c<'9')) hacer
numero:=10*numero+ord(c)-ord('0');
leerCaracteres(teclado,c);
fmq
fin
Tipo Cadena
Secuencias de cero o más caracteres representadas entre comillas dobles: "texto"
¡Salud y coding!