Está en la página 1de 6

FUNCIONES MATEMÁTICAS

#include <math.h>
#include <stdlib.h>
Función Descripción Sintaxis Ejemplo
Proporciona el valor absoluto de un entero o de un int abs (int x); x = abs(-7) // x es 7
número complejo: abs(-50) devuelve 50. Para utilizar
abs
números complejos se requiere el archivo de
cabecera complex.h.
Calcula el valor absoluto de un número en coma double fabs(double x); y = fabs(-7.25); // y vale 7.25
fabs, fabsl flotante x. long double fabs(long double
x);
acos La función acos() devuelve el arco coseno de x, double acos(double x); angulo = acos(0.5); // el ángulo
(asin, cuyo valor debe estar en el rango –1 a 1. El devuelto es π/3
atan, cos, resultado es un valor (ángulo) entre 0 y π radianes.
cosh, sin,
sinh, tan,
tanh)
Calcula (redondea) el número entero mayor que o double ceil (double x); redondeo = ceil(5.1) // redondeo es 6
ceil
igual a x.
floor Redondea por defecto el valor de x. double floor(double x); x = floor(6.25); // x vale 6
Calcula el exponencial de x:ex; donde e es la base double exp(double x); x = 100.00;
exp del logaritmo natural (e = 2.7182818). y = exp(x);
printf(“El exponencial de x = %f.\n”,y);
Calcula el valor absoluto de un entero largo (n). long int labs(long int n); long lx = _51654L, ly;
labs
ly = labs(lx);
Calcula el logaritmo natural (neperiano) y el double log(double x); hdouble x, y;
logaritmo en base 10 de x. Si x es negativo, ambas double log10(double x); x = 10;
log, log10
funciones devuelven un error de dominio DOMAIN. y = log(x);
Si x es 0, la función imprime un mensaje de error. y = log10(x);
Devuelve el mayor de dos valores. Ambos (tipo) max(a, b); double dbl1, dbl2, dblmax;
max argumentos y la declaración de la función deben ser dblmax = max(dbl1, dbl2);
del mismo tipo.
Devuelve el menor de dos valores. Ambos (tipo) min(a, b); int i1, i2, minent;
min argumentos y la declaración de la función deben ser minent = min(i1, i2);
del mismo tipo.
Genera un número pseudoaleatorio en el rango de 0 int random(int x); // obtener un número aleatorio entre 0 y
random a x-1. 20
numa1 = random(21);
sqrt Calcula la raíz cuadrada de un número x no negativo double sqrt(double x); printf(“%lf”,sqrt(25.0); // se visualiza 5

FUNCIONES DE CLASIFICACIÓN DE CARACTERES


#include <ctype.h>
Función Descripción Sintaxis Ejemplo
La función isalnum() devuelve un cero si c es un int isalnum(int c); carac = getch();
carácter no alfanumérico y un valor distinto de cero if(isalnum(carac))
isalnum si el carácter es alfanumérico. printf(“%c letra|digito \n”, carac);
else
printf(“%c no letra|digito \n”, carac);
La función isalpha() verifica si un carácter es int isalpha(int c); int c = getah()
alfabético. Devuelve un valor distinto de cero if(isalpha(c)) printf(“%c es letra\n”, c);
isalpha
si c es un carácter alfabético, o 0 si c no es
alfabético.
iscntrl, Estas macros sirven para determinar propiedades int iscntrl(int c);
isdigit, específicas de un carácter ASCII. int isdigit(int c); if(isprint(c))
isgraph, int isgraph(int c); printf(“\n %c imprimible\n”, c);
islower Iscntrl Carácter de control int islower(int c);
isprint, Isdigit Dígito decimal. De a a 9 int isprint(int c); if(iscntrl(c))
ispunct, Isgraph Carácter imprimible (sin espacio) int ispunct(int c); printf(“%c es un carácter de control\”,
isspace Islower Carácter minúscula de la a a la z int isspace(int c); c);
isupper, Isprint Carácter imprimible int isupper(int c);
isxdigit Ispunct Carácter puntuación int isxdigit(int c); if(isdigit(c))
isspace Carácter blanco. printf(“%c es un dígito\n”, c);
isupper Carácter mayúscula.
Isxdigit Dígito hexadecimal if(islower(c))
printf(“%c es letra minúscula\n”, c)
Cada macro (función) devuelve un valor distinto de
cero si c satisface el criterio de esa macro; en caso
contrario, devuelve un cero.

Convierte un carácter mayúscula en minúscula. int tolower(int c); c = tolower(´S´); /* c se convierte en ´S´
tolower
*/
Convierte un carácter minúscula en mayúscula. int toupper(int c); c = toupper(´s´); /* c se convierte en ´S´
toupper
*/

FUNCIONES DE CADENAS
#include <string.h>
Función Descripción Sintaxis Ejemplo
Proporciona la longitud de una cadena cad. El carácter size_t strlen(const char *cad); longitud = strlen(nombre);
nulo NO se incluye en la longitud; en consecuencia, char s[81] = “Cadena demo”;
strlen printf(“La longitud de s es:%d\n” strlen(s));
cuando reserve espacio, recuerde añadir 1 al valor
devuelto por strlen.
copia cad2 en cad1. Si la longitud de la cadena resultante char *strcpy(char *cad1, const char char *a = “Pepe Luis”;
excede el tamaño asignado a cad1, puede producir fallos *cad2); char b[12];
strcpy
strcpy(b, a);
de ejecución.
puts(b);
Copia una cadena en otra. Devuelve un puntero al final de char *stpcpy(char *cad1, const char stpcpy(orden_dos, “DIR”);
stpcpy la cadena copiada. Se devuelve el valor de *cad2); stpcpy(caad1, cad2);
cad1+strlen(cad2)
strcat Concatena (añade) cad1 al final de cad2, terminando la char *strcat(char *cad1, const char char nombre[80] = “Bob”;
cadena resultante con un carácter nulo (\0). cad2); char blanco[2] = “”;
char ultimo[80] = “Marley”;

strcat(nombre,blanco); /* blanco se concatena a


nombre */
strcat(nombre,ultimo); /* ultimo se concatena a
nombre
la cadena nombre será “Bob Marley” */
Añade los primeros n caracteres de cad2 a cad1, y termina char *strncat(char *cad1, const char char *a = “Sierra Madre”;
la cadena resultante un carácter nulo. Si cad2 es mayor que *cad2, size_t n); char *b = “de la ciudad de Monterrey”;
puts(strncat(a, b, 4));
strncat n caracteres de longitud, strncat() truncará la cadena a la
puts(strncat(a, b));
longitud de n. En otro caso, concatenará la cadena
completa.
Encuentra la primera aparición de c en cad y devuelve un char *strchr(const char *cad, int c); printf(“%s”, strchr(“Salario mensual = $85725”,
puntero a la primera aparición de c en cad. Si c no se ´$´));
encuentra, devuelve un cero (NULL). visualizará $85725

char *s[81] = “Esta es una cadena de prueba”;


strchr 8
char *ptr;
ptr = strchr(s, ´a´);
el valor almacenado en ptr es un puntero a
la primera aparición de ´a´.
Encuentra la última aparición del carácter c en cad. char *strrchr(const char *cad, int char *nombrearch = “c: /usr/tst/libro/cap1.txt”;
strrchr Devuelve un puntero a la última aparición de c o un c); puts(strrchr(nombrearch, ´/´));
carácter nulo si c no está en cad.
Localiza la posición del primer carácter de una sze_t strspn(const char *cad1, loc = strspn (cad1, blanco);
strspn cadena (cad1) que no pertenece al constchar *cad2);
conjunto de caracteres de otra (cad2).
Localiza la posición de la primera aparición en una cadena size_strcspn(const char *cad1, primero = strcspn(“circunloquio”, “q”);
de cualquier carácter de otra cadena. const char *cad2); /* primero = 8 */
strcspn Si tiene éxito, la función strcspn devuelve el índice del
primer carácter de cad1, que pertenece al conjunto de
caracteres de cad2.
Encuentra la primera aparición en cad1 de cualquiera de char *strpbrk(const char *cad1, char *s = “Mortimer L.J. Mackoy”;
los caracteres de cad2. El carácter nulo no se incluye en la const char *cad2); char *p = strpbrk(s, “L4”);
strpbrk puts(p);
búsqueda. Si el carácter no existe se devuelve un carácter
nulo (NULL).
Localiza la primera aparición de una cadena en otra. Si char *strstr(const char *cad1, const char *s = “Mi autor favorito es Octavio Paz”
tiene éxito, la función strstr devuelve char *cad2); char *a = “Octavio Paz”;
un puntero a la primera aparición de cad2 como una printf( “La subcadena %s se encuentra %s
strstr subcadena de cad1. Si la búsqueda falla, \n”,a,strstr(s, a));
se devuelve NULL.
Compara una cadena con otra. Los resultados serían: int strcmp(const char *a, const char i = strcmp(“MNP”, “mnp”); /* resultado < 0 */
> 0 si a > b *b); i = strcmp(“abc”, “abc”); /* resultado = 0 */
= 0 si a == b i = strcmp(“xy”, “abc”); /* resultado > 0 */
strcmp < 0 si a < b char s1[80] “ “Mayo”;
char s2[80] = “Octubre”;
int j;
j = strcmp(s1, s2);
Compara una cadena con otra sin diferenciar entre int strcmpi(const char *cad1, const v = strcmpi(c1, c2);
mayúsculas y minúsculas y devuelve un char * call2);
strcmpi entero:
< 0 si cad1 < cad2
= 0 si caad1 = cad2
> 0 si cad1 > cad2
Compara un número especificado en caracteres de dos char *a = “Mortimer el andaluz”;
cadenas y devuelve un entero con un valor. char *b = “Mortimer el mexicano”;
if((strncmp(a, b, 8)) == 0)
< 0 si cad1 < cad2 printf( “Ambas cadenas comienzan con
strncmp
= 0 si cad1 < cad2 \Mortimer\”);
> 0 si cad1 < cad2 else
printf(“Estas cadenas no comienzan con
\Morrtimer\”);
Convierte una cadena en letras minúsculas. La función char *strlwr(char *cad); char *orden =”SALIR”;
strlwr strlwr(orden); /* ahora orden = “salir” */
devuelve un puntero a la cadena convertida.
Convierte una cadena en letras minúsculas. La función char *strlwr(char *cad); char *orden =”salir”;
strupr strlwr(orden); /* ahora orden = “SALIR” */
devuelve un puntero a la cadena convertida.
Establece todos los caracteres de la cadena cad al valor de char *strset(char *cad, int c); char *cad = “-----”;
strset c. Termina cuando se encuentra el primer carácter nulo. strset (cad, ´x´); /* cad es ahora xxxxx */
Devuelve un puntero a la cadena modificada.
strnset Inicializa los caracteres de una cadena a un valor dado char *strnset(char *cad, int c, size_t printf(“Introduzca una cadena:”);
(blanco u otro carácter). Devuelve un puntero a la cadena n); gets(cadena);
cad. El carácter c se utiliza para rellenar la cadena con ese printf(“Introducir un carácter:”);
c = getche();
carácter; n es el número de posiciones de caracteres que se
long = strlen(cadena)/2;
han de inicializar. strnset(cadena, c, lon);
Invierte los caracteres de la cadena cad. El carácter de char *strrev(char *cad); printf(“Introduzca una cadena:”);
terminación nulo permanece en el gets(demo);
strrev strrev(demo);
mismo lugar. strrev() devuelve un puntero a la cadena
inversa.