filminas C

Páginas: 6 (1360 palabras) Publicado: 5 de noviembre de 2015
Introducción al lenguaje de
programación C
75.40 - Algoritmos y Programación I
Cátedra Wachenchauzer
Sebastián Santisi
15/06/2015

Python versus C


Aprendemos un segundo lenguaje en base
a las diferencias con el primero

Python


Dennis M. Ritchie,
1972

C


Guido van Rossum,
1991



Mainframes



PCs



Bajo nivel



Alto nivel





Pensado para
escribir un sistema
operativo
ANSI-89,ANSI-99





Pensado para
scripting
Todavía en
desarrollo

Caracterización


Interpretado vs. compilado



Tipado estático vs. tipado dinámico



Memoria administrada por el entorno vs.
por el usuario

Intérprete


Es un programa compilado para una plataforma



Ejecuta línea a línea un código (script)



Estereotipos:


Más lento



Lenguaje interpretado



Los errores saltan entiempo de ejecución



No optimiza



etc.

Compilador






Es un programa con una plataforma como objetivo
Toma un código fuente y genera un ejecutable
para esa plataforma
Estereotipos:


Más rápido



Lenguaje compilado



Control de errores en tiempo de compilación



etc.

Tipado dinámico
a = “hola”
...
a = 5
...
a = a ** 100

Tipado estático
int a;
a = 5;
a = 3.14; // Guarda 3
a =“hola”; // ¡ERROR!, a es
entero

Memoria administrada por el
entorno
a = “hola” + “mundo” + “.”






En Python la línea anterior creó en memoria
los objetos str(“hola”), str(“mundo”) y str(“.”)...
y también str(“holamundo”) y str(“holamundo.”)
En a sólo se almacenó str(“holamundo.”) los
otros 4 pueden ser destruídos
El entorno decidirá cuándo destruirlos (tal vez
no pueda, en caso de que otravariable
referencie a alguna de esas cadenas)

Memoria administrada por el
programador


Es el programador el que define cuándo crear, cuándo
destruir, cuánto ocupa una variable, etc.

Generalmente los tipos simples pueden operarse sin
manejar memoria salvo para almacenarlos
int a=4, b=3, c=6, d;


d = a + b + c + 5




En Python la suma parcial necesita ser administrada,
en C sólo ocupanmemoria a, b, c y d
La memoria se distingue en estática (pila de la función)
y dinámica (heap, peticionada al sistema operativo)

Tipos en C






Dos grandes grupos:


Enteros: char, short, int, long, etc.



Flotantes: float, double, etc.

Enteros:


El tamaño depende de la plataforma y del compilador



Admiten modificadores unsigned

Flotantes:


IEEE754



Representación en mantisa másexponente



float: ~8 dígitos de representación de mantisa en decimal



double: ~16 dígitos

Tipos enteros (ej. GCC 32bits)




Tipo

Bits

Bytes

Desde

Hasta

signed char

8

1

-128

127

unsigned char

8

1

0

255

short

16

2

-32.768

32.767

unsigned short

16

2

0

65.535

int

32

4

-2.147.483.648

2.147.483.647

unsigned int

32

4

0

4.294.967.295

long

32

4-2.147.483.648

2.147.483.647

unsigned long

32

4

0

4.294.967.295

El tamaño no está fijado por el estándar salvo el de char: sizeof(char) = 1
Después: sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long), etc.

Ejemplos


double frecuencia_angular;



unsigned int cantidad_asistentes;



unsigned char edad;



long centavos;



float temperatura;



Lo anterior son ejemplos de“declaraciones” de
variables. Declarar una variable implica reservar
memoria para ella. Las variables se declaran una
única vez. Declarar ≠ definir (asignarle un valor)

Literales


Los literales, como todo, son tipados en C

Todos estos representan al 0 con un tipo
distinto:
0 (int), 0U (unsigned int), 0L
(long), '\0' (char), NULL (void*),
0.0 (double), 0.0F (float)




Internamente pueden tener unarepresentación diferente

Funciones


Tienen tipos, como todo, tanto de las cosas que
entran como de las que devuelven

int sumar(int a, int b) {
return a + b;
}
int x;
x = sumar(4.8, 5.8); // x = 9

Conversiones de tipos










Truncado: Cuando un tipo “más grande” se mete en uno “más
chico” (un int en un char, un float en un int, un signado en un
unsigned, etc.). Puede haber pérdida de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • FILMINAS HISTORIA NIIFS EN C
  • Filminas Inversiones
  • Cameo-Filmin
  • Segmentacion Filminas
  • Cameo Filmin
  • Filminas
  • FILMINAS UNIDAD I
  • Fckc c c c c

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS