Comunidad CientoSeis > Tecnología

Curso de iniciación en programación C

Navegación

(1/17) > >>

Thylzos:
Pues eso, como veo que la mayoría a mudado sus hilos de OGame aquí y que esta sección va medio muerta, pues mi modesto aporte. Iré publicando capítulos y soluciones periódicamente. He aquí el índice:

1- Introducción
+ A quién va dirigido el manual
+ Objetivos
+ Definiciones básicas
+ ¿Por qué C?
+ Historia
+ Sobre el compilador y los elementos necesarios

2- El lenguaje
+ Definiciones
+ Nuestro primer programa
+ Estructura del programa
+ Comentarios
+ Bibliotecas
+ Ejercicios

3- Variables y constantes
+ Definiciones
+ Identificadores
+ Tipos de datos
+ Declaraciones de variables y constantes
+ Inicialización
+ Ejercicios -> Soluciones

4- Operadores
+ Definiciones
+ Operadores aritméticos
+ Operadores de asignación
+ Operadores de asignación compuestos
+ Operadores de incremento y decremento
+ Operadores de bits
+ Operadores racionales
+ Operadores lógicos
+ Operador de conversión explícita (cast) [Cortesía de Hartigan]
+ Orden de ejecución
+ Ejercicios. -> Soluciones

5- Entrada/Salida estándar
+ Definiciones
+ Salida de caracteres
+ Entrada y salida formateada
+ Ejercicios -> Soluciones

6- Punteros
+ Definiciones
+ Qué hacen los punteros
+ Declaración de punteros
+ Utilidad de los punteros
+ Ejercicios -> Soluciones

7- Control de flujo
+ Definiciones
+ Sentencias condicionales
+ Sentencias repetitivas
+ Sentencias anidadas
+ Otras consideraciones
+ Ejercicios -> Soluciones

8- Arrays y cadenas
+ Definiciones
+ Arrays unidimensionales
+ Arrays bidimensionales
+ Declaración y cadenas
+ Entrada/Salida con cadenas
+ Funciones de cadenas
+ Ejemplos
+Ejercicios -> Soluciones

9- Estructuras
+ Definiciones
+ Declaraciones y acceso a campos
+ Estructuras y arrays
+ Ejemplo
+ Ejercicios

10- Funciones
+ Definiciones
+ Estructura
+ Paso de parámetros y retorno de datos
+ Variables locales y globales
+ Recursividad
+ Ejemplo
+ Ejercicios

11- Ficheros
+ Definiciones
+ Apertura y cierre de ficheros
+ Lectura y escritura
+ Ejemplo
+ Ejercicios

12- Estructuras dinámicas
+ Definiciones
+ Reserva y liberación de memoria
+ Listas
+ Pilas
+ Colas
+ Ejemplos
+ Ejercicios

13- Bibliotecas Estándar en C

14- Ampliando conocimientos I: Un chat
+ Definiciones
+ Sockets, ¿Cómo funcionan?
+ Funciones y estructuras útiles
+ Ejemplo
+ Ejercicios

15- Ampliando concimientos II: Nuestra biblioteca virtual

Ahora pongo el primer capítulo.

P.D.: Peluche, a ver si hacemos eso de los manuales que hablamos en OGame, que allí quedó en el aire, pero no estaría mal llevar a cabo la idea.

Thylzos:
1- Introducción

1.1- A quién va dirigido el manual
Este tutorial va dirigido a toda persona que, con o sin conocimientos previos de programación esté interesada en iniciarse en el lenguaje C desde cero. Por estos motivo, insto a los recién llegados al maravilloso mundo de la programación a no quedarse con ninguna duda y que pregunten todo lo que quieran, ya que como decía una profesora mía de latín "no es sabio acumular ignorancia".

1.2- Objetivos
La idea es que al acabar este tutorial pueda crear programas básicos sin problemas e incluso algunos complejos, utilizando en lenguaje C. Además me propongo que sirva para obligar a los lectores a pensar como programadores, ya que como bien dijo Peluche, pudiendo hacer esto sólo con leer un pequeño manual básico por Internet sobre cualquier lenguaje, se podrá programar sin problemas.

1.3- Definiciones útiles.
Antes de empezar con la materia en bruto daré a los iniciados unas pequeñas definiciones básicas:

- Lenguaje de programación: Conjuntos de palabras, símbolos y reglas utilizados para controlar las operaciones a realizar en un ordenador. Hay, principalmente, dos tipos de lenguajes de programación: de bajo y de alto nivel. Para entenderlos deben saber que la máquina tiene su propio lenguaje, muy difícil para nosotros, a fin de poder programar cómodamente se hicieron lenguajes de programación. Los de bajo nivel son los que proporcionan poca o ninguna abstracción del microprocesador de un ordenador, es decir que se "parecen" más al lenguaje de la máquina, por ejemplo ASM. Los de alto nivel  se caracterizan por parecerse más a nuestra forma de "pensar" que a la del ordenador, por ejemplo C/C++, Java 2, VB...

- Algoritmo: Un conjunto de pasos a seguir para solucionar un problema determinado, en esta caso informático.
- Programa: Secuencia de instrucciones a seguir, escritas en un lenguaje de programación o de script, que resuelven un problema.
- Instrucción: Orden dada a un ordenador para que éste realice una acción determinada.
- Compilador: Se encarga de traducir todo un programa fuente (formado por uno o varios ficheros fuente), escrito en un lenguaje de programación, a un programa objeto en código máquina. Una vez se que se ha generado el programa objeto es necesario un proceso de enlazado o linkado, el cual es realizado por un enlazador o link editor, para enlazar el programa objeto con otros archivos de biblioteca y otros módulos (ambos en código maquina) para dar lugar a un único programa ejecutable. En general a ambos procesos se les suele englobar bajo el nombre de compilación

1.4- Por qué elegir C
C no es un lenguaje orientado a objetos ni es tan simple como uno de scripting, entonces, ¿por qué lo elegimos para programar y es tan relevante en la actualidad como en la historia? Principalmente, por cuatro razones. La primera, es portable, puede ser implementado en casi cualquier sistema operativo. Segundo lugar, posee bibliotecas estándar con numerosas funciones que permiten realizar toda clase de acciones, además de las extensiones que nos proporcione nuestro compilador habitual. Tercero, tiene cualidades tanto de lenguaje de alto nivel (como las estructuras típicas de este tipo de lenguaje) y de alto nivel (como manejo de punteros, de bits y control directo de memoria y periféricos). Por último y no por ello menos importante, C es un lenguaje en el cual se basan otros de igual o más relevancia en la actualidad, como C++, Java 2 y C#, y siempre es conveniente conocer las bases antes de estudiar el resto.

1.5- Historia
Bien, C es un lenguaje creado por los Laboratorios Bell hacia alrededor de 1970 (no estoy muy seguro). Tomó este nombre porque estaba hecho tomando muchas características del lenguaje B. Principalmente estaba orientado a la implementación de sistemas operativos, principalmente de Unix. Sobre los motivos de porqué lo crearon, no creo que esté muy claro, algunos dicen que fue el resultado del deseo de los programadores de jugar con Space Travel (el padre de los virus informáticos), pero a mí me gusta más la idea de que se creó para poder reescribir el sistema operativo Unix, ya que ASM era complicado y así sería más fácil hacer modificaciones.

El hecho es que C comenzó a triunfar y a usarse en distintos plataformas. Como era muy popular el Instituto Nacional Estadounidense de Estándares estandarizó (valga la redundancia) el lenguaje en 1989 en el ANSI C o C89.
C siguió evolucionando y en 1999 fue ampliado dando como resultado el C99.

1.6- Sobre el compilador y los elementos necesarios.
Bien, finalmente llegamos al final del primer capítulo, para el próximo comenzaremos con el lenguaje en sí. Para eso debo aclarar algo, C es un lenguaje que precisa compilador, es decir, un programa que lo traduzca al lenguaje del ordenador. En principio no creo que tengamos problemas en este aspecto, ya que no veremos aplicaciones tan complicadas como para necesitar uno específico. Para los que tengan Windows pueden usar el Dev C++ que es gratis e incluso el Virtual C++ en modo consola (aunque no lo recomiendo) y los que se decanten por Linux pueden probar el gcc, una herramienta tan útil como interesante.

Des:
Oh, me gusta es hilo para iniciarse en la programación en C, ponedlo con chincheta.

Faerindel:
Thylzos, cuando termines y lo corrijas, pásalo a pdf, que es más cómodo.

Ray:
Gracias, termínalo cuanto antes.

Enchincheto :$

Navegación

[0] Índice de Mensajes

[9] Índice del Foro

[#] Página Siguiente

Ir a la versión completa