Funciones
1. If/else
En lenguaje C, para
escribir una instrucción alternativa doble (if
else) se utiliza la sintaxis: |
||||||||||||||
|
||||||||||||||
A la
<expresión_lógica> de una instrucción alternativa doble (if else) también se le denomina condición. Para que se ejecute el <bloque_de_instrucciones_1>, la condición tiene
que ser verdadera. Por el contrario, si la condición es falsa, se ejecutará
el <bloque_de_instrucciones_2>.
En resumen, en C una instrucción if
else (alternativa doble) permite seleccionar, por medio de una
condición, el siguiente bloque de instrucciones a ejecutar, de entre dos
posibles. Ejemplo: Se quiere
escribir un programa que: 1º) Pida por teclado la nota (dato real) de una asignatura. 2º) Muestre por pantalla:
De modo que, por
pantalla se verá, por ejemplo: |
||||||||||||||
|
||||||||||||||
Otra posibilidad es: |
||||||||||||||
|
||||||||||||||
Cuando un bloque de
instrucciones sólo contiene una instrucción, los caracteres abrir
llave ({) y cerrar llave (}) son opcionales. Por tanto, en lenguaje C, para
resolver el problema del ejemplo se puede escribir: |
||||||||||||||
|
||||||||||||||
Cuando en el código
fuente de un programa existe una condición de la cual depende que a
continuación se ejecuten unas instrucciones u otras, se dice que existe
una bifurcación. 2. Switch Esta estructura
selecciona entre varias posibilidades, dependiendo del valor de la expresión.
Cuando en la estructura si (if) todas las condiciones utilizan la igualdad
de una variable determinada con constantes predefinidas, se puede utilizar
la instrucción segun_sea (switch), en dicha instrucción existen más de dos
opciones. La estructura segun_sea (switch) evalúa una expresión que puede
tomar n valores distintos; según con cuál de estos valores coincida, se
ejecutarán ciertas acciones, es decir, el programa o algoritmo seguirá un
determinado camino entre los n posibles. Dicha expresión sólo acepta valores
enteros o caracteres para entrar a la opción y el operador de relación es
el igual.
#include <stdio.h> #include <conio.h> int main() { int dia; printf("Escriba el número de día: \n"); scanf("%d",&dia); switch(dia) { case 1: printf("El día %d es Lunes",dia); break; case 2: printf("El día %d es Martes",dia); break; case 3: printf("El día %d es
Miércoles",dia); break; case 4: printf("El día %d es Jueves",dia); break; case 5: printf("El día %d es Viernes",dia); break; case 6: printf("El día %d es Sábado",dia); break; case 7: printf("El día %d es Domingo",dia); break; default: printf("El día no existe"); } getch(); return 0;
} 3. While
|
4. For
En lenguaje C, para
escribir una instrucción for (repetitiva
para) se utiliza la sintaxis: |
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
Cuando el
<bloque_de_instrucciones> sólo contiene una instrucción, los
caracteres abrir llave ({) y cerrar
llave (}) son opcionales. |
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
En este caso,
<expresión_1>, <expresión_2> y <expresión_3>, se corresponden,
respectivamente, con:
de una instrucción
repetitiva mientras (while). |
||||||||||||||||||||||||||||||||||||||||||
5. Funciones Matemáticas El lenguaje C nos facilita una biblioteca de funciones matemáticas entre las que se incluyen las de uso más habitual como pueden ser: valor absoluto, potencia de un número elevado a otro, raíz cuadrada, funciones trigonométricas (seno, coseno, tangente, etc.), redondeo, exponenciación, logaritmo decimal, logaritmo neperiano y otras. Para utilizar las funciones matemáticas indicadas a continuación es necesario incluir en la cabecera de nuestros programas la siguiente declaración: #include <math.h> El resultado de
aplicar una función matemática es un valor numérico de tipo double (aunque el
resultado puede ser un valor entero, internamente C lo considerará como un
valor tipo decimal de doble precisión o tipo double) Las funciones
disponibles de uso más habitual son las siguientes:
La biblioteca de funciones matemáticas de C es más amplia de lo que hemos expuesto (por ejemplo se dispone de más funciones trigonométricas y de otros tipos que las aquí indicadas), pero con estas funciones quedan cubiertos los cálculos más habituales. Las funciones
relacionadas con ángulos trabajan en radianes. Por tanto para operar con grados
habremos de realizar la conversión oportuna. 6. Funciones de cadena C no dispone de un tipo de dato String para trabajar con cadenas de texto como en otros lenguajes. En su lugar, una cadena está representada por un array de caracteres (char) habitualmente terminado con el carácter especial de fin de cadena << \0 >>. Este carácter especial no se visualiza por pantalla, podríamos decir que está pero es "transparente" o "no visible" a través de la pantalla. Comentamos previamente
que las funciones para pedir datos al usuario scanf y gets introducen
automáticamente un fin de cadena (\0) al final del texto capturado. En estos
casos el array de caracteres tiene en C un carácter adicional además del texto
visible, el correspondiente al final de cadena. Por ejemplo la longitud en
caracteres de la palabra “abc” introducida por el usuario con scanf o gets no
es tres, sino cuatro, ya que a los tres caracteres hemos de sumarle el carácter
especial de final de cadena representado con \0.
CONOCER LA LONGITUD DE UNA CADENA CON
SIZEOF Podemos declarar cadenas de varias
maneras. Por ejemplo: char pruebaCadena [3]; pruebaCadena [0]=
'a'; pruebaCadena [1]= 'b'; pruebaCadena [2]= 'c'; char pruebaCadena [] = "abc"; En el primer caso el
array es de tres caracteres, el de índice cero es a, el de índice 1 es b, el de
índice 2 es c. En el segundo caso el array es de cuatro caracteres al
introducir C el carácter de fin de cadena \0. Llamamos tamaño
(length) de un array al número de elementos de que consta. En el caso del array
de caracteres “abc” con el carácter de fin de cadena decimos que consta de 4
elementos (contando el carácter especial de fin de cadena). Podemos conocer la
longitud de un array de caracteres usando la función sizeof, siendo la sintaxis
a emplear: sizeof (nombreDelArray). Escribe este código, que ya debemos ser
capaces de comprender con lo estudiado hasta ahora.
Aquí mostramos
distintas formas de recorrer un array de caracteres. La primera se basa en
buscar el carácter de fin de cadena \0. En este ejemplo el bucle while recorre
a – b – c (tres iteraciones). La segunda se basa en usar sizeof. En este
ejemplo el bucle while recorre a – b – c - \0 (cuatro iteraciones).
LIBRERÍA STRING.H FUNCIONES STRCPY,
STRLEN, STRCAT, STRCMP A través de la
librería string.h podemos usar distintas funciones relacionadas con cadenas.
Para usar estas funciones debemos escribir #include <string.h> en
cabecera de nuestro programa. A continuación relacionamos algunas de las
funciones disponibles.
Escribe el siguiente código y comprueba
los resultados de ejecución.
Nota: las cadenas en C no se pueden
copiar escribiendo cadena1 = cadena2. En su lugar, debe usarse la función
strcpy. 7. Funciones creadas por
usuario En programación, una
función es un grupo de instrucciones con un objetivo particular y que se
ejecuta al ser llamada desde otra función o procedimiento. Una función puede
llamarse múltiples veces e incluso llamarse a sí misma (función recurrente). Las funciones pueden
recibir datos desde afuera al ser llamadas a través de los parámetros y puede
entregar un resultado. Una función tiene un
nombre y un conjunto de instrucciones que son ejecutadas cuando se llama a la
función. Son funciones setup() y loop() de las que ya se ha hablado
anteriormente. Las funciones de
usuario pueden ser escritas para realizar tareas repetitivas y para reducir el
tamaño de un programa. Segmentar el código en funciones permite crear piezas de
código que hacen una determinada tarea y volver al área del código desde la que
han sido llamadas. Las funciones se
declaran asociadas a un tipo de valor. Este valor será el que devolverá la
función, por ejemplo ‘int’ se utilizará cuando la función devuelva un dato
numérico de tipo entero. Si la función no devuelve ningún valor entonces se
colocará delante la palabra “void”, que significa “función vacía” Sintaxis:
|
Comentarios
Publicar un comentario