You are on page 1of 12

NOMBRE:

Karina Jheniffer
Torrez Cori
Paralelo: NOCHE
8C1
LIBRERÍA
LIBRERIAS EN LENGUAJE C
#include <stdio.h>
clearerr fclose feof ferror fflush fgetc fgetpos
fgets fopen formato fprintf fputc fputs fread
freopen fscanf fseek fsetpos ftell fwrite getc
getchar gets perror printf putc putchar puts
remove rename rewind scanf setbuf setybuf sprintf
sscanf tmpfile tmpnam ungetc vfprintf vprintf vsprintf
#include <stdlib.h>
abort abs atexit atof atoi atol bsearch
calloc div exit free getenv labs ldiv
malloc mblen mbstowcs mbtowc qsort rand Realloc
srand strtod strtol strtoul system wctomb
#include <string.h>
memchr memcmp memcpy memmove memset strcat strchr
strcmp strcoll strcpy strcspn strerror strlen strmcat
strmcmp strmcpy strpbrk strrchr strspn strstr strtok
strxfrm
#include <ctype.h>
tolower toupper
#include <locale.h>
localeconv setlocale

#include <math.h>
Acos Asin atan atan2 ceil cos cosh
Exp Fabs floor fmod frexp ldexp log
log10 modf pow sin sinh sqrt tan
tanh
#include <setjmp.h>
longjmp setjmp
#include <signal.h>
raise signal
#include <time.h>
asctime clock ctime difftime Gmtime localtime mktime
strftime time
Otras librerias que no tienen funciones asociadas. Pero tienen macros constantes
y/o estructuras.

· #include <assert.h>
· #include <errno.h>
· #include <float.h>
· #include <limits.h>
· #include <stdarg.h>
· #include <stddef.h>
RESUMEN DE LIBRERIAS
Ø assert.h Contiene una macro para el diagnóstico dentro de los programas.
Ø ctype.h Contiene varias funciones para comprobación de tipos y transformación
de caracteres.
Ø errno.h Contiene varias macros usadas para informar de errores.
Ø limits.h Contienen varias macros que definen constantes para el tamaño de tipo
enteros.
Ø float.h Contienen varias macros que definen constantes para el tamaño de tipo
flotante.
Ø locale.h Contienen varias macros, funciones y tipos para unidades locales, como
unidad monetaria, tiempo, dígitos, etc.
Ø math.h Contiene una macro y varias funciones matemáticas.
Ø setjmp.h Contienen declaraciones que proporcionan una forma de evitar la
secuencia normal de llamada y regreso de funciones.
Ø signal.h Contiene un tipo, dos funciones y varias macros para manejar
condiciones excepcionales que aparecen durante la ejecución, tal como una señal
de interrupción de una fuente externa o un error en la ejecución.
Ø stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer
una lista de argumentos de función de tamaño y tipo desconocido.
Ø stddef.h Contiene varios tipos y macros que también están definidas en otras
librerías, como size_t.
Ø stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S.
Ø stdlib.h Contiene tipos, macros y funciones para la conversión numérica,
generación de números aleatorios, búsquedas y ordenación, gestión de memoria y
tareas similares.
Ø string.h Contiene tipos, macros y funciones para la manipulación de cadenas de
caracteres.
Ø time.h Contiene tipos, macros y funciones para la la manipulación de información
sobre fechas y horas.

Tipos: char, int, float, long, long long, short, double, void.
CADENAS DE FORMATO
d, i entero decimal con signo
o entero octal sin signo
u entero decimal sin signo
x entero hexadecimal sin signo (en minúsculas)
X entero hexadecimal sin signo (en mayúsculas)
f Coma flotante en la forma [-]dddd.dddd
e Coma flotante en la forma [-]d.dddd e[+/-]ddd
g Coma flotante según el valor
E Como e pero en mayúsculas
G Como g pero en mayúsculas
c un carácter
s cadena de caracteres terminada en '\0'
% imprime el carácter %
p puntero
SECUENCIA DE ESCAPE
\a Alerta
\b Espacio atrás
\f Salto de página
\n Salto de línea
\r Retorno de carro
\t Tabulación horizontal
\v Tabulación vertical
\\ Barra invertida
\' Comilla simple
\" Comillas dobles
\OOO Visualiza un carácter cuyo código ASCII es OOO en octal
\xHHH Visualiza un carácter cuyo código ASCII es HHH en hexadecimal
Funcionabilidad de la Función System, que pertenece a la librería
<stlib.h>
Colores de Fondo
0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Púrpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
Colores de Fuente
a = Verde claro
b = Aguamarina claro
c = Rojo claro
d = Púrpura claro
e = Amarillo claro
f = Blanco brillante

