Sistemas

Páginas: 8 (1838 palabras) Publicado: 3 de septiembre de 2011
Introducción al lenguaje C

Juan C. Dueñas Joaquín Seoane T. de Miguel A. Gómez Flechoso Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid
El lenguaje C, diapositiva 1 (22/08/06)

dit UPM

Objetivos
Leer y escribir programas en ANSI C 1. Tipos de datos simples 2. Estructuras de control 3. Funciones 4. Datos estructurados 5. Punteros 6. Preprocesador

Ellenguaje C, diapositiva 2 (22/08/06)

dit UPM

Historia de C
 

  



BCPL (1967), B (1970) no tipados, de sistemas. C (Ritchie, 1972), tipado, para SO portátiles.  Ligado a UNIX desde 1973.  ANSI-C (1989).  ISO-C (1990).  C99 (1999) Objective C. C++ (Stroustrup-Bell Labs- 1980s), orientado a objetos. Java (Gosling, 1997), orientado a objetos. Inicialmente empotrados,reorientado hacia Internet. Independiente de la plataforma. C# (Microsoft)

El lenguaje C, diapositiva 3 (22/08/06)

dit UPM

Características de C


C no es orientado a objetos:


No tiene clases, ni herencia, ni polimorfismo, ni objetos, ni métodos, ni excepciones



C suele compilarse a lenguaje máquina:


Suele ser más rápido que Java (en máquina virtual)



C es un lenguajepara programación de sistemas:
    

Bajo nivel, poco tipado, inseguro Acceso directo a primitivas del SO (llamadas al sistema) Gestión de memoria explícita en C (programador) El compilador de C hace pocas comprobaciones de tipos Los fallos suelen detectarse en tiempo de ejecución (depurador imprescindible para programador de C)

El lenguaje C, diapositiva 4 (22/08/06)

dit UPM Estructura de un programa
// Rutinas.java public class Rutinas { static void rutina() {} public static void main(String[]args) { int i, N; N= Integer.parseInt(args[0]); for (i=0; i java Rutinas 10000000

$> gcc rutinas.c –o rutinas $> ./rutinas 10000000

El lenguaje C, diapositiva 5 (22/08/06)

dit UPM

Tipos de datos


Fundamentales:
 

enteros reales enumerados array punteroestructura unión



Derivados:
    

El lenguaje C, diapositiva 6 (22/08/06)

dit UPM

Tipos fundamentales


Similares en Java:
     

void /* representa la nada o un tipo “indefinido” */ char c = ‘s’; /* entero 8 bits, suele representar un carácter */ int i = 25; /* entero de 16 ó 32 bits */ float f = 0.56; /* coma flotante de precisión simple */ double d = 0.56; /*coma flotante de doble precisión */ ¡En C no existe boolean! (las expresiones lógicas devuelven int) (C99 tiene boolean y complex) Tamaño: short, long, long long (C99) Signo: signed, unsigned (en Java no hay unsigned) sizeof(char) = 1 sizeof (short) = 4 >= 8



Modificadores enteros:
 



Tamaño y rangos de cada tipo dependen de la plataforma
 

El lenguaje C, diapositiva 7(22/08/06)

dit UPM

Conversiones y operadores
x Igual que en Java:


Conversión de tipos:
 

Implícita, promoción al de más rango: int + float = float Explícita: (double) integer Aritméticos (+ - * / %) Relacionales y lógicos (> >= < ~) Incremento/decremento (i++ ++i --i) Evaluación condicional (a>b) ? a : b Son operadores: a = b + 1; x = y = z = 3; u = (v = x) + y Combinables con otrosoperadores: i += 2; mask < >= == != & ^ && || ?: = += -= ,
El lenguaje C, diapositiva 11 (22/08/06)

Agrupación ->

dit UPM

Ejempos
  

a+b*c a/b*c a=b=c

= = =

a+(b*c) (a/b)*c a=(b=c)

≠ ≠ ≠

(a+b)*c a/(b*c) (a=b)=c (ilegal)

El lenguaje C, diapositiva 12 (22/08/06)

dit UPM

Funciones


Todas las funciones son globales


En Java todos los métodospertenecen a una clase



Espacio de nombres único para las funciones


En Java un espacio de nombres por clase

Manejo de errores: convenio sobre el valor devuelto por una función


if (f() < 0) error() if (f() == 0) ok()


En Java los errores se gestionan mediante excepciones

El lenguaje C, diapositiva 13 (22/08/06)

dit UPM

Declaración de funciones


Declaración o...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistemas
  • Sistemas
  • Sistema
  • Sistemas
  • Sistemas
  • Sistemas
  • Sistemas
  • El sistema

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS