introducción

25

Upload: jesus-agreda

Post on 02-Aug-2015

16 views

Category:

Software


0 download

TRANSCRIPT

Introducción Teórica

Creador:

Dennis Ritchie (Laboratorios Bell) el 1972, cuando trabajaba junto con Ken Thompson en el diseño del sistema operativo UNIX.

El ‘C’ se cree como herramienta para programadores, en consecuencia su principal objetivo es ser un lenguaje útil.

* INTRODUCCIÓN

El “C” es un lenguaje de programación de “alto nivel” (alto nivel quiere decir “próximo al lenguaje humano”), pero con características de “bajo nivel” (bajo nivel= próximo al lenguaje máquina).

Es de alto nivel porque es racional, estructurado y fácil de aprender.

Es de bajo nivel porque permite trabajar con “bits”, registros de la C.P.U. y posiciones de memoria.

* CARACTERÍSTICAS

El lenguaje ‘C’ es poderoso y flexible: la mayor parte del sistema operativo UNIX está escrito en ‘C’.

Incluso están escritos en ‘C’ los compiladores e intérpretes de otros lenguajes, como FORTRAN, APL,

PASCAL, LISP, LOGO y BASIC.

El lenguaje ‘C’ es “amistoso” porque es lo suficientemente estructurado para ejercer buenos hábitos de programación.

Es el lenguaje de programación más utilizado por el programador de sistemas.

* ¿PORQUÉ EL “C”?

* ESTRUCTURA DE UN PROGRAMA EN “C”

Código fuente

Código objeto

Programaejecutable

compilar linkar

Código Fuente: es el programa que nosotros escribimos, extensión CPP

Código Objeto: es el programa fuente pero traducido a lenguaje máquina (sucesión de ceros y unos), se graba con la extensión OBJ

Programa Ejecutable: es el programa objeto más las “librerías del C”.

El ‘C’ es un lenguaje compilado, vamos a ver que es esto gráficamente:

* RELACIONES DEL “C” CON OTROS LENGUAJES DE PROGRAMACIÓN

FORTRAN (1955)

ANSI C (1985) )

C (1972)

PL/1 (1965)

PASCAL (1970)

ALGOL (1960)

C++ (1985)

#include <stdio.h>

 void main()

{ printf("Curso de Programación en C"); }

 

 

Recuerda:

• Escribe el programa anterior utilizando tu compilador.

• Grábalo con el nombre Prog001.cpp en Tu Carpeta.

• Ejecútalo un par o tres de veces

 

* PRIMEROS PROGRAMAS EN ‘C’

ejemplo

/* */: Todo lo que escribimos entre los símbolos anteriores son “comentarios "que no influyen para nada en la ejecución del programa.

#include <librería.h>: parte donde colocamos las librerías que vamos a usar.

void main() { }: Función o programa principal (main), que no devuelve nada (void).

\n : Es equivalente a un [Return]. Se le llama manipulador de formato.  

* CONCEPTOS PARA RECORDAR

Tipo entero (int): representa números enteros con o sin signo, El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int. Para definir un tipo de dato en C se escribe lo siguiente:

int nombre_variable = valor;

Tipo real (float): Se emplean para representar números reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable.

float nombre_variable = valor;

Tipo carácter (char): se emplea para representar un carácter, este tipo de dato se antepone la palabra reservada char al identificador de la variable, Una constante tipo char se representa como un solo carácter encerrado entre comillas simples.

Char nombre_variable = ‘valor’;

* DATOS MÁS IMPORTANTES

Tipo cadena de caracteres: una cadena de caracteres es un número de caracteres consecutivos encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.

Char nombre_variable[cantidad] = “ mensaje ”;

long (abreviatura de signed long int = entero largo con signo) : corresponde a un número entero que puede ser mayor (o menor) a un int.

Observa el formato correspondiente: %ld, a diferencia del %d que correspondía a int.

Doublé: numero real de doble precisión

Ejemplo

*MEMORIA QUE UTILIZA LOS DATOS

Tipo de dato Descripción memoria

Int Cantidad entera 2 bytes (1palabra )

Char Carácter 1 byte

Float valores reales 4 byte (1 palabra)

Double valores reales de doble precisión 8 bytes (2 palabras)

Void Se utiliza para definir una función que no devuelve ningún valor o declarar punteros genéricos (lo veremos más tarde)

* RANGOS DE DATOSTIPO Número de bits Rango

char 8 -128 a 127unsigned char 8 0 a 255signed char  8 -128 a 127short  16 -32768 a 32767int  16 -32768 a 32767unsigned int  16 0 a 65535signed int  16 -32768 a 32767short int 16 -32768 a 32767unsigned short int 16 0 a 65535signed short int 16 -32768 a 32767long int 32 -2147483648 a 2147483647signed long int 32 -2147483648 a 2147483647unsigned long int 32 0 a 4294967295long 32 -2147483648 a 2147483647unsigned long 32 0 a 4294967295float 32 3.4E-38 a 3.4E+38double 64 1.7E-308 a 1.7E+308

long double64 ó 80 (según

versión).1.7E-308 a 1.7E+308   ó 3.4E-4932 a

1.1E+4932

* FORMATOS DE DATOS

Tipo de dato Formato Comentario

Int %d o %i Entero con signo

Float %f Real con signo

Float %.1fPara escoger la cantidad de decimales solo cambia elnumero

Char %c carácter

Char [n] %s Cadena de caracteres

Elemento o zona de almacenamiento de datos, cuyo valor puede variar en el desarrollo o proceso del programa. El uso de variables en C++ requiere el seguimiento de los siguientes aspectos:

Declaración De Variables: Consiste en escribir una sentencia que proporciona información al compilador de C++ para que este reserve un espacio de almacenamiento en memoria. Toda variable utilizada en un programa debe ser declarada previamente. El procedimiento es el siguiente:

<tipo_de_dato> <nombre_de_variable>; int x;

<tipo_de_dato> <lista_de_variables>; char x, y, z;

<tipo_de_dato> <nombre_de_variable> = valor; int x = 10;

*VARIABLES

Reglas Para Identificar Variables: Toda variable está constituida por un nombre al que llamaremos identificador. Para asignar este identificador deben seguirse las reglas que a continuación se señalan:

• Pueden llevar caracteres alfanuméricos: Letras de la A ala Z > (mayúsculas o minúsculas) y números.

• Deben comenzar por una letra y no por un numero o signo. 

• Solo se acepta el signo _ (guión bajo) dentro del identificador.

• No pueden usarse palabras reservadas como identificadores.

• El numero de caracteres de un identificador no debe sobrepasar la cantidad de 31.

• Es recomendable utilizar identificadores que hagan referencia al dato que almacenan.

Asignación De Valores: Una vez que la variable ha sido definida, esta lista para albergar datos en su interior. Dicho dato solo podrá ser del mismo tipo con el que se ha declarado la variable. Es posible también asignar un valor a una variable al mismo momento de declararla.

int recetaDelMes = 12301;

Tipo de Dato Identificador Valor Asignado

Variables globales: son las que se declaran después del llamado a las cabeceras, pero antes de cualquier función, y son útiles para cualquier parte del programa.

Variables locales: son las que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.

Constante: Hace que una variable tome el valor con el que la inicialicemos el cual ya no podrá ser cambiado.

Declaración De Constantes: Constantes declaradas const La palabra reservada const indica que el valor de la variable no se puede modificar. Su sintaxis es la siguiente:

const <tipo_de_dato> <nombre_de_constante> = <valor> ;

Constantes definidas: Se declaran mediante la directiva #define. Su sintaxis es la siguiente:

#define <nombre_de_constante> <valor>

*CONSTANTES

Asignación De Valores: Los valores de una constante se asignan en el mismo momento en que estas son declaradas.

const recetaDelMes = 12301;

Además, las constantes pueden ser:

Números Enteros

Números Reales

Caracteres

Cadenas de Caracteres

Variable Volátil: Indica que el valor de la variable puede cambiar incluso por condiciones eternas al programa que la declara.

Los operadores son elementos que disparan ciertos cálculos cuando son aplicados a variables o a otros objetos en una expresión.

Operando: cada una de las constantes, variables o expresiones que intervienen en una expresión.

Operador: cada uno de los símbolos que indican las operaciones a realizar sobre los operandos, así como los operandos a los que afecta.

Expresión: según el diccionario, "Conjunto de términos que representan una cantidad", para nosotros es cualquier conjunto de operadores y operandos, que dan como resultado un valor.

*OPERADORES

Operadores De Asignación:

Operador

Acción Ejemplo Resultado

= Asignación Básica X=6 X vale 6

*= Asigna Producto X*=5 X vale 30

/= Asigna División x/=2 X vale 3

+= Asigna Suma X+=4 X vale 10

-= Asigna Resta X-=1 X vale 5

%= Asigna Modulo X%=5 X vale 1

<<= Asigna Desplazamiento Izquierda X<<=1 X vale 12

>>= Asigna Desplazamiento Derecha

X>>=1 X vale 3

&= Asigna AND entre Bits X&=1 X vale 0

ˆ= Asigna XOR entre Bits xˆ=1 X vale 7

|= Asigna OR entre Bits X|=1 X vale 7

Operadores aritméticos: Los operadores aritméticos se usan para realizar cálculos y operaciones con números reales y punteros básicamente permiten hacer cualquier operación aritmética que se necesite Los

operadores más comunes son :

Operador

Acción Ejemplo Resultado

- Resta X=5-3; X vale 2

+ Suma X=5+3; X vale 8

* Multiplicación x=2*3; X vale 6

/ División X=6/3; X vale 2

% Modulo X=5%2; X vale 1

-- Decremento X=1;-- X vale 0

++ Incremento X=1;++ X vale 2

Operadores Relacionales: Los operadores relacionales también denominados operadores binarios lógicos y de comparación se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación.

Operad

orRelación Ejemplo Resultado

< Menor X=5; y=3; if(x<y) x+1;

X vale 2 Y vale 3

> Mayor X=5; y=3; if(x>y) x+1;

X vale 6 Y vale 3

<= Menor Igual X=5; y=3; if(x<=y) x+1;

X vale 3 Y vale 3

>= Mayor Igual X=5; y=3; if(x>=y) x+1;

X vale 6 Y vale 3

== Igual X=5; y=5; if(x==y) x+1;

X vale 6 Y vale 5

!= Diferente X=5; y=3; if(x!=y) y+1;

X vale 5 Y vale 4

Operadores Lógicos: Los operadores lógicos producen un resultado booleano y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero) Por el contrario las operaciones entre bits producen valores arbitrarios Los operadores lógicos son tres dos de ellos son binarios y el último (negación).

Operador

Acción Ejemplo

Resultado

&& AND Lógico A && B Si ambos son verdaderos se obtiene verdadero(true).

|| OR Lógico A || B Verdadero si alguno es verdadero

! Negación Lógica !A Negación de a

Operadores De Bits: Los operadores de movimiento son operadores a nivel de bits y lo que hacen es convertir una determinada cantidad a su equivalente en bits para posteriormente realizar un desplazamiento de

dicho valor Estos operadores son:

Operad

orAcción Ejemplo Resultado

<< Desplazamiento a Izquierda A << B X vale 2

>> Desplazamiento a Derecha

X=5+3; X vale 8

˜ Complemento X=2*3; X vale 6

& AND X=2&-2; X vale 2

ˆ XOR X=7ˆ-2 X vale -7

| OR X=6|13 X vale 15

*Contenido*Ciclos y sentencias:

*Vectores

*Matriz

*Punterosejecutable

ejecutable