Lenguaje C Programacin I MC Hilda Castillo Zacatelco

  • Slides: 26
Download presentation
Lenguaje C Programación I MC Hilda Castillo Zacatelco

Lenguaje C Programación I MC Hilda Castillo Zacatelco

Historia ü C es un lenguaje de programación de propósito general, asociado a UNIX.

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. FCC - BUAP Primavera 2010 2

Historia ü En 1971 Dennis Ritchie, con base en el lenguaje B desarrollo NB

Historia ü En 1971 Dennis Ritchie, con base en el lenguaje B desarrollo NB que luego cambió 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. FCC - BUAP Primavera 2010 3

Identificadores ü Un identificador es una secuencia de letras y dígitos, donde el primer

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. FCC - BUAP Primavera 2010 4

Palabras Reservadas auto typedef register extern continue while static if else break union return

Palabras Reservadas auto typedef register extern continue while static if else break union return for default main struct long enum case unsigned sizeof goto do char double float int short switch void FCC - BUAP Primavera 2010 5

Primer programa en C /* Un primer programa en C */ Comentario #include <stdio.

Primer programa en C /* Un primer programa en C */ Comentario #include <stdio. h> main() { printf(''Hola Puebla”); } Archivo de cabecera Función principal Sentencia FCC - BUAP Primavera 2010 6

Estructura de un programa en C #include… #define… main() { } Tipo funcion 1

Estructura de un programa en C #include… #define… main() { } Tipo funcion 1 (…) { … } Directivas del preprocesador Constantes Declaraciones globales Prototipos de funciones Variables Función principal main Declaraciones locales Sentencias Definiciones de otras funciones FCC - BUAP Primavera 2010 7

Tipos de Datos • Los tipos básicos del lenguaje son: – Carácter: Se declara

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. FCC - BUAP Primavera 2010 8

q Ejercicio: Escribir un programa que muestre el número de bytes que ocupa cada

q Ejercicio: Escribir un programa que muestre el número de bytes que ocupa cada tipo en lenguaje C, utilizando sizeof. MC Hilda Castillo Zacatelco FCC - BUAP Primavera 2010 9

Combinaciones char 8 caracteres ASCII -128 a 127 unsigned char 8 caracteres ascii 0

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. 4 E-38 a 3. 4 E+38 double 64 bits 12 dígitos de precisión 1. 7 E-308 a 1. 7 E+308 long double 64 bits 12 dígitos de precisión 1. 7 E-308 a 1. 7 E+308 FCC - BUAP 0 a 65535 Primavera 2010 10

Comentarios v Los comentarios en C son cadenas arbitrarias de símbolos colocados entre los

Comentarios v 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 */ FCC - BUAP Primavera 2010 11

Cadenas v Una cadena es una secuencia de caracteres entre comillas “”. Si el

Cadenas v 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” “x-x-0 -. 1 -basura” “Una cadena con ” comillas” “a+b=suma; x=cos(y)” “” ” /* cadena nula */ FCC - BUAP Primavera 2010 12

Constantes v Una constante (cualquier tipo de constante) en C se define de la

Constantes v 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 ENTERO 10 REAL 1. 09982 CAD “Se define una constante cad “ CAR ‘a’ FCC - BUAP Primavera 2010 13

Variables Ø Las variables y las constantes son los objetos que manipulan un programa.

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; FCC - BUAP Primavera 2010 14

Expresiones Ø Las expresiones son combinaciones de constantes, variables, operandos y llamados a funciones.

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) FCC - BUAP Primavera 2010 15

Expresiones • El signo de igualdad (=) es el operador básico de asignación en

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. FCC - BUAP Primavera 2010 16

Expresiones Ø Se tienen operadores: – Aritméticos (-(unario), *, /, %, +, -) –

Expresiones Ø Se tienen operadores: – Aritméticos (-(unario), *, /, %, +, -) – Relacionales (>, >=, <, <=, ==, !, &&, ||) – De incremento y decremento (++, --) – Lógicos (~, &, |, ^, <<, >>) – Asignación (=, +=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=) Ø Cada operador guarda una precendencia. FCC - BUAP Primavera 2010 17

Entrada y Salida básica • printf, scanf, getchar, puts, putc, fprintf, fscanf • Ejemplo:

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 %dn", tiempo); % tipo_de_dato (c, d, i, o, x, f, s) FCC - BUAP Primavera 2010 18

Estructura de Secuencia • En C se tienen proposiciones: – Una proposición simple es

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 ‹; ›. FCC - BUAP Primavera 2010 19

Estructuras de Decisión • Condicional simple if (condición) Proposición • Condición doble if (condición)

Estructuras de Decisión • Condicional simple if (condición) Proposición • Condición doble if (condición) Proposición verdadera else Proposición falsa FCC - BUAP Primavera 2010 20

Estructuras de Decisión • Expresión condicional ‹? ›: Expresión 1 ? Expresión 2 :

Estructuras de Decisión • Expresión condicional ‹? ›: Expresión 1 ? Expresión 2 : Expresión 3 • Expresión 1 es evaluada primero. Si es verdadero, entonces la Expresión 2 es evaluada. De otra forma Expresión 3 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. FCC - BUAP Primavera 2010 21

Estructuras de Decisión • Else – if if (condición) proposición else if (condición) proposición

Estructuras de Decisión • Else – if if (condición) proposición else if (condición) proposición … else proposición FCC - BUAP Primavera 2010 22

Estructuras de Decisión • Decisión múltiple switch (expresión) { case exp_const 1: proposición 1

Estructuras de Decisión • Decisión múltiple switch (expresión) { case exp_const 1: proposición 1 break; case exp_const 2: proposición 2 break; … [default : proposiciónn] } FCC - BUAP Primavera 2010 23

Estructuras de Iteración • Ciclo for (expresión 1; expresión 2; expresión 3) for (inicialización;

Estructuras de Iteración • Ciclo for (expresión 1; expresión 2; expresión 3) for (inicialización; cond_paro; dec/inc) • Que es equivalente a: expresión 1 while (expresión 2) { proposición expresión 3 } FCC - BUAP Primavera 2010 24

Estructuras de Iteración • Ciclo while (condición) proposición • Alguna de las instrucciones dentro

Estructuras de Iteración • Ciclo 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. FCC - BUAP Primavera 2010 25

Estructuras de Iteración • Ciclo do – while do proposición while (condición); • Alguna

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. FCC - BUAP Primavera 2010 26