Download Lenguaje C
Document related concepts
no text concepts found
Transcript
Programación I MC José Andrés Vázquez Flores Historia C es un lenguaje de programación de propósito general, asociado a UNIX. Reúne características de programación intermedia entre los lenguajes ensambladores y los lenguajes de alto nivel; con gran poderío basado en sus operaciones a nivel de bits y la mayoría de los elementos de la programación estructurada de los lenguajes de alto nivel. Las ideas principales de C provienen de BCPL, a través del lenguaje B. 26 Historia En 1971 Dennis Ritchie, con base en el lenguaje B desarrollo NB que luego cambio su nombre por C; en un principio sirvió para mejorar el sistema UNIX por lo que se le considera su lenguaje nativo. Su diseño incluyó una sintaxis simplificada, la aritmética de direcciones de memoria (permite al programador manipular bits, bytes y direcciones de memoria) y el concepto de apuntador. 27 Identificadores Un identificador es una secuencia de letras y dígitos, donde el primer carácter debe de ser una letra o subguión. Letras mayúsculas son distintas de las minúsculas. Los identificadores pueden tener cualquier longitud, pero solo los primeros 31 caracteres son significativos. 28 Palabras Reservadas auto typedef continue while else break for default long enum sizeof goto register static union main case do extern double if float return int struct short unsigned switch char void 29 Primer programa en C /* Un primer programa en C */ #include <stdio.h> main() { printf(''Hola Puebla”); } Comentario Archivo de cabecera Función principal Sentencia 30 Estructura de un programa en C #include… #define… Tipo1 funcion1 (…) Directivas del preprocesador Declaración de macros Declaraciones globales de variables y tipos de datos Prototipos de funciones Definiciones de otras funciones { … } main() { Función principal main Declaraciones locales Sentencias } 31 Tipos de Datos Los tipos básicos del lenguaje son: Carácter: Se declara con la palabra reservada char, ocupa un byte en memoria, que puede representar 256 símbolos posibles. Real: Se declara con la palabra reservada double o float, ocupa 8 o 4 bytes de memoria, respectivamente. Entero: Se declara con la palabra reservada int y short, y ocupa 2 bytes de memoria. En algunos compiladores ocupa 4 bytes de memoria. 32 Combinaciones char 8 caracteres ASCII -128 a 127 unsigned char 8 caracteres ascii 0 a 255 signed char 8 caracteres ascii -128 a 127 int 16 bits -32768 a 32767 unsigned int 16 bits 0 a 65535 signed int 16 bits -32768 a 32767 short int 16 bits -32768 a 32767 unsigned short int 8 bits 0 a 255 signed short int 16 bits -32768 a 32767 long int 32 bits -2147483648 a 2147483647 signed long int 32 bits -2147483648 a 2147483647 unsigned long int 32 bits 0 a 4294967295 float 32 bits 6 dígitos de precisión 3.4E-38 a 3.4E+38 double 64 bits 12 dígitos de precisión 1.7E-308 a 1.7E+308 long double 64 bits 12 dígitos de precisión 1.7E-308 a 1.7E+308 0 a 65535 33 Comentarios Los comentarios en C son cadenas arbitrarias de símbolos colocados entre los delimitadores /* y */ Ejemplo: /* Comentarios */ /* Este es un comentario muy largo ya que ocupa * mas de un renglón */ 34 Cadenas Una cadena es una secuencia de caracteres entre comillas “”. Si el carácter (“) tiene que aparecer en una cadena, se precede por el carácter \. Ejemplos: “Una cadena de texto” “z” “Una cadena con \” comillas” “” “ ” “x-x-0-.1-basura” “a+b=suma; x=cos(y)” /* cadena nula */ 35 Constantes Una constante (cualquier tipo de constante) en C se define de la siguiente manera (utilizando la palabra reservada define y anteponiéndole el símbolo # : #define #define #define #define ENTERO 10 REAL 1.09982 CAD “Se define una constante cad “ CAR ‘a’ 36 Variables Las variables y las constantes son los objetos que manipulan un programa. En general se deben de declarar las variables antes de poderlas usar. Por ejemplo: int i, j, k=0; float largo, ancho; char c; 37 Expresiones Las expresiones son combinaciones de constantes, variables, operandos y llamados a funciones. Algunos ejemplos de expresiones son: a+b*3.0*x-9.3242 3.77+sen(3.14*98.7) tan(1.8) 38 Expresiones El signo de igualdad (=) es el operador básico de asignación en C. Un ejemplo de una “expresión” de asignación es: i=7; A la variable i se le asigna el valor de 7 y la expresión como un todo toma ese valor. Cuando la expresión va seguida de un punto y coma (;) se convierte en una proposición. 39 Expresiones Se tienen operadores: Aritméticos (-(unario), *, /, %, +, -) Relacionales (>, >=, <, <=, ==, !=) Lógicos(!, &&, ||) De incremento y decremento (++, --) A nivel de bits (~, &, |, ^, <<, >>) Asignación (=, +=, -=, *=, /=,%=,<<=, >>=, &=, |=, ^=) Cada operador guarda una precedencia. 40 Entrada y Salida básica printf, scanf, getchar, puts, putc, fprintf, fscanf Ejemplo: printf(“cadena de control”, lista de argumentos); printf("hola puebla son las %d\n", tiempo); % tipo_de_dato (c, d, i, o, x, f, s) 41 Estructura de Secuencia En C se tienen proposiciones: Una proposición simple es una única instrucción. Una proposición compuesta son dos o más instrucciones, en este caso es necesario que éstas se encuentren entre corchetes «{ … }» Cada instrucción será ejecutada una después de la otra, a menos que se tenga una instrucción de decisión o iteración. Cada instrucción termina con ‹;›. 42 Estructuras de Decisión Condicional simple if (condición) Proposición Condición doble if (condición) Proposición verdadera else Proposición falsa 43 Estructuras de Decisión Expresión condicional ‹?›: Expresión1 ? Expresión2 : Expresión3 Expresión1 es evaluada primero. Si es verdadero, entonces la Expresión2 es evaluada. De otra forma Expresión3 se evalúa. Ejemplo: z = (a > b) ? a : b; /* z = max (a, b) */ En C, una condición verdadera, es distinta de cero, una condición falsa es igual a cero. 44 Estructuras de Decisión Else – if if (condición) proposición else if (condición) proposición else if (condición) proposición … else proposición 45 Estructuras de Decisión Decisión múltiple switch (expresión) { case exp_const1: proposición1 break; case exp_const2: proposición2 break; … [default : proposiciónn] } 46 Estructuras de Iteración Ciclo for for (expresión1; expresión2; expresión3) for (inicialización; cond_paro; dec/inc) Que es equivalente a: expresión1 while (expresión2) { proposición expresión3 } 47 Estructuras de Iteración Ciclo while while (condición) proposición Alguna de las instrucciones dentro de la proposición debe de modificar la condición, de otra forma se tendría un ciclo infinito. 48 Estructuras de Iteración Ciclo do – while do proposición while (condición); Alguna de las instrucciones dentro de la proposición debe de modificar la condición, de otra forma se tendría un ciclo infinito. 49