Historia de C
El lenguaje "C" fue diseñado en los años 60 por Dennis
Ritchie. de los laboratorio Bell. 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
declarado 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
re 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
usado en los ejemplos anteriores, son funciones predefinidas de la biblioteca
estándar stdio.h.
Puntero
Un puntero es una variable que contiene la direccion de memoria de un dato o de
otra variable que contiene la direccion 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 referenciar 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 )