Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0.

Slides:



Advertisements
Presentaciones similares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Advertisements

Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Programación I Teoría I
Programación I Teoría III
Direcciones, Arreglos y Argumentos de Funciones
Tipos de Datos Básicos y Estructurados
Tema 2: Lenguaje PHP básico
INFORMATICA I Arreglos 1 CLASE 17.
Introducción al Lenguaje C (ANSI)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Ismael Camarero1. 2 ¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria.
Programación Estructurada
Unidad 3 Punteros.
Ingeniero Anyelo Quintero
Introducción a lenguaje C
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Vectores en java.

Lenguaje C.
Semana 5 Subprogramas..
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Introducción a los punteros
Capítulo 5. Punteros y Cadenas de Caracteres
Informática Ingeniería en Electrónica y Automática Industrial
Índice. Revisando conceptos acerca de la memoria.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Microsoft© Visual Basic . Net.
© AutoresV1.1 Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C.
PUNTEROS Ing Anghello Quintero.
Programación en Lenguaje C
El lenguaje de programación C - Vectores y matrices -
Introducción a los punteros Prof. Domingo Hernández.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Resumen Fundamentos de Programación/ Programación I
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
APUNTADORES.
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
PROGRAMACIÓN MULTIMEDIA
Estructura de un programa C. 1 Lenguajes de Programación 1.- Lenguaje de alto nivel 2.- Lenguaje de bajo nivel (ensamblador) 3.- Lenguaje de máquina.
Los punteros Programación modular.
FUNDAMENTOS DE PROGRAMACIÓN
Términos algoritmo diseñar algoritmo implementar algoritmo
Estructura de un programa C
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.

LENGUAJE “C” Programación.
Fundamentos de Programación
Lenguaje de programación c
Clase 1 Gabriela Araya Baez.. Char: Variable que almacena caracteres. Int: Variable que almacena enteros. Float: Variable que almacena decimales. Doble:
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
Informática Ingeniería en Electrónica y Automática Industrial
LENGUAJE DE PROGRAMACIÓN
Lenguaje de Programación II PLAN DE EVALUACIÓN CONTENIDO MODALIDAD DE EVAL. PONDERACIÓN INTRODUCCIÓN BÁSICA AL LENGUAJE DE PROGRAMACIÓN.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Transcripción de la presentación:

Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 22

UD22: Introducción al lenguaje C (I) Introducción  Diseñado en el año 1972 por Brian Kernighan y Dennis Ritchie en los laboratorios Bell Telephone.  Vinculado al sistema operativo UNIX  Lenguaje de medio nivel  Sentencias de control  Manejo de memoria  Lenguaje NO orientado a objetos  Estándar ANSI (American National Standard Institute)

UD22: Introducción al lenguaje C (I) Elementos de C: Tipos básicos  Tipos básicos: char, int/long, float/double  Tipos enumerados: enum{…}  Arrays, punteros, cadenas de caracteres  Declaración de variables  tipo lista_de_identificadores;  Nuevos tipos: typedef  No existe el tipo boolean, se define mediante typedef

UD22: Introducción al lenguaje C (I) Ejemplos de C: Tipos básicos I  Declaración de variables:  Definición de tipos nuevos: char c; int edad; double radio, longitud; float f; typedef int entero; entero edad = 18; edad = edad + 1;

UD22: Introducción al lenguaje C (I) Ejemplos de C: Tipos básicos II  Definición de tipos enumerados: typedef enum {Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo} diaSemana; diaSemana d = Lunes; typedef enum {false, true} boolean; boolean res = false;

UD22: Introducción al lenguaje C (I) Elementos de C: Expresiones  Operadores equivalentes a los de JAVA  Asignación =  La expresiones lógicas devuelven un entero (0 si false y cualquier valor distinto de 0 si true) ARITMÉTICOS +- */ Módulo % Decremento - - Incremento ++ RELACIONALES >< >=<= ==!= LÓGICOS && || !

UD22: Introducción al lenguaje C (I) Elementos de C: Est. de control y selectiva  Iguales a las ya estudiadas  No existe for extendido FalsoCierto sentencia-1 sentencia-2... sentencia-n sentencia-1 sentencia-2... sentencia-n sentencia-n+1 sentencia-n+2 sentencia-m sentencia-n+1 sentencia-n+2 sentencia-m condición Falsa Cierta sentencia-1 sentencia-2 sentencia-n sentencia-1 sentencia-2 sentencia-n condición sentencia-1 sentencia-2 sentencia-n sentencia-1 sentencia-2 sentencia-n inicialización condición Falsa actualización Cierta If While For clásico

UD22: Introducción al lenguaje C (I) Elementos de C: Estructura de un programa Declaración de importaciones Definición de constantes Definición de tipos Declaración de prototipos void main (void) { declaración de variables instrucciones } Definición de funciones …

UD22: Introducción al lenguaje C (I) Elementos de C Declaración de importaciones #include Definición de constantes #define identificador_constante valor Definición de tipos typedef tipo nuevo_nombre; Declaración de prototipos tipo_retorno nombre_funcion (parámetros); void main (void) { declaración de variables tipo nombre1, nombre2; instrucciones } Definición de funciones tipo nombre funcion(parámetros){…} …

UD22: Introducción al lenguaje C (I)  Programa “Hola Mundo” Ejemplo de CI #include void main(void) { printf("Hola Mundo\n"); //Imprime a consola }

UD22: Introducción al lenguaje C (I) Ejemplo de C II #include typedef enum {false, true} boolean; boolean estaEn (int a, int b, int v); void main (void) { boolean res = estaEn (5,10,8); if(res == true){ printf(“El valor SÍ está en el intervalo”); } else { printf(“El valor NO está en el intervalo”); } } // <-- Llave que cierra main boolean estaEn(int a,int b,int v) { boolean res = false; if (a<b && a<=v && v<=b) { res=true; } return res; }  ¿Está el valor contenido en el intervalo?

UD22: Introducción al lenguaje C (I) Ejemplo de C III #include typedef enum {Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo} diaSemana; void main(void){ diaSemana d = Martes; if (d <= Viernes){ printf(“El día es laborable”); } else{ printf(“El día es fin de semana”); }  ¿Es un determinado día laborable o fin de semana?

UD22: Introducción al lenguaje C (I) Elementos de C: Arrays  Declaración:  Declaramos una constante que indica el tamaño del array. Su nombre puede ser nombreTAM.  En muchos casos un array no está lleno completamente. Definimos una variable de tipo entero que indica cuántos elementos hay en el array. Su nombre puede ser nombreLength.  El acceso a los índices del array se hará con el operador [] indicando como índice la posición a la que se desea acceder. tipo nombre [dim]; tipo nombre [dim1][dim2];

UD22: Introducción al lenguaje C (I) Elementos de C: Ejemplos de arrays I #define VTAM 10 void main(void){ int vLength = 0; int v[VTAM]; v[0] = 2; v[1] = 3; v[2] = 4; vLength = 3; }  Podemos declarar el tamaño del array en la inicialización void main(void){ int vLength = 0; int v[] = {2,3,4}; // El tamaño del array v es 3 vLength = 3; }

UD22: Introducción al lenguaje C (I) Elementos de C: Ejemplos de arrays II #include #define VTAM 10 float mediaPares (int v[], int vLength); void main (void){ int v[VTAM]; int vLength = 0; float res; v[0] = 3; v[1] = 8; v[2] = 6; v[3] = -5; int vLength = 4; res = mediaPares(v, vLength); printf(“Resultado calculado y almacenado en la variable res”); } float mediaPares(int v[], int vLength){ int i; float res = 0; for(i = 0; i < vLength; i=i+2){ res = res + v[i]; } return res/vLength; }  Calcula la media de los elementos PARES de un array

UD22: Introducción al lenguaje C (I) Elementos de C: Punteros I  Un puntero es una variable que contiene la dirección de otra variable.  Cuando una variable puntero es definida, el nombre de la variable debe ir precedido de un asterisco (*). Este identifica que la variable es un puntero  Operadores: tipo * identificador; * : acceso al contenido &: obtención de la dirección

UD22: Introducción al lenguaje C (I) void main (void){ int i = 15; int *p = &i; // p apunta a i int j = *p; // se accede a lo apuntado por p } Elementos de C: Punteros II Contenido de la memoria 13B6 ? 5FC4 ? ? ? i j p Variable Operación 15 13B6 15

UD22: Introducción al lenguaje C (I) Elementos de C: Ejemplos con punteros void main (void){ int i = 10, j; int *p; // Declaración de un puntero a int p = &i; // Se fuerza a que p apunte a la dirección de memoria de i j = *p + 1; // Se asigna a la variable j el contenido de p (es decir, 10) más 1 -> j = 11 *p = j * 2; // Se asigna al contenido del puntero p (es decir, la variable i), el valor de la variable j multiplicado por 2 -> i = 22 }

UD22: Introducción al lenguaje C (I) Elementos de C: Arrays y punteros  Hay una fuerte relación entre arrays y punteros.  El nombre de un array es un puntero a la base del array.  Se pueden sumar y restar enteros a un nombre de array (operaciones con punteros).  Si está declarado el array int x[]={1,2,3,4,5}  La dirección al primer elemento puede referirse como &(x[0]) o simplemente como x. El contenido de la primera posición se puede acceder como x[0] o como *x.  Para el segundo elemento sería: dirección &x[1] o x+1, contenido x[1] o *(x+1).

UD22: Introducción al lenguaje C (I) Elementos de C: Ejemplos de arrays y punteros #define VTAM 10 void main (void){ int v [VTAM]; int * pv; v+3; // es un puntero a la base de la casilla 3, equivalente a &v[ 3 ] v[3]; // es equivalente a *(v+3) pv = v+3; // pv apunta a la base de la casilla 3 de v, a v[3]. *pv = 5 // escribe en la posición v[3] el valor 5, es decir v[3]=5. }