UNIDAD 2 Descripción de un programa - … · UNIDAD 2 Descripción de un programa Estructura...

44
UNIDAD 2 Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos simples. Entrada y salida estándar. Estructuras de control. Verificación. (Ver: MATERIAL DE CONSULTA – Tema 2)

Transcript of UNIDAD 2 Descripción de un programa - … · UNIDAD 2 Descripción de un programa Estructura...

UNIDAD 2 Descripción de un programa

Estructura general de un programa. Elementos básicos.

Tipos de datos simples: enteros, reales y carácter.

Representación de datos en memoria. Operaciones sobre

tipos de datos simples. Entrada y salida estándar.

Estructuras de control. Verificación.

(Ver: MATERIAL DE CONSULTA – Tema 2)

UNIDAD 2 Historia de C

1969

BCPL

Martin RichardLenguaje de

Programación Básico Combinado

1970

Lenguaje B

Ken ThompsonReprogramar

UNIX

1972

Lenguaje C

Dennis RitchieRediseñar

UNIX

1978

Primera Edición

RitchieBrian K

1983 - 1989

Estándar C

ANSI

UNIDAD 2 Características de C

* Pequeño

* De Propósito General

UNIDAD 2 Características de C

* Portable

* Conciso

UNIDAD 2 Características de C

* Eficiente

* Modular

UNIDAD 2 Modelo de Compilación de C

Código Fuente PREPROCESADOR

COMPILADOR

Código en Ensamblador

ENSAMBLADOR

ENLAZADORCódigo Objeto

Librerías

CODIGOEJECUTABLE

GCC

LD

UNIDAD 2 Estructura General de un Programa

Comentarios

Definición de Macros Inclusión de Archivo

Volver

UNIDAD 2 Modelo de Compilación de C

PREPROCESADOR: Traduce directivas (#)

Funciones:

• Eliminación de ciertas partes del Archivo Fuente.

• Inclusión de Archivos.

• Realización de sustituciones.

Comentarios

#include<archivo>

#include ‘‘archivo’’

#define<macro><texto>

Volver

UNIDAD 2 Modelo de Compilación de C

ENLAZADOR

Funciones:

• Resuelve las referencias a objetos externos, que se encuentran en otros módulos compilados.

Volver

UNIDAD 2 Estructura General de un Programa

Comentario

Directivas del Preprocesador

Función Principal (única)

Declaración de Variables Locales

Sentencias

(finalizan en ;)

Función

UNIDAD 2 Depuración de un Programa

DEPURADOR: Programa que permite detectar errores en

tiempo de ejecución, aislarlos y corregirlos.

Pasos:

1. Compilar el programa

2. Marcar un punto de interrupción.

UNIDAD 2 Depuración de un Programa

3. Seleccionar Depuración.

4. Seleccionar Depurar.

UNIDAD 2 Depuración de un Programa

5. Seleccionar añadir variable vigilada.

UNIDAD 2 Depuración de un Programa

6. Seleccionar Siguiente Paso hasta terminar o Detener Ejecución.

UNIDAD 2 Identificadores

Nombres de variables, contantes, funciones, tipos de datos, etc.

Reglas:

• De hasta 32 caracteres.

• Primer carácter: A – Z; a – z; _ ; $

• A partir del segundo carácter: A - Z; a - z; 0 – 9; _; $

• No usar espacios en blancos, acentos, Ñ, ñ.

• No usar palabras reservadas.

UNIDAD 2 Identificadores

VALIDOS NO VALIDOS

SUMA Int

Suma8 8Suma

suma_8 8 Suma

Ejemplo:

UNIDAD 2 Palabras Reservadas

Son palabras usadas exclusivamente por el lenguaje, y que por lo tanto no pueden ser usadas como identificadores.

UNIDAD 2 Variables

Zona de memoria cuyos valores van a cambiar durante la ejecución del programa.

Declaracion:

<tipo_de_datos> <identificador>;

<tipo_de_datos><identif1>,<identif2>,…,<identifn>;

Ejemplo:

int x;

float a, b;

UNIDAD 2 Constantes

Zona de memoria cuyos valores no varían durante la ejecución del programa.

Tipos:

1. Literales: Se escriben en el cuerpo del programa.

Ejemplo:

a = 8.15;

b = 3;

UNIDAD 2 Constantes

2. Definidas (Constantes Simbólicas)

#define nomCte valor

Ejemplo:

#define pi 3.1415

3. Declaradas: Se definen usando

const tipo_de_dato nomCte = valor;

Ejemplo:

const int valor=4;

UNIDAD 2 Constantes

4. Ennumeradas: Permiten crear listas. Se definen como

enum nombEnnumeracion {valor1, valor2, . . . , valorn};

Cuando se procesa esta sentencia, el compilador asigna un valor entero a cada elemento de la enumeración comenzando desde cero.

Es posible modificar la numeración de la siguiente forma:

enum nombEnnumeracion {valor1=8, valor2,. . . , valorn};

UNIDAD 2 Constantes

Ejemplo:

UNIDAD 2 Constantes

Ventajas de const sobre #define

• El compilador genera código más eficiente con constantes const .

• Como las definiciones especifican tipos de datos, el compilador puede comprobar inmediatamente si las constantes en las definiciones de const están en forma correcta. Con #define el compilador no puede realizar pruebas similares hasta que una sentencia utiliza el identificador constante, por lo que se hace más difícil la detección de errores.

UNIDAD 2 Operadores

1. Operadores de Asignación

Símbolo Sentencia Abreviada Sentencia no Abreviada

= a = b a = b

* = a * = b a = a * b

/ = a / = b a = a / b

% = a % = b a = a % b

+ = a + = b a = a + b

- = a - = b a = a - b

UNIDAD 2 Operadores

UNIDAD 2 Operadores

2. Operadores Aritméticos

Sirven para realizar operaciones aritméticas básicas.

Símbolo Uso Tipo de Datos de los operandos

+ a + b Enteros, reales.

- a – b Enteros, reales.

* a * b Enteros, reales.

/ a / b Enteros, reales.

% a % b Enteros.

UNIDAD 2 Operadores

3. Operadores de Incrementación y Decrementación

Incrementación Decrementación

++a - - a

a++ a - -

• Si los operadores ++ y – estan de prefijos

a. Incrementar o Decrementar.

b. Asignar

• Si los operadores ++ y – estan de sufijos

a. Asignar

b. Incrementar o Decrementar

UNIDAD 2 Operadores

UNIDAD 2 Operadores

UNIDAD 2 Operadores

4. Operadores Relacionales

Símbolo Significado

= = Igual a

! = Distinto

> Mayor que

< Menor que

>= Mayor o igual que

<= Menor o igual que

UNIDAD 2 Operadores

5. Operadores Lógicos

Símbolo Significado

! not

& & and

| | or

UNIDAD 2 Jerarquía de Operadores

Operador Tipo Comentario

+ , - , sizeof() Unario Unarios

*, / , % Binario Multiplicativos

+ , - Binario Aditivos

<, <= , > , >= Binario Relacionales

= = , ! = Binario De Igualdad

& & Binario And

| | Binario Or

= , += , -= , *= , /+ , %= Binario Asignación

UNIDAD 2 Clasificación de Tipos de Datos

UNIDAD 2 Tipos de Datos Numéricos

* ENTEROS: Es el tipo de dato mas común

Tiene modificadores que varían el rango de los enteros

Tipo Rango Cadena de Control

Descripción

unsigned int 0 - 65535 %u Para representar enteros sin signo

short int -32768 - 32767 %hd Para representar enteros cortos

int -32768 - 32767 %i , %d Para representar enteros

Varían de acuerdo al compilador y al sistema operativo

UNIDAD 2 Tipos de Datos Numéricos

UNIDAD 2 Tipos de Datos Numéricos

Si el numero entero a representar es muy grande, se utilizan los entero largos

Tipo Rango Cadena de Control

Descripción

unsigned long 0 - 4294967295 %lu Para representar enteros largos sin signo

long -2147483648 - 2147483647

%ld Para representar enteros largos

UNIDAD 2 Tipos de Datos Numéricos

* COMA FLOTANTE: Representan números reales.

Tipo Rango Cadena de Control

Precisión

float 3,4*(10^ - 38) – 3,4 *(10^ +38)

%f 7 dígitos

double 1,7*(10^ - 308) – 1,7*(10^ +308)

%lf 15 dígitos

long double 3,4*(10^ - 4932) – 1,1 *(10^ +4932)

19 dígitos

UNIDAD 2 Tipos de Datos Numéricos

Ejemplo:

UNIDAD 2 Tipos de Datos Numéricos

Que es la precisión? Los valores en coma flotante no tienen una representación binaria exacta.

UNIDAD 2 Tipos de Datos Char

Carácter = Elemento de un conjunto de caracteres (Código ASCII).

* Se almacenan como números

Tipo Rango Cadena de Control

Descripcion

char -128 - 127

%c Permite representa caracteres ASCII

signed char -128 - 127 Tb usado para tratar los caracteres como números

unsigned char 0 a 255 Tb usado para tratar los caracteres como números

OPERACIONES

UNIDAD 2 Tipos de Datos Char

Lectura/Escritura: Versión 1

UNIDAD 2 Tipos de Datos Char

Lectura/Escritura: Versión 2

UNIDAD 2 Tipos de Datos Char

Ejemplo: Convertir un carácter dado (letra) a mayúscula, sin usar funciones predefinidas.

UNIDAD 2 Tipos de Datos Char