Вы находитесь на странице: 1из 19

18/11/2008

Programación 1 (03)
Unidad IV: Introducción al 
d d d ó l
lenguaje de programación C

Prof. Flor Narciso
Departamento de Computación
Escuela de Ingeniería de Sistemas
Facultad de Ingeniería
Universidad de Los Andes

Conceptos Básicos: Dato
Dato Representación simbólica (numérica, alfabética, etc.), atributo o 
Dato:
característica de una entidad
característica de una entidad

Ejemplos: cifras de venta de un supermercado, notas de un parcial,


número de vuelos Maiquetía-Porlamar, etc..
Tipos básicos de datos:
1) Número (entero, real)
2) Carácter
3) Dirección de memoria (apuntador)
4) Lógico

Prof. Flor Narciso Programación 1


Semestre B-2008
2

1
18/11/2008

Conceptos Básicos: Valor

Valor
valor ≅ elemento perteneciente a un conjunto
conjunto ≅ tipo de dato
• Todos los valores del conjunto deben cumplir la misma 
propiedad, y el conjunto define el tipo de operaciones 
que se pueden aplicar sobre sus valores

Ejemplo: 
3 ∈ A: El valor 3 es un elemento perteneciente al 
conjunto A = {0, 1, 2, 3, 4, ...}

Prof. Flor Narciso Programación 1


Semestre B-2008
3

Conceptos Básicos: Variable

Variable

Elemento de la memoria principal  que sirve para 
almacenar un valor, referenciada por un nombre
(identificador), y perteneciente a un tipo de dato
Puede almacenar un valor distinto en cada instante de 
tiempo
Espacio en memoria

Tipo de dato Valor Nombre

Prof. Flor Narciso Programación 1


Semestre B-2008
4

2
18/11/2008

Conceptos Básicos: Memoria

Memoria principal
Memoria principal

• Lugar donde se almacenan los valores

Prof. Flor Narciso Programación 1


Semestre B-2008
5

Conceptos Básicos: Memoria
variable
a=2 Memoria principal
…….

0000000000000100
Localidad Valor
de la variable 2 de la
0000000000000101
a (dirección variable
de memoria) 0000000000000110 a

0000000000000111

……

Prof. Flor Narciso Programación 1


Semestre B-2008
6

3
18/11/2008

Conceptos Básicos: Memoria
variable
b=7 Memoria principal
…….

0000000000000100

2
0000000000000101
Localidad Valor
de la variable 7
0000000000000110 d lla
de
b (dirección variable
de memoria) 0000000000000111 b

……

Prof. Flor Narciso Programación 1


Semestre B-2008
7

Conceptos Básicos: Memoria
variable
numero = 10 Memoria principal
…….

0000000000000100

2
0000000000000101

7
0000000000000110
Localidad Valor
de la variable 10
0000000000000111 de la
numero variable
(dirección …… numero
de memoria)
Prof. Flor Narciso Programación 1
Semestre B-2008
8

4
18/11/2008

Conceptos Básicos: Memoria
variable
numero = -2
2 Memoria principal
…….

-8
0000000000000100

2
0000000000000101

7
0000000000000110
Localidad Valor
de la variable 10 -2
0000000000000111 de la
numero variable
(dirección …… numero
de memoria)
Prof. Flor Narciso Programación 1
Semestre B-2008
9

Conceptos Básicos: Tipo de dato
Tipo de dato

• Conjunto de valores, denominado dominio, sobre el cual se 
pueden realizar un conjunto de operaciones

• Toda variable debe estar asociada a un tipo de dato, 
responsable de indicar el dominio de valores válidos

Prof. Flor Narciso Programación 1


Semestre B-2008
10

5
18/11/2008

Conceptos Básicos: Tipo de dato
Tipo de dato

Puede clasificarse como escalar o estructurado

Ê Escalar o simple: Aquel cuyo dominio presenta una 
propiedad de orden (entero, real, carácter, lógico)
Ejemplos:
– Un día es un dato simple: dia = 11
U dí d t i l di 11
– Una letra es un dato simple: letra =‘Z’

Prof. Flor Narciso Programación 1


Semestre B-2008
11

Conceptos Básicos: Tipo de dato
Tipo de dato

Ê Estructurado
Estructurado o compuesto: Aquel que se define mediante 
o compuesto: Aquel que se define mediante
composición de tipos de datos  (vector, cadena de caracteres, 
matriz, registro)

Ejemplo 

El tipo de dato hora podría estar representado por los atributos HORA, 
MIN y SEG (tres datos simples), siendo los tres de tipo entero

Las operaciones aplicables sobre el tipo de dato fecha podrían ser:
Ê Mostrar hora
Ê Incrementar hora
Ê Incrementar minutos
Ê Incrementar segundos

Prof. Flor Narciso Programación 1


Semestre B-2008
12

6
18/11/2008

Conceptos Básicos: Tipo de dato

Tipo de dato estructurado

Ejemplo

Para formar un nombre de persona se utilizan varios caracteres

nombre = “Ana” (dato compuesto por tres caracteres)

caracteres: ‘A’ , ‘n’ , ‘a’

Prof. Flor Narciso Programación 1


Semestre B-2008
13

Tipos de datos en C

© 2003 Brooks/Cole - Thomson Learning™

Prof. Flor Narciso Programación 1


Semestre B-2008
14

7
18/11/2008

Tipos de datos simples en C

Tipo entero
Z = { …, ‐3, ‐2, ‐1, 0, 1, 2, 3, … }
Dependiendo del número de bits empleado 
en cada computadora (n), los dominios del 
tipo de dato entero varían
a) –2 (n – 1), ..., 0, ..., 2 (n – 1) – 1 enteros positivos y negativos
Si n = 16
–2 (16 – 1), ..., 0, ..., 2 (16 – 1) – 1= –2 (15), ..., 0, ..., 2 (15) – 1
= 32768
=  ‐32768, …, 0, …, 32767
0 32767
b) 0, ..., 2n – 1 enteros positivos
Si n = 16
0, ..., 216 – 1 = 0, ..., 65535
edad = 29
anio = 1988  
Prof. Flor Narciso Programación 1
Semestre B-2008
15

Tipos de datos simples en C
Tipo entero
Tipo entero
Tipo Nro. Bits Dominio
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int : 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295

Prof. Flor Narciso Programación 1


Semestre B-2008
16

8
18/11/2008

Tipos de datos simples en C

Tipo real
Subconjunto de los números reales (R) limitado no sólo en 
el tamaño, sino también en cuanto a la precisión (que 
depende de la computadora)

Se conocen como números de punto flotante cuya 
representación consta de una mantisa (parte fraccional), de 
una base y de un exponente (potencia a la cual se eleva la
una base y de un exponente (potencia a la cual se eleva la 
base)

Prof. Flor Narciso Programación 1


Semestre B-2008
17

Tipos de datos simples en C

Tipo real
p
Para el número  0.437875x103 se tiene:
mantisa = 0.437875 
base = 10
exponente = 3

Ejemplos

0.08   3739.41   ‐3.7452   52.3244   ‐8.12   3.0

Prof. Flor Narciso Programación 1


Semestre B-2008
18

9
18/11/2008

Tipos de datos simples en C

Ti
Tipo real
l
Tipo Nro. Dominio Presición
Bits
float 32 1.17x10-38 a 3.4x10-8 6 dígitos decimales
double 64 2.22x10-308 a 1.79x10308 10 dígitos decimales

Prof. Flor Narciso Programación 1


Semestre B-2008
19

Tipos de datos simples en C

Tipo carácter
p
Conjunto finito y ordenado de los caracteres que la computadora 
reconoce (letra, dígito, signo de puntuación, etc.)

Un carácter es almacenado en un byte usando el código de 8 bits 
ASCII (American Standard Code for Information Interchange), lo 
que da la posibilidad de representar 
28 = 256 caracteres diferentes
• Se escriben entre comillas simples: ‘a’, ‘1’, ‘%’, ‘;’

Prof. Flor Narciso Programación 1


Semestre B-2008
20

10
18/11/2008

21

Tipos de datos simples en C

Tipo carácter
Tipo Nro. Dominio
Bits
signed char 8 -128 a 127
unsigned char 8 0 a 255

En un examen con preguntas en las que hay que seleccionar la respuesta


En un examen con preguntas en las que hay que seleccionar la respuesta 
correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta 
de cada una de las preguntas es un dato de tipo carácter.

respuestaCorrectaPreg3 = ‘c’

Prof. Flor Narciso Programación 1


Semestre B-2008
22

11
18/11/2008

Tipos de datos simples en C
Tipo lógico
EEs aquel que puede tomar por valor solo uno de los dos siguientes
l d l l d l d i i
{cierto, falso}

• Un dato de tipo lógico siempre está asociado a 
algo que se cumpla o no se cumpla
Ejemplo: El estado del tiempo (asociando cierto a 
que esté lloviendo y falso a que no esté lloviendo)
é ll i d f l é ll i d )
Estado = falso (indica que no está lloviendo)

Prof. Flor Narciso Programación 1


Semestre B-2008
23

Tipos de datos simples en C: Ejercicios
• Clasifique los siguientes datos en simples y compuestos

– El número de botones de una camisa
– La altura de un edificio
– Los datos de una cuenta bancaria
– El número de pasajeros de un avión
– El resultado de hacer una apuesta (ganar o perder)
– La capital de Francia
– La letra ‘b’ escrita en mayúscula

Prof. Flor Narciso Programación 1


Semestre B-2008
24

12
18/11/2008

Declaración de variables

Ê En C todas las variables que van a ser usadas en


un programa deben ser declaradas antes de ser
usadas
d
Ê Objetivos de la declaración de variables:
¿ Asociar un tipo de dato y un identificador (o nombre) a
la variable para que el compilador pueda verificar la
correctitud de las operaciones en donde interviene la
variable
¿ Permitir
P iti que ell compilador
il d sepa cuánto
á t espacio
i d
de
memoria se necesita para almacenar el valor de la
variable, y asignar la dirección de memoria donde este
valor se va a almacenar

Prof. Flor Narciso Programación 1


Semestre B-2008
25

Declaración de variables

tipo_de_dato lista_de_variables;

Ejemplos
int dia, mes, anio;
double a, b, c;
int edad;
long int C, distancia;
unsigned int A = 347; //* Inicializacion de variable al
momento de la declaracion */
unsigned long int B = 294967295;
char letra = ‘a’;
int x = y = z = 0;

Prof. Flor Narciso Programación 1


Semestre B-2008
26

13
18/11/2008

Ámbito y vida de las variables
• Lugar, dentro de un programa, en el que una variable tiene 
significado

• Hasta ahora todas nuestras variables han tenido como ámbito 
toda la función main

• No todas las variables están “activas” a lo largo de todo un 


programa

Prof. Flor Narciso Programación 1


Semestre B-2008
27

Tipos de variables

Ê Variable local
• Es aquella que está declarada dentro de un bloque delimitado por {   }
• Sólo se puede usar dentro del bloque en el que ha sido declarada

Ê Variable global

• Es aquella que está declarada para todo el programa, es decir, fuera de cualquier 
bloque o función. Conserva su valor durante la ejecución de todo el programa

Prof. Flor Narciso Programación 1


Semestre B-2008
28

14
18/11/2008

Declaración de variables locales: 
Ejemplo

#include <stdio.h>
l d d h /*
/* Declaracion de importacion */
l d */

short numero;
int main () {
int i, j = 0, k; /* Declaracion de variables locales */
char car1, car2;
float dividendo, divisor;
int x, y, z;

Conjunto de sentencias/* Cuerpo de la funcion */
return 0;
}

Prof. Flor Narciso Programación 1


Semestre B-2008
29

Declaración de variables globales:


Ejemplo

#include <stdio.h>
<stdio h>
int valor; /* Declaracion de variable global */

int main()
{
printf(“Introduzca un numero\n”);
scanf(“%d”, &valor);
printf(“El numero leido es %d\n”,valor);
valor = valor + 1;
return
t 0;
0
}

NOTA: Salvo para la declaración de variables


globales, el lenguaje C no admite ninguna otra
sentencia fuera de las funciones
Prof. Flor Narciso Programación 1
Semestre B-2008
30

15
18/11/2008

Declaración de variables: Ejemplo

#include <stdio.h>
int resultado; /* Declaracion de variable global */

int main()
{
int x, y, z; /* Declaracion de variables locales */
printf(“Introduzca tres numeros enteros:\n”);
scanf(“%d %d %d”, x, y, z);
resultado = x * y * z; //* Calcular el producto de los tres
numeros */
printf(“El producto de los tres numeros es %d”, resultado);
return 0;
}

Prof. Flor Narciso Programación 1


Semestre B-2008
31

Constantes

Constante
• Valor que no cambia durante la ejecución de un programa
• Puede ser entera, real o carácter

Ejemplos: 

enteras: 123, 345, ‐1943, +4567
caracteres: 'c','d','e',’\n’
Prof. Flor Narciso Programación 1
Semestre B-2008
32

16
18/11/2008

Constantes globales

„ Se
Se utiliza la directiva de preprocesador o de 
utiliza la directiva de preprocesador o de
compilación #define
#define identificador valor
„ Asigna un valor a un identificador 
„ Un proceso previo a la compilación sustituirá el 
identificador por el valor en cualquier parte del
identificador por el valor en cualquier parte del 
programa donde aparezca el identificador

Prof. Flor Narciso Programación 1


Semestre B-2008
33

Constantes globales: Ejemplos

#d fi PI 3 14159
#define PI 3.14159
#define DOS_PI 6.28
#define MAXIMO 256
#define PRIMERALETRA ‘A’
#define CIERTO 1 
#define FALSO    0 
#d fi ERROR MSG "E
#define ERROR_MSG   "Error en la lectura\n” 
l l t \ ”
#define MENSAJE "Introduzca su nombre:"

Prof. Flor Narciso Programación 1


Semestre B-2008
34

17
18/11/2008

Constantes globales: Ejemplo
#include <stdio.h> /* Declaracion de importacion */

#d fi LONGITUD 32
#define LONGITUD 32 /* D fi i i d
/* Definicion de constante global*/
t t l b l*/

int main ( )
{
int lon1 = LONGITUD, x; /* Declaracion de variables locales */

x = LONGITUD + lon1;
printf(“x = %d”, x);
return 0;
return 0;
}
LONGITUD 32
lon1 32
x 64

Prof. Flor Narciso Programación 1


Semestre B-2008
35

Constantes locales

const tipo_de_dato identificador = valor;

int main ( )
{
Declaración de constantes locales /* Opcional */
Declaración de variables locales     /* Opcional */

Conjunto de sentencias /* Cuerpo de la funcion */
return 0;
}

Una constante declarada de esta manera tan sólo puede usarse dentro del bloque 
en el cual ha sido declarada

Prof. Flor Narciso Programación 1


Semestre B-2008
36

18
18/11/2008

Constantes locales: Ejemplos

int main() #include <stdio.h>


{
const float pi;
/* Error: pi debe ser inicializada */ int main()
/* en la declaracion */ {
const float X = 7.0;
pi = 3.14159;
/* Error: no se puede modificar */
/* el valor de una constante */ printf(“%f”
printf( %f , X);
}
return 0;
}

Prof. Flor Narciso Programación 1


Semestre B-2008
37

Constantes: Ejercicios
„ Definir cada una de las siguientes constantes (consulte las fuentes apropiadas para 
los valores que se necesiten)
A) Como globales
A) Como globales
B) Como locales

„ 613 ‐ Número de Avogrado
„ 613.0 ‐ Masa del electrón (en Kg)
„ ‐613 ‐ Diámetro atómico (en cm)
„ ‘6’
„ “PD‐10”
„ ‐3.012x1015
„ 17x1012
„ Π
„ e

Prof. Flor Narciso Programación 1


Semestre B-2008
38

19

Вам также может понравиться