Contiene la macro assert (aserción), utilizada para detectar errores lógicos y


<assert.h>
otros tipos de fallos en la depuración de un programa.

<complex.h> Conjunto de funciones para manipular números complejos (nuevo en C99).


Contiene funciones para clasificar caracteres según sus tipos o para
<ctype.h> convertir entre mayúsculas y minúsculas independientemente del conjunto
de caracteres(típicamente ASCII o alguna de sus extensiones).

<errno.h> Para analizar los códigos de error devueltos por las funciones de biblioteca.

<fenv.h> Para controlar entornos en coma flotante (nuevo en C99).

Contiene la definición de constantes que especifican ciertas propiedades de


la biblioteca de coma flotante, como la diferencia mínima entre dos números
<float.h>
en coma flotante (_EPSOLON), el número máximo de dígitos de precisión
(_DIG), o el rango de valores que se pueden representar (_MIN, _MAX).

Para operaciones de conversión con precisión entre tipos enteros (nuevo en


<inttypes.h>
C99).

<iso646.h> Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1).

Contiene la definición de constantes que especifican ciertas propiedades de


<limits.h> los tipos enteros, como rango de valores que se pueden representar (_MIN,
_MAX).

Para la función setlocale() y las constantes relacionadas. Se utiliza para


<locale.h>
seleccionar el entorno local apropiado (configuración regional).

<math.h> Contiene las funciones matemáticas comunes.

Declara las macros setjmp y longjmp para proporcionar saltos de flujo de


<setjmp.h>
control de programa no locales.

<signal.h> Para controlar algunas situaciones excepcionales como la división por cero.

Posibilita el acceso a una cantidad variable de argumentos pasados a una


<stdarg.h>
función.

<stdbool.h> Para el tipo booleano (nuevo en C99).


<stdint.h> Para definir varios tipos enteros (nuevo en C99).

<stddef.h> Para definir varios tipos de macros de utilidad.

Proporciona el núcleo de las capacidades de entrada/salida del lenguaje C


<stdio.h>
(incluye la venerable función printf ).

Para realizar ciertas operaciones como conversión de tipos, generación de


números pseudo-aleatorios, gestión de memoria dinámica, control de
<stdlib.h>
procesos, funciones de entorno, de señalización (??), de ordenación y
búsqueda.

<string.h> Para manipulación de cadenas de caracteres.

Contiene funcionalidades matemáticas de tipo genérico (type-generic)


<tgmath.h>
(nuevo en C99).

<time.h> Para tratamiento y conversión entre formatos de fecha y hora.

Para manipular flujos de datos anchos y varias clases de cadenas de


<wchar.h> caracteres anchos (2 o más bytes por carácter), necesario para soportar
caracteres de diferentes idiomas (nuevo en NA1).

<wctype.h> Para clasificar caracteres anchos (nuevo en NA1).


SINTAXIS
A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de
los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto
que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales
escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su
naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa.
La sintaxis de un lenguaje de programación describe las combinaciones posibles de los
símbolos que forman un programa sintácticamente correcto. El significado que se le da a una
combinación de símbolos es manejado por su semántica (ya sea formal o como parte
del código duro de la referencia de implementación). Dado que la mayoría de los lenguajes
son textuales, este artículo trata de la sintaxis textual.
La sintaxis de los lenguajes de programación es definida generalmente utilizando una
combinación de expresiones regulares (para la estructura léxica) y la Notación de Backus-
Naur (para la estructura gramática). Este es un ejemplo de una gramática simple, tomada
de Lisp:

expresión ::= átomo | lista


átomo ::= número | símbolo
número ::= [+-]? ['0'-'9']+
símbolo ::= ['A'-'Z'] ['a'-'z'].*
lista ::= '(' expresión* ')'

Con esta gramática se especifica lo siguiente:

 una expresión puede ser un átomo o una lista;


 un átomo puede ser un número o un símbolo;
 un número es una secuencia continua de uno o más dígitos decimales, precedido
opcionalmente por un signo más o un signo menos;
 un símbolo es una letra seguida de cero o más caracteres (excluyendo espacios); y
 una lista es un par de paréntesis que abren y cierran, con cero o más expresiones en
medio.
Algunos ejemplos de secuencias bien formadas de acuerdo a esta gramática:
' 12345 ', ' () ', ' (a b c232 (1)) '
No todos los programas sintácticamente correctos son semánticamente correctos. Muchos
programas sintácticamente correctos tienen inconsistencias con las reglas del lenguaje; y
pueden (dependiendo de la especificación del lenguaje y la solidez de la implementación)
resultar en un error de traducción o ejecución. En algunos casos, tales programas pueden
exhibir un comportamiento indefinido. Además, incluso cuando un programa está bien definido
dentro de un lenguaje, todavía puede tener un significado que no es el que la persona que lo
escribió estaba tratando de construir.
Usando el lenguaje natural, por ejemplo, puede no ser posible asignarle significado a una
oración gramaticalmente válida o la oración puede ser falsa:

 "Las ideas verdes y descoloridas duermen furiosamente" es una oración bien formada
gramaticalmente pero no tiene significado comúnmente aceptado.
 "Juan es un soltero casado" también está bien formada gramaticalmente pero expresa un
significado que no puede ser verdadero.
El siguiente fragmento en el lenguaje C es sintácticamente correcto, pero ejecuta una
operación que no está definida semánticamente (dado que p es un apuntador nulo, las
operaciones p->real y p->im no tienen ningún significado):

complex *p = NULL;
complex abs_p = sqrt (p->real * p->real + p->im * p->im);

Si la declaración de tipo de la primera línea fuera omitida, el programa dispararía un error de


compilación, pues la variable "p" no estaría definida. Pero el programa sería sintácticamente
correcto todavía, dado que las declaraciones de tipo proveen información semántica
solamente.
La gramática necesaria para especificar un lenguaje de programación puede ser clasificada
por su posición en la Jerarquía de Chomsky. La sintaxis de la mayoría de los lenguajes de
programación puede ser especificada utilizando una gramática Tipo-2, es decir, son
gramáticas libres de contexto. Algunos lenguajes, incluyendo a Perl y a Lisp, contienen
construcciones que permiten la ejecución durante la fase de análisis. Los lenguajes que
permiten construcciones que permiten al programador alterar el comportamiento de un
analizador hacen del análisis de la sintaxis un problema sin decisión única, y generalmente
oscurecen la separación entre análisis y ejecución. En contraste con el sistema de macros
de Lisp y los bloques BEGIN de Perl, que pueden tener cálculos generales, las macros
de C son meros reemplazos de cadenas, y no requieren ejecución de código.
TIPOS DE DATOS
Todo sistema de computación es alimentado con datos. La representación de los datos incide
en la elaboración de los algoritmos. El sistema de identificación de los datos se denomina
“estructura de datos”, y depende de las características de estos.

-Los datos son los siguientes;

a) Datos numéricos:

 Enteros.
 Reales.
 Reales decimales.
 Reales exponenciales.
b) Datos alfanuméricos:
 De carácter.
 De cadena.
c) Datos lógicos:
 Verdadero [True]
 Falso [False]
-Tipos de datos: numéricos
Son aquellos que se utilizan para realizar operaciones aritméticas.

Enteros; corresponden a números “completos”, o sea que no tienen parte decimal,


pueden ser negativos, positivos o cero. Ejemplo: La edad de una persona (39), el
total de estudiantes en un grupo (36).

Reales; son aquellos números que poseen punto decimal. Pueden ser negativos,
positivos o cero.
Reales decimales; son los que constan de una parte entera y una decimal (en
algunos casos se puede omitir la parte entera o la decimal). Ejemplo: La nota de un
estudiante (4.7), el porcentaje de algún impuesto (0.16).

Reales exponenciales (de punto flotante); son aquellos números que se expresan
en función de potencias de 10; esta expresión es conocida como notación científica.
Ejemplo: -2.85E03; 0.735E-4; 0.58E-1

-Tipos de datos: alfanuméricos


Corresponden al conjunto de caracteres alfabéticos, numéricos, y/o especiales; con
ellos no se efectúan operaciones matemáticas.

Carácter; cuándo se hace referencia a un solo carácter, y debe encerrarse entre


apostrofes (‘ ‘). Ej: Sexo de una persona (‘M’ o ‘F’), estado civil (‘S’, ‘C’, ‘V’).

Cadena; Cuándo se hace referencia a más de un carácter, siempre debe encerrarse


entre comillas (“ “). Ej: código de un estudiante (“2041220”), nombre de una persona
(“Víctor Hugo Torres”), dirección donde reside una persona (“Calle 100 # 50 - 20),
número telefónico (“3002125820”).

-Tipos de datos: lógicos


Son aquellos datos que solo pueden tomar dos valores:
1. Valor verdadero – true
2. Valor falso – false

*Tipos de datos que se manejan en pseudocódigo:

 Carácter: Cuando solo queremos un solo carácter de un dato y se encierra entre


apostrofes (‘ ‘).
 Boolean: Cuando requerimos de una respuesta TRUE o FALSE (datos lógicos).
 Cadena: Datos alfanuméricos que no se calculan como el nombre, teléfono, etc..
 Real: Cuando vamos a utilizar números con punto decimal.
 Entero: Números positivos o negativos sin punto decimal.
Operadores

Un operador es un símbolo que se utiliza para manipular datos.


Los operadores se clasifican en:
– Aritméticos.
– Relacionales.
– Lógicos.

Operadores: Aritméticos:

+ Suma
- Resta
* Multiplicación
/ División (div)
% Módulo o residuo (Mod)
^ ó ** Potencia
= Asignación

Operadores: Relacionales

> Mayor que


< Menor que
(=) == Igual a
(<>) != Diferente de
>= Mayor o igual que
<= Menor o igual que

Operadores: Lógicos

(*) && Conjunción (y)


(+) | | Disyunción (o)
(~) ! Negación (no)
CONECTORES LOGICOS
Los conectivos lógicos pueden ser utilizados para conectar más de dos afirmaciones,
entonces es común hablar de "conector lógico n-ario".

Ejemplo Análogo Ejemplo de uso en Tabla de


Conectiva Notación
de uso natural el lenguaje natural verdad

Negación no No está lloviendo.

Está lloviendo y la calle está


Conjunción y
mojada.

Está lloviendo o la calle está


Disyunción o
mojada.

Si está
Condicional si...
lloviendo, entonces la calle
material entonces
está mojada.

Está lloviendo si y solo si la


Bicondicional si y solo si
calle está mojada.

Negación Ni está lloviendo ni la calle


ni... ni
conjunta está mojada.

Disyunción o bien... o O bien está lloviendo, o


excluyente bien bien la calle está mojada.
Lista de conectivos lógicos comunes
Valor de verdad
Lista de conectivos Nombre / Símbolo
Diagrama
lógicos comunes[editar] desmall
P= 0 1
Conectivos lógicos comúnmente
usados: Verdad/Tautología ⊤ 1 1

 Negación (no): ¬, ~
 Conjunción lógica (y): ∧, y, ∙ Proposición P 0 1
 Disyunción lógica (o): ∨
 Condicional material (Si..
Falso/Contradicción ⊥ 0 0
entonces): →, ⇒, ⊃
 Bicondicional (si y solo si):
↔, ≡, = Negación ¬ 1 0
Nombres alternativos para
bicondicional son "sii", "xnor" y Conectivos binarios Q= 0 1 0 1
"bi-implicación."
Por ejemplo, el significado de los Conjunción ∧ 0 0 0 1
estados está lloviendo y estoy en
el interior se transforma cuando
los dos se combinan con Conjunción Opuesta ↑ 1 1 1 0
conectivos lógicos:

 No está lloviendo Disyunción ∨ 0 1 1 1


 Está lloviendo y estoy dentro
de casa (P ∧ Q)
Disyunción Opuesta ↓ 1 0 0 0
 Está lloviendo o estoy dentro
de casa (P ∨ Q)
 Si está Condicional material → 1 1 0 1
lloviendo, entonces estoy en
casa. (P → Q)
 Si estoy en casa, entonces O exclusivo 0 1 1 0
está lloviendo. (P → Q)
 Estoy dentro si y solo
si está lloviendo (P ↔ Q) Bicondicional ↔ 1 0 0 1
 No está lloviendo (¬ P)
Por declaración P = Q = Está Implicación Opuesta ← 1 0 1 1
lloviendo Estoy dentro de casa.
También es común considerar la Proposición P 0 0 1 1
fórmula siempre verdadera y la
fórmula siempre falsa como
conectivos Proposición Q 0 1 0 1

 Verdadero (⊤, 1 o T)
 Falso (⊥, 0 o F)

You might also like