




























































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Programació, Profesor: , Carrera: Enginyeria Informàtica, Universidad: UPV
Tipo: Apuntes
1 / 135
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!





























































































Javier Esparza Peidro – [email protected]
Introduction to Programming Languages. Anthony A. Aaby. 1996. https://en.wikibooks.org/wiki/C_Programming The C Programming Language. 2nd Ed. Kernighan & Ritchie. https://www.python.org/
Un programa ejecuta comandos (imperativo) de manera secuencial (uno detrás de otro), que cambian el estado de la máquina Una computación se define como una secuencia de asignaciones (variable = valor) que modifican el estado de la máquina S 0 → S 1 → S 2 → … → S n- → S n
El paradigma contempla comandos que nos permiten:
El paradigma incluye conceptos como programación estructurada y programación procedural El paradigma orientado a objetos puede contemplarse como una extensión del paradigma imperativo Paradigma OO Paradigma Imperativo Lenguajes Imperativos Lenguajes estructurados Lenguajes procedurales
Para utilizar una variable en C, es necesario declararla con antelación:
Varias formas de asignación: X = X op E → X op= E Asignación múltiple a += 10; a= 10; a*= 10; a/= 10; C a = b = c = 10; Una asignación devuelve el valor asignado x = y = z es equivalente a x = (y = z)
Determina el conjunto de valores que pueden ser asignados a una variable o expresión en un lenguaje (ej: el tipo entero contiene los valores 1,2,3,...) En un lenguaje tipado todas las variables y expresiones tienen un tipo (ej: Java, C, Python, …) Un lenguaje tipado posee un sistema de tipos bien definido Lenguaje tipado Expresiones Sistema de tipos
Colección de tipos de datos soportados por el lenguaje junto con conjunto de reglas que asocian a cada expresión un tipo Respecto a los tipos de datos, la mayoría de sistemas de tipos soportan tipos de datos primitivos y tipos de datos compuestos Respecto a las reglas, podemos identificar distintos sistemas de tipos:
C es un lenguaje con sistema de tipos estático, fuerte y explícito Las variables se declaran con anterioridad y por tanto su tipo de datos es conocido en el momento de compilación Podemos clasificar el sistema de tipos en: (1) tipos de datos primitivos (int, char, float, double) y (2) tipos de datos compuestos (struct, union, array, string) C
Tipos de datos primitivos int (1 palabra, 32 ó 64), char (1 byte), float (1 palabra, 32 ó 64 bits), double (2 palabras, 64 ó 128 bits) (^) El operador sizeof() devuelve el tamaño de un tipo o un valor en bytes Los tipos de datos simples admiten los modificadores: long, short, signed, unsigned C int i = 10; char c = 'a'; float f = 3.14; sizeof(int) > 4 int i; sizeof(i); > 4 unsigned short int usi; short s; long l;
Tipos de datos compuestos struct: es una estructura de datos que contiene múltiples campos
Tipos de datos compuestos struct: es una estructura de datos que contiene múltiples campos Una vez creada la estructura accedemos a sus campos utilizando el operador. Podemos crear nuevos tipos usando el operador typedef C struct { int i; double d; char c; } myVar; myVar.i = 10; myVar.d = 3.14; Typedef struct { int i; double d; char c; } MyStruct; MyStruct myVar, yourVar; myVar.i = 10; Es un tipo!!!