La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Presentaciones similares


Presentación del tema: "UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO"— 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 errores de sintaxis y semántica bibliotecas Código
fuente con adecuaciones Código fuente Preprocesador Compilador Código objeto datos Código máquina ligador resultados errores de memoria y de ejecución bibliotecas

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.

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 <biblioteca1.h> /*Bibliotecas o archivos de cabecera*/ #include <biblioteca2.h> /*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 <biblioteca1.h> /*Bibliotecas o archivos de cabecera*/ #include <biblioteca2.h> /*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*/ /*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 <biblioteca1.h> /*Bibliotecas o archivos de cabecera*/ #include <biblioteca2.h> /*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*/ /*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 ! 1 A B && || 1

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 <stdio.h> 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 < 5) && (b > 4) (x <= 0.23) || (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: Biblioteca Descripción Funciones stdio.h Funciones de entrada/salida estándar printf, scanf, gets, puts, fflush, etc. math.h Funciones matemáticas y trigonométricas sin, cos, tan, asin, acos, atan,etc. exp, sqrt, log, log10, pow, etc. string.h Funciones que manipulan cadenas strlen, strcpy, strcat, strcmp, etc. ctype.h Funciones que manipulan y clasifican caracteres toupper, tolower, isalpha, isalnum, isdigit, etc. stdlib.h Funciones 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 ¡Ojo! Los códigos de formato van dentro de “” Por cada variable que se quiera leer o escribir debe existir su correspondiente código de formato. En scanf cada variable lleva &, excepto las variables de tipo cadena. En printf las variables no llevan &.

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ón Simple Doble Anidada Múltiple Expresión condicional

28 Guía de referencia rápida de lenguaje C
Decisiones simples ¡Ojo! Una sola instrucción no lleva llaves. Dos o más instrucciones sí.

29 Guía de referencia rápida de lenguaje C
Decisiones dobles ¡Ojo! Una sola instrucción no lleva llaves. Dos o más instrucciones sí.

30 Guía de referencia rápida de lenguaje C
Decisiones anidadas if (condición1) { /*bloque1*/} else if(condición2) { /*bloque2*/} else if(condición3) {…} else if(condiciónN) {/*bloqueN*/} else {/*bloqueN+1*/} ¡Ojo! Una sola instrucción no lleva llaves. Dos o más instrucciones sí.

31 Guía de referencia rápida de lenguaje C
Decisión múltiple ¡Ojo! Cada caso se separa por break. Si se omite break se ejecuta el bloque de instrucciones siguiente.

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 ¡Ojo! expresión1 se asigna cuando la condición evaluada es verdadera y expresión2 se asigna cuando la condición evaluada es falsa 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) Ciclos simples while do-while for anidados

34 Guía de referencia rápida de lenguaje C
Estructuras de control Ciclo while ¡Ojo! Una sola instrucción no lleva llaves. Dos o más instrucciones sí. Este ciclo no lleva “;” después de la condición.

35 Guía de referencia rápida de lenguaje C
Estructuras de control Ciclo do-while ¡Ojo! Este ciclo siempre lleva llaves aún cuando sea una sola instrucción. Es el único ciclo que lleva “;” después de la condición.

36 Guía de referencia rápida de lenguaje C
Estructuras de control ¡Ojo! Una sola instrucción no lleva llaves. Dos o más instrucciones sí. En este ciclo “;” se usa para separar cada parámetro del ciclo por eso se encuentran dentro de “(“ y “)”, no después del que cierra.

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; ¡Ojo! Todos los arreglos en C empiezan en el índice 0 y terminan hasta el índice tamaño-1 1 2 3 4 5 6 10 7 14 18 2 -10

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*/ 1 2 3 4 5 6 ‘h’ ‘o’ ‘l’ ‘a’ ‘\0’

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
Nombre Descripción gets Lee cadenas con espacios en blanco puts Muestra una cadena en pantalla strcpy Copia el contenido de una cadena en otra strcat Concatena 2 cadenas strcmp Compara 2 cadenas strlen Longitud de una cadena Están definidas en la biblioteca string.h

41 Apuntadores en C


Descargar ppt "UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO"

Presentaciones similares


Anuncios Google