La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS PROF. M.I. JAIME ALFONSO REYES.

Presentaciones similares


Presentación del tema: "UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS PROF. M.I. JAIME ALFONSO REYES."— Transcripción de la presentación:

1 UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS PROF. M.I. JAIME ALFONSO REYES CORTÉS

2 El compilador de C Compilador Código fuente Código objeto errores de sintaxis y semántica ligador Código máquina bibliotecas errores de memoria y de ejecución resultados datos Preprocesador Código fuente con adecuaciones

3 Guía de referencia rápida de lenguaje C Identificadores Un identificador es una palabra o secuencia de caracteres que forman el nombre de un objeto del programa Deben empezar con letra, excepto ñ o Ñ, o guión bajo y estar seguidos de cero o más letras, números o guiones bajos No se permiten símbolos como $ ¡ ! ¿ ? ° | & - % / \ o espacios en blanco ni tabuladores

4 Guía de referencia rápida de lenguaje C Palabras reservadas en C C posee un conjunto de palabras que no pueden ser utilizadas como nombres de identificadores ni de funciones. Son las siguientes: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

5 Guía de referencia rápida de lenguaje C Palabras reservadas en C++ Además de las palabras reservadas de C, C++ también posee un conjunto de palabras que se deben de considerar cuando se programe en C con compiladores de C++. Son las siguientes: asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum,explicit, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static. static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, while

6 Guía de referencia rápida de lenguaje C Constante: Un valor declarado u objeto que no cambia durante la ejecución y que se especifica mediante la directiva de sustitución o macro #define, por ejemplo: #define LMAX 21 #define PI Variable: Un objeto declarado que toma un valor que se puede modificar durante la ejecución del programa y que se especifica en la parte de declaración de variables. Las variables se representan por identificadores válidos y se les antepone el tipo de dato que representan. Por ejemplo: int a; float b; Se le denomina ámbito al alcance o utilización que pueden tener las variables en C. De acuerdo a esto existen variables globales y variables locales

7 Guía de referencia rápida de lenguaje C Variable global: Aquella variable que puede ser modificada y utilizada en cualquier parte del programa, es decir su ámbito o alcance no está restringido Variable local: Aquella variable que sólo puede ser modificada y utilizada solamente en la parte del programa donde fue definida, como en el caso de las variables que se declaran dentro de las funciones. En otras palabras el ámbito de una variable local se encuentra restringido a la función donde fue declarada

8 Guía de referencia rápida de lenguaje C Tipos de datos en C Los tipos básicos en C son – int (entero) – float (real de precisión sencilla) – double (real de precisión doble) – char (carácter) – char nombre[TAMAÑO] (cadenas) – Los booleanos no existen en C. En su lugar se toman int con valor 0 para falso y diferente de 0 como verdadero C cuenta con otros tipos de datos. Para ello hace uso de modificadores. Véase el artículo Tipos de datos en C.Tipos de datos en C

9 Guía de referencia rápida de lenguaje C Estructura general de un programa en C La forma más sencilla de elaborar un programa en C es: #include /*Bibliotecas o archivos de cabecera*/ #include /*donde están las funciones que usa C*/ #define MACRO1 valor /*Declaración de constantes donde */ #define MACRO2 valor /*también se pueden definir expresiones compuestas*/ int main()/*función principal*/ { /*Declaración de variables*/ /*Asignación de variables*/ /*Cuerpo de la función principal*/ return 0; /*Devuelve el control al S.O. indicando que todo terminó bien*/ }

10 Guía de referencia rápida de lenguaje C Estructura general de un programa en C En realidad existen dos estructuras formales que se pueden usar al elaborar un programa en C. Estructura 1 #include /*Bibliotecas o archivos de cabecera*/ #include /*donde están las funciones que usa C*/ #define MACRO1 valor /*Declaración de constantes donde */ #define MACRO2 valor /*también se pueden definir expresiones compuestas*/ … tipo1 funcion1(lista de parámetrosA);/*Declaración de los prototipos*/ tipo2 funcion2(lista de parámetrosB);/*de funciones definidas por el usuario*/ … tipoA variabletipoA;/*Variables globales*/ tipoB variabletipoB; …

11 Guía de referencia rápida de lenguaje C int main()/*función principal*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función principal*/ return 0; /*Devuelve el control al S.O. indicando que todo terminó bien*/ } /*funciones definidas por el usuario*/ tipo1 funcion1(lista de parámetrosA)/*función1 que devuelve un valor de tipo1*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función1*/ return valor_de_tipo1; /*Devuelve el valor a la función que la invocó*/ }

12 Guía de referencia rápida de lenguaje C tipo2 funcion2(lista de parámetrosB)/*función2 que devuelve un valor de tipo1*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función2*/ return valor_de_tipo1; /*Devuelve el valor a la que la invocó*/ } …

13 Guía de referencia rápida de lenguaje C Estructura general de un programa en C Estructura 2 #include /*Bibliotecas o archivos de cabecera*/ #include /*donde están las funciones que usa C*/ #define MACRO1 valor /*Declaración de constantes donde */ #define MACRO2 valor /*también se pueden definir expresiones compuestas*/ … tipoA variabletipoA;/*Variables globales*/ tipoB variabletipoB; … /*funciones definidas por el usuario*/ /*Aquí se definen los cuerpos de las funciones antes de la función principal main*/ /*No es necesario declarar su prototipo. Cada función termina con ; después de definirla a diferencia de la Estructura 1*/

14 Guía de referencia rápida de lenguaje C tipo1 funcion1(lista de parámetrosA)/*función1 que devuelve un valor de tipo1*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función1*/ return valor_de_tipo1; /*Devuelve el valor a la función que la invocó*/ }; tipo2 funcion2(lista de parámetrosB)/*función2 que devuelve un valor de tipo1*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función2*/ return valor_de_tipo1; /*Devuelve el valor a la función que la invocó*/ };

15 Guía de referencia rápida de lenguaje C … int main()/*función principal*/ { /*Declaración de variables locales*/ /*Asignación de variables*/ /*Cuerpo de la función principal*/ return 0; /*Devuelve el control al S.O. indicando que todo terminó bien*/ }

16 Guía de referencia rápida de lenguaje C Operador de asignación = Operadores aritméticos Precedencia - (operador monario) *, / (división), % (residuo de división entera) +, -

17 Guía de referencia rápida de lenguaje C Operadores relacionales Precedencia >, < >=, <= == (igualdad) != (desigualdad)

18 Guía de referencia rápida de lenguaje C Operadores lógicos Precedencia ! not (negado) && (AND) || (OR ) Nota: En C un valor falso se toma como 0 y un valor verdadero se toma como cualquier valor diferente de cero A! AB&&||

19 Guía de referencia rápida de lenguaje C Operador sizeof Este es un operador muy útil. Nos permite conocer el tamaño en bytes de una variable. De esta manera no tenemos que preocuparnos en recordar o calcular cuanto ocupa en memoria. Además el tamaño de una variable cambia de un compilador a otro, es la mejor forma de asegurarse. Se usa poniendo el nombre de la variable después de sizeof y separado de un espacio: #include int main() { int variable; printf( "Tamaño de la variable: %i\n", sizeof (variable) ); return 0; }

20 Guía de referencia rápida de lenguaje C Operador (++) : Incremento Este operador equivale a sumar uno a la variable a++ (postincremento) ++a (preincremento) Operador (--) : Decremento Este operador equivale a restar uno a la variable a-- (postdecremento) --a (predecremento) NOTA: Existen otros operadores que no se tratan en este texto pero que se pueden consultar en los manuales de referencia de C

21 Guía de referencia rápida de lenguaje C Sentencias de asignación int a = 5, b; b = 12; Expresiones aritméticas 5*A/2%4-5 Expresiones lógicas o booleanas (a 4) (x 0.25) ((a != b) && !c) || (c == d)

22 Guía de referencia rápida de lenguaje C Notación abreviada. Se usa cuando una variable opera consigo misma y con una constante o una expresión int a = 5, b = 12; a += 7; /* a = a + 7; */ b *= 2; /* b = b * 2; */ a/=2; /*a = a / 2; */ suma*=x/fact; /*suma = suma*x/fact */

23 Guía de referencia rápida de lenguaje C Funciones predefinidas. Existen varias funciones predefinidas en C que se pueden usar al momento de programar. Necesitan de su respectiva Biblioteca para poder ser utilizadas. De hecho C agrupa a las funciones en Bibliotecas de acuerdo a las tareas que realizan. Las más comunes son: BibliotecaDescripciónFunciones stdio.hFunciones de entrada/salida estándarprintf, scanf, gets, puts, fflush, etc. math.hFunciones matemáticas y trigonométricassin, cos, tan, asin, acos, atan,etc. exp, sqrt, log, log10, pow, etc. string.hFunciones que manipulan cadenasstrlen, strcpy, strcat, strcmp, etc. ctype.hFunciones que manipulan y clasifican caracteres toupper, tolower, isalpha, isalnum, isdigit, etc. stdlib.hFunciones usadas comúnmente: rutinas de conversión, búsqueda/ordenamiento y miscelaneas abs, atoi, atof, max, min, random, randomize, etc

24 Guía de referencia rápida de lenguaje C Operaciones de entrada/salida Entrada (leer valores por vía teclado) scanf(%cf_tipo1%cf_tipo2…, &var_tipo1, &var_tipo2,…); Salida Mostrar en pantalla una cadena con formato y/o una lista de variables printf(texto %cf_tipo1 %cf_tipo2…,var_tipo1, var_tipo2,…); *cf = código de formato

25 Guía de referencia rápida de lenguaje C Estructuras de control Un algoritmo simple presenta flujo secuencial, sin embargo, no todos los algoritmos son así ya que es necesario realizar procedimientos más complejos que involucren ya sea elegir una o varias alternativas o realizar el mismo procedimiento varias veces El control de flujo de un lenguaje especifica el orden en el que se ejecuta cada sentencia o instrucción Tenemos entonces tres tipos principales de estructuras de control: Estructura secuencial, estructuras de decisiónes o selecciones y los ciclos o estructuras de repetición

26 Guía de referencia rápida de lenguaje C Estructuras de control Estructura secuencial

27 Guía de referencia rápida de lenguaje C Estructuras de control DecisiónSimpleDobleAnidadaMúltiple Expresión condicional

28 Guía de referencia rápida de lenguaje C Decisiones simples

29 Guía de referencia rápida de lenguaje C Decisiones dobles

30 Guía de referencia rápida de lenguaje C if (condición1) { /*bloque1*/} else if(condición2) { /*bloque2*/} else if(condición3) {…} else if(condiciónN) {/*bloqueN*/} else {/*bloqueN+1*/} Decisiones anidadas

31 Guía de referencia rápida de lenguaje C Decisión múltiple

32 Guía de referencia rápida de lenguaje C Expresión condicional Se usa para simplificar una decisión doble que afecta a una única variable. var = condición ? expresión1: expresión2; Por ejemplo: Se puede abreviar como if(condición) a = 5.7; else a = sqrt(10.0); a = condición ? 5.7 : sqrt(10.0);

33 Guía de referencia rápida de lenguaje C Estructuras de control Estructuras de repetición (ciclos, loops, lazos o bucles) Ciclossimpleswhiledo-whileforanidados

34 Guía de referencia rápida de lenguaje C Estructuras de control Ciclo while

35 Guía de referencia rápida de lenguaje C Estructuras de control Ciclo do-while

36 Guía de referencia rápida de lenguaje C Estructuras de control

37 Guía de referencia rápida de lenguaje C Arreglos Un arreglo es un conjunto ordenado de variables del mismo tipo que se encuentran reunidas bajo un mismo nombre La forma de declarar un arreglo en C es tipo nombredelarreglo[tamaño]; La forma de acceder a cada elemento del arreglo es por medio de un índice, p. ej. arrentero[4] = 18;

38 Cadenas en C En C las cadenas no se definen en forma explícita, se definen como arreglos de caracteres: char nombre_cadena[tamaño] char cadena[7]; scanf(%s,cadena); /*suponiendo que se tecleo hola*/ hola\

39 Cadenas en C Se considera que toda cadena lleva al final de ella un fin de cadena o terminador nulo, el cuál permite delimitar a la cadena. Se debe considerar el fin de cadena cuando se trabaje con ellas, así al definir el tamaño de la cadena siempre se debe de tener en cuenta su terminador nulo y reservar siempre un espacio adicional para el tamaño que se quiera asignar a la cadena.

40 Funciones que manipulan cadenas NombreDescripción getsLee cadenas con espacios en blanco putsMuestra una cadena en pantalla strcpyCopia el contenido de una cadena en otra strcatConcatena 2 cadenas strcmpCompara 2 cadenas strlenLongitud de una cadena Están definidas en la biblioteca string.h

41 Apuntadores en C


Descargar ppt "UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS PROF. M.I. JAIME ALFONSO REYES."

Presentaciones similares


Anuncios Google