miércoles, 29 de octubre de 2014

UNIDAD #1




Historia de C.
El lenguaje "C" fue diseñado en los años 60 por Dennis Ritchie. de los laboratoriBell. surgió a partir de los lenguaje, BCPL Y B. En 1978 kernighan y Ritchie publica su descripción en el libro "the C programaing".


Compilador: un traductor para que pueda traducir la codificación. A principio de los 80 Bjarme stroustrup desarrollo C++ en laboratorio Bell. C es un lenguaje de propósito general,es decir se puede desarrollar aplicaciones de diversas áreas. Es un lenguaje estructurado, tiene abundante cantidad de operadores.


Variables y tipos de datos en C

Variable: es solo un nombre para identificar posiciones de memoria, este nombre de la variable debe ser un identificador valido. En las variables (posiciones de memoria) se guardan los datos usados por el programa durante su ejecución, toda variable debe de ser declarada ante de utilizada.



Tipos de variable
variables globales: son las que se declaran después del llamado a las cabeceras, pero ante de cualquier función, y son útiles para cual quier parte del programa variables locales: son aquellas que se declaran dentro de una función, y solo sirven para ser usadas dentro de esa función.


Tipos de datos
Los tipos de datos definen los métodos de almacenamientos disponible para representar información, junto con la manera en que dicha información ha de ser interpretada. Los tipos de datos son indispensable para declaración de variables.


En C tenemos diferente tipos de datos



Nota sobre los tipos de datos: si omitimos la palabras "signed" o "unsigned" al declarar un tipo de dato, el compilador automáticamente asume por default que es un tipo signed es decir que si al declarar el tipo de dato simplemente colocamos, por ejemplo, "int", entonce el compilador asumirá que hemos eclarado un signed int.


Un programa simple en c++


// mi primer programa en c++

# include <ios treeam.h>

int mainnc)
{
cout<< "Estoy escribiendo mi primer programa en c++/n";


return 0;

}


La estructura secuencial 

Esta definida por el flujo de control automático de un programa. De manera natural, al menos que otra cosa se indique, la computadora ejecuta las lineas de código en el orden en que fueron escrita. El control del programa fluye de la linea anterior a la linea siguiente.


La estructura de selección
Se basan en una declaración condicional. Si es verdadera cierta lineas del código son ejecutadas. Si tal declaración es falsa, esas lineas no serán ejecutadas. Las dos estructuras de selección mas comunes son:

Si-Entonces (If-Then) y Si-Entonces-de lo contrario(If-Else).


Estructuras de datos estáticas

Una estructura de datos se clasifica como estáticos o dinámico teniendo en cuenta que la memoria se asigna a la misma. Si la memoria se asigna a la estructura de datos al compilador, que se conoce como estructuras de datos estática. por otro lado, si la memoria para una estructura de datos asigna en tiempo de ejecución .

Estructura Estática: es aquella que durante la ejecución de un programa su valor no cambia, por ejemplo listas, vectores, matrices, pilas, colas y lista enlazadas.

Estructura Dinámica: Es aquella que durante la ejecución de un programa su valor puede cambiar.


modularidad en C
Un principio amplia mente difundido e importante para resolver problemas es el de “dividir para reinar”, es decir separar el problema en partes, en problemas más pequeños, para así enfrentarlos y resolverlos en un tamaño más accesible y fácil de manejar Este principio tiene una directa aplicación en la programación de computadoras, para lo cual muchos lenguajes de programación cuentan con una característica adecuada.

Estos lenguajes permiten escribir programas compuestos de porciones o partes que se conocen como módulos, muchas veces nombrados también como subprogramas, subrutinas, procedimientos, funciones, entre otros. En todos los casos, los principios generales y elementales que los gobiernan son los mismos, aún cuando algunos tengan características distintas y mayores o menores prestaciones: todos permiten separar un programa en partes más pequeñas y de usar esos trozos de programa o módulos ya escritos para resolver problemas similares.

Las funciones en C: en C, los módulos se llaman funciones. Un programa C, típica mente, se crea combinando el uso de funciones definidas por el usuario, que son funciones escritas por el programador, y funciones predefinidas, que son las que ya vienen en las bibliotecas del lenguaje C. Si bien, estas últimas, no forman parte estrictamente del lenguaje, siempre vienen provistas con el compilador, brindando al programador un gran número de funciones, de entrada/salida, para manejo de strings, de caracteres, para cálculos matemáticos, entre otras. Por ejemplo, las funciones printf y scanf, que hemos
sado en los ejemplos anteriores, son funciones predefinidas de la biblioteca estándar stdio.h.


Puntero
Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene la dirección de memoria de una dato o de otra variable que contiene al dato. Quiere esto es decir, que el puntero apunta al espacio fisico donde esta el dato o la variable. Los punteros se pueden utilizar para referencias y manipular estructuras de datos, para referencia de bloques de memoria asignado dinámica mente y para proveer el paso de argumentos por referencias en las llamadas a funciones. muchas de las funciones estándares de C, trabajan con punteros, como es el caso del scanf o strcpy esta reciben o devuelve un valor que es un puntero. 

por ejemplo A scanf se le pasa la direccion de memoria del dato a leer (esto es un puntero )