Programación... en C, C++, C#
English version English
Por Nacho Cabanes www.nachocabanes.com
Última modificación: 31-oct-2006

Lenguajes
» Pascal / Delphi
» C / C++ / C#
» Java
» Modula-2
» Basic
» Otros...

Otros cursos
Diccionario
Info básica
Ofimática
Prog. juegos
Bases de datos
Redes
Otros...

Otros temas
Utilidades
Apuntes
Antivirus
Amstrad CPC
Autor

Página principal

Buscar...


 
 
Contenido de esta página



¿Qué son C, C++, C#?

C es un lenguaje de programación de ordenadores, de propósito general. Su uso está muy extendido, y existen compiladores para muchos sistemas operativos.

C++ (C plus plus o C más más) es una evolución del lenguaje C, que soporta la Programación Orientada a Objetos.

A su vez, C# (se debe leer "C sharp" -sostenido-, es una alusión musical) es una evolución de C++, surgida hace poco tiempo, propuesta por Microsoft como alternativa a Java.

Cursos de C, C++, C#

Cursos de C:
Cursos de C++:
Cursos de C#:
Otros cursos relacionados con C

Compiladores de C, C++, C#

Para Windows, C y C++:
  • Dev C++ es un entorno de desarrollo para Windows, apoyado en el compilador de C y C++ de GNU, creado por  Bloodshed. Se puede descargar el entorno y el compilador, en un paquete listo para empezar a trabajar.
  • MinGW es otro compilador de C y C++ basado en el de GNU, adaptado para Windows, que se puede descargar de www.mingw.org. En esta página puede llegar a ser complicado encontrar lo que se debe descargar, pero una buena alternativa es MinGW Developer Studio, un entorno de desarrollo que se puede descargar solo o con el compilador ya listo para funcionar.
  • Watcom C++ ha sido mucho tiempo uno de los compiladores comerciales más extendido. Ahora se ha convertido en "Open Source". Se puede descargar la documentación y el compilador (versión 1.5 disponible desde abril de 2006), en www.openwatcom.com
  • Borland C++ 5.5 también tiene una versión de libre distribución (que no incluye entorno de desarrollo, sólo las utilidades de línea de comandos) y se puede descargar desde la página Web de Borland.
  • Digital Mars es un compilador de C y C++ para Dos y Windows, de libre distribución, todavía en fase beta, creado por Walter Bright (autor de Symantec C++), que no incluye entorno de desarrollo. Versión 8.47 disponible en enero de 2006.
  • LCC-Win32. Un compilador de C de libre distribución (gratis) para Windows, de 3.2 Mb de tamaño.
  • Informacion sobre Visual C++, la herramienta visual para Windows creada por Microsoft, basada en el lenguaje C++.
  • La versión "Express" de Visual C++ 2005 parece poder descargarse libremente desde la página Web de Microsoft, en msdn.microsoft.com/vstudio/express/visualc/download/.
Para Windows, C#Para Dos
  • Turbo C++ y Borland C++ son productos de Borland, hoy descatalogados, de modo que sera dificil adquirirlos en tiendas. La versión actual recibe el nombre de "C++ Builder", y es un compilador visual para Windows. La informacion sobre los productos de desarrollo creados por Borland está en la direccion www.borland.es/products.
  • Turbo C 2.01 ahora es de libre distribución y se puede descargar desde la página Web de Borland,
  • Turbo C++ 1.01 ahora es de libre distribución y se puede descargar desde la página Web de Borland.
  • DJGPP. Un buen compilador de C/C++ gratis de 32 bits para MsDos, basado en el compilador de GNU, y adaptado por D.J. Delorie.
  • PCC 2.1. Un compilador de C de libre distribución (shareware) y de pequeño tamaño (unos 175 K).

Para Linux:
  • El compilador GCC debería estar disponible en casi cualquier distribución de Linux.
  • Si quieres un entorno de desarrollo, KDevelop es parte del escritorio KDE, y Anjuta es un entorno para Gnome, que tiene su página oficial en anjuta.sourceforge.net

Fuentes en C, C++, C#


Otros enlaces relacionados con C, C++, C#

  • Página de Bruce Eckel, creador de libros como "Thinking in C++" y "Thinking in Java", cuyas versiones electrónicas están disponibles, así como los ejemplos incluidos en los libros: http://www.bruceeckel.com
  • HelpPC es una referencia muy completa que incluye ayuda sobre hardware del Pc, las principales funciones del lenguaje C, ensamblador, interrupciones y órdenes de MsDos. Está comprimido en un fichero de 275 K de tamaño.
  • En la página de José Antonio González Seco tienes un curso y otros enlaces relacionados con C#.

Contenido de mi curso de C
Mi curso de C acaba de sufrir una remodelación completa. Los contenidos de la versión actual (0.21) son:

0.  Conceptos básicos sobre programación
  0.1 Lenguajes de alto nivel y de bajo nivel.
  0.2 Ensambladores, compiladores e intérpretes
  0.3 Pseudocódigo

1. Toma de contacto con C
  1.1 Escribir un texto en C
    1.1.1 Cómo probar este programa en Linux
    1.1.2 Cómo probar este programa en Windows
  1.2 Mostrar números enteros en pantalla
  1.3 Operaciones aritméticas básicas
    1.3.1. Orden de prioridad de los operadores
    1.3.2. Introducción a los problemas de desbordamiento
  1.4 Introducción a las variables: int
    1.4.1 Definición de variables: números enteros
    1.4.2 Asignación de valores
    1.4.3 Mostrar el valor de una variable en pantalla
  1.5 Identificadores
  1.6 Comentarios
  1.7 Datos por el usuario: scanf

2. Tipos de datos básicos
  2.1. Tipo de datos entero
    2.1.1. Tipos de enteros: signed/unsigned, short/long
    2.1.2. Problemática: asignaciones y tamaño de los números; distintos espacios ocupados según el sistema
    2.1.3. Unidades de medida empleadas en informática (1): bytes, kilobytes, megabytes...
    2.1.4. Unidades de medida empleadas en informática (2): los bits
    2.1.5. Sistemas de numeración: 1- Sistema binario
    2.1.6. Sistemas de numeración: 2- Sistema octal
    2.1.7. Sistemas de numeración: 3- Sistema hexadecimal
    2.1.8. Formato de constantes enteras: oct, hex
    2.1.9. Representación interna de los enteros
    2.1.10. Incremento y decremento
    2.1.11. Operaciones abreviadas: +=
    2.1.12. Modificadores de acceso: const, volatile
  2.2. Tipo de datos real
    2.2.1. Simple y doble precisión
    2.2.2. Mostrar en pantalla números reales
  2.3. Operador de tamaño: sizeof
  2.4. Operador de molde: (tipo) operando
  2.5. Tipo de datos carácter
    2.5.1. Secuencias de escape: \n y otras.
    2.5.2. Introducción a las dificultades de las cadenas de texto

3. Estructuras de control
  3.1. Estructuras alternativas
    3.1.1. If
    3.1.2. If y sentencias compuestas
    3.1.3. Operadores relacionales: <, <=, >, >=, ==,  !=
    3.1.4. If-else
    3.1.5. Operadores lógicos: &&, ||, !
    3.1.6. Cómo funciona realmente la condición en un “if”
    3.1.7. El peligro de la asignación en un “if”
    3.1.8. Introducción a los diagramas de flujo
    3.1.9. Operador condicional: ?
    3.1.10. Switch
  3.2. Estructuras repetitivas
     3.2.1. While
     3.2.2. Do ... While
    3.2.3. For
  3.3. Sentencia break: termina el bucle
  3.4. Sentencia continue: fuerza la siguiente iteración
  3.5. Sentencia goto
  3.6. Más sobre diagramas de flujo. Diagramas de Chapin.

4. Entrada/salida básica
  4.1. printf
  4.2. scanf
  4.3. putchar
  4.4. getchar

5. Arrays y estructuras
  5.1. Conceptos básicos sobre tablas
    5.1.1 Definición de una tabla y acceso a los datos
    5.1.2. Valor inicial de una tabla
    5.1.3. Recorriendo los elementos de una tabla
  5.2. Cadenas de caracteres
    5.2.1. Definición. Lectura desde teclado
    5.2.2. Cómo acceder a las letras que forman una cadena
    5.2.3. Longitud de la cadena
    5.2.4. Entrada/salida para cadenas: gets, puts
    5.2.5. Asignando a una cadena el valor de otra: strcpy, strncpy
    5.2.6. Comparando cadenas: strcmp
    5.2.7. Otras funciones de cadenas. sprintf
    5.2.8. Valor inicial de una cadena de texto
  5.3. Tablas bidimensionales
  5.4. Arrays indeterminados
  5.5. Estructuras
    5.5.1 Definición y acceso a los datos
    5.5.2 Arrays de estructuras
    5.5.3 Estructuras anidadas

6. Manejo de ficheros
  6.1. Escritura en un ficheros de texto
  6.2. Lectura de un fichero de texto
  6.3. Lectura hasta el final del fichero
  6.4. Ficheros con tipo
  6.5 Leer y escribir letra a letra
  6.6 Modos de apertura
  6.7 Ficheros binarios
  6.8 Ejemplo: copiador de ficheros
  6.9 Acceder a cualquier posición de un fichero
  6.10 Ejemplo: leer información de un fichero BMP
  6.11. Ficheros especiales 1: la impresora
  6.12. Ficheros especiales 2: salida de errores

7. Introducción a las funciones
  7.1. Diseño modular de programas: Descomposición modular
  7.2. Conceptos básicos sobre funciones
  7.3. Parámetros de una función
  7.4. Valor devuelto por una función
  7.5. El valor de retorno “void”. El valor de retorno de “main”
  7.6. Variables locales y variables globales
  7.7. Los conflictos de nombres en las variables
  7.8. El orden importa
  7.9. Algunas funciones útiles
    7.9.1. Números aleatorios
    7.9.2. Funciones matemáticas
    7.9.3. Pero casi todo son funciones…
  7.10. Recursividad
  7.11. Cómo interrumpir el programa

8. Cómo depurar los programas
  8.1. Conceptos básicos sobre depuración
  8.2. Ejemplos de algunos entornos

9. Punteros y gestión dinámica de memoria
  9.1. ¿Por qué usar estructuras dinámicas?
  9.2. ¿Qué son los punteros?
  9.3. Repasemos con un ejemplo sencillo
  9.4. Aritmética de punteros
  9.5. Punteros y funciones: parámetros por referencia
  9.6. Punteros y arrays
  9.7. Arrays de punteros
  9.8. Punteros y estructuras
  9.9. Parámetros de “main”
  9.10. Estructuras dinámicas habituales 1: las listas enlazadas
  9.11. Estructuras dinámicas habituales 2: los árboles binarios
  9.12. Indirección múltiple
  9.13. Un ejemplo: copiador de ficheros en una pasada

10. Bibliotecas de uso frecuente
  10.1. Llamadas al sistema: system
  10.2. Temporización
  10.3. Pantalla y teclado con Turbo C
  10.4. Acceso a pantalla en Linux: ncurses.h

11. Otras características avanzadas de C
  11.1 Operaciones con bits
  11.2 Directivas del preprocesador
    11.2.1. Constantes simbólicas: #define
    11.2.2 Inclusión de ficheros:
    11.2.3. Compilación condicional: #ifdef, #endif
    11.2.4. Otras directivas 
  11.3. Programas a partir de varios fuentes 
    11.3.1. Creación desde la línea de comandos 
    11.3.2. Introducción al uso de la herramienta Make 
    11.3.3. Introducción a los “proyectos” 
  11.4 Uniones y campos de bits 
  11.5. El operador coma 
  11.6. Enumeraciones 
  11.7. Definición de tipos 

Últimos cambios en esta página

31/Octubre/2006 Nueva actualización del curso de C (0.22).
11/Agosto/2006 Añadido un enlace a una serie de ejercicios de C en Linux, creados por Chuidiang.
07/Julio/2006 Nueva actualización del curso de C (0.21), pre-definitiva.
09/Junio/2006 Nueva actualización del curso de C (0.20). Disponible un curso de gráficos en C usando SDL.
08/Mayo/2006 Nueva actualización del curso de C (0.19). Disponible una nueva versión del compilador Open Watcom C++, la 1.5.
29/Abril/2006 Comienza una revisión de mi introducción a C++. Reorganizada la lista de cursos,para que sean más fáciles de encontrar según el lenguaje.
27/Abril/2006 Nueva actualización del curso de C (0.18). Reorganizada la lista de compiladores,para que sean más fáciles de encontrar según el sistema operativo. Añadido un enlace a la versión "Express" de Visual C# 2005 parece poder descargarse libremente desde la página Web de Microsoft.
13/Abril/2006 Disponibles 9 fuentes de ejemplo para descargar (que poco a poco irán siendo muuuchos más).
05/Abril/2006 Nueva actualización del curso de C (0.17). La versión "Express" de Visual C++ 2005 parece poder descargarse libremente desde la página Web de Microsoft -> añadido un enlace.
22/Marzo/2006 Nueva actualización del curso de C (0.16).
19/Marzo/2006 Nueva actualización del curso de C (0.15). Añadidos enlaces a otros dos cursos de C#.
27/Febrero/2006 Una versión en formato HTML de mi curso de C se podrá consultar en línea en AprendeAProgramar.com. Incluido en enlace correspondiente.
17/Febrero/2006 Nueva actualización del curso de C (0.14). Añadido otro curso de C en español, un seminario de C y otro de C++, y una referencia breve de C.
11/Febrero/2006 Nueva actualización del curso de C (0.13).
25/Enero/2006 Nueva actualización del curso de C (0.12). Está disponible para descarga la versión 1.4 de OpenWatcom y la 8.47 de Digital Mars.
15/Enero/2006 Nueva actualización del curso de C (0.11)
01/Diciembre/2005 Nueva actualización del curso de C (0.09)
15/Noviembre/2005 Nueva actualización del curso de C (0.08)
08/Noviembre/2005 Nueva actualización del curso de C (0.07)
24/Octubre/2005 Nueva actualización del curso de C (0.05)
02/Octubre/2005 Incluida la nueva versión de mi curso de C, más progresiva, en formato PDF.
07/Agosto/2005 Revisados muchos de los enlaces. Corregido el de C++ Builder y algún otro. Añadido un enlace a MinGW Developer Studio y otro a Sharp Develop. Aplicado a esta página el nuevo cambio de imagen de la Web.
04/Noviembre/2004 Incluidos enlaces sobre C#: cursos, compiladores (Mono) y otros.
13/Enero/2004 La versión convertida a PDF de mi curso de C no se podía descargar, por limitaciones del servidor actual, que elimina los ficheros de más de 1 Mb de tamaño -> desglosada en dos mitades.
02/Abril/2003 Disponible una conversión a formato PDF de mi curso de C y C++ (2.27h), sólo recomendable para quien no use Windows.
05/Enero/2003 Nueva versión de mi curso de C y C++ (2.27h), con ejemplos de cómo crear gráficos con DJGPP y las librerías GRX o Allegro, notas sobre el compilador MinGW, y algún otro apartado ampliado.
08/Agosto/2002 Incluido un curso de Visual C en español, en formato PDF, creado por Daniel Villahermosa.
12/Abril/2002 Enlace a otro compilador de C (no de C++) para Windows: LCC-Win32.
29/Marzo/2002 Nueva versión de mi curso de C y C++ (2.26h). Añadido un nuevo enlace, que permite saber los cambios realizados entre versiones del curso.
16/Febrero/2002 Se puede descargar el HelpPC, una referencia en inglés sobre C, ensamblador, hardware, etc.
08/Febrero/2002 Añadido un curso de C en español creado por Angel Salas.
09/Enero/2002 Nueva versión del curso de C (2.25h), que incluye ya todos los temas que antes sólo tenía la versión ampliada.

Otros cambios anteriores en toda la Web