Publicado el 13 de Junio del 2018
1.350 visualizaciones desde el 13 de Junio del 2018
387,6 KB
131 paginas
Creado hace 21a (26/07/2003)
Programación C/C++
Fermí Vilà
1
Programación en C/C++
(Manual FV)
Programación C/C++
Fermí Vilà
2
ÍNDICE
Introducción ........................................................................................................................................... 3
I.- Introducción a la programación en C................................................................................................. 5
II.- Estructuras de Programación.......................................................................................................... 21
III.- Funciones ...................................................................................................................................... 57
IV.- Punteros y Arrays.......................................................................................................................... 89
V.- Entrada y Salida por Ficheros ...................................................................................................... 131
VI.- El lenguaje de programación C++ .............................................................................................. 171
VII.- Arrays, Punteros y Funciones en C++ ....................................................................................... 187
VIII.- Programación Orientada a Objetos........................................................................................... 205
Apéndice A: Funcionamiento básico del Turbo C++ 3.1 ................................................................... 223
Apéndice B: Instalación y Funcionamiento básico del DJGPP 2.1.................................................... 227
Apéndice C: La “moderna” P.O.O (Visual C++ 6.0) ......................................................................... 229
Programación C/C++
Fermí Vilà
3
Introducción
- Manual F.V.
Significa “manual práctico de informática”, pero realmente realmente PRÁCTICO.
-
-
-
En primer lugar deberías decidir en qué carpeta de tu ordenador quieres grabar tus programas.
Personalmente me referiré continuamente a la carpeta C:\TuCarpeta, es decir, cuando encuentres
en el manual TuCarpeta, deberás sustuirla por el nombre de tu carpeta de verdad.
En segundo lugar deberías decidir el compilador de C/C++ que deseas usar.
La mayoría de programas del libro han sido probados en tres compiladores:
Para el entorno MS/DOS: DJGPP 2.1
Para el entorno Windows 3.x: Turbo C++ 3.1 de Borland
Para el entorno Windows 95/98: Visual C++ 6.0 de Microsoft
En los apéndices A, B y C encontrarás las instrucciones básicas del funcionamiento de estos tres
compiladores
Si no dispones de ningún compilador de C/C++, bájate de Internet el DJGPP 2.1, encontrarás las
instrucciones correspondientes en el apéndice B.
En el caso concreto del “Visual C/C++”, hay unos pocos programas que no te funcionarán:
consulta el apéndice C.
Cómo aprovechar al máximo este curso:
Escribe los programas, utilizando tu compilador de C/C++
Grábalos utilizando el nombre que aparece en la primera línea del programa en
TuCarpeta.
Ejecútalos un par o tres de veces, observando detenidamente el resultado del programa,
el programa fuente y las explicaciones que te indico en cada programa
Subraya, corrige, tacha y añade todo lo que consideres importante en tu manual (o hazte
tu propio manual con tus apuntes personales en una libreta).
Es muy importante que hagas los ejercicios de autoevaluación, que aparecen al final de
cada capítulo. Deberás guiarte por los programas que aparecen en cada tema y su
realización demostrará que has asimilado los conceptos y procedimientos del capítulo.
Por último y antes de empezar:
-
Debes tener en cuenta que en ningún caso “programaremos” utilizando las características propias del
“entorno”, quiero decir: aunque utilices un compilador de C en entorno Windows por ejemplo, todos
los programas que harás utilizando este manual, en principio funcionan igual en el entorno MS/DOS
o UNIX, por citar dos muy conocidos.
Seria materia de otro curso el estudio del “entorno de desarrollo” e “interface gráfico” de tu
compilador de C/C++
Un caso aparte es la introducción al “Visual C/C++”, del apéndice C, que es conveniente realizar
después del capítulo 8 (¡el último!), para conocer las tendencias de la moderna “programación
orientada a objetos”.
Programación C/C++
Fermí Vilà
4
Programación C/C++
Fermí Vilà
5
I.- Introducción a la Programación en C
a) 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 creó como herramienta para programadores, en consecuencia su principal objetivo es ser un
lenguaje útil.
Características:
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.
¿Porqué el “C”?
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 esrtucturado para ejercer buenos hábitos de
programación. Es el lenguaje de programación más utilizado por el programador de sistemas.
Estructura de un programa en “C”:
El ‘C’ es un lenguaje compilado, vamos a ver que es esto gráficamente:
CÓDIGO
FUENTE
COMPILAR
CÓDIGO
OBJETO
LINKAR
PROGRAMA
EJECUTABLE
CÓDIGO FUENTE: es el programa que nosotros escribimos, se graba con la 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”, se graba con la extensión
EXE. Y no necesita el programa que hemos utilizado para crearlo, para poder ejecutarlo.
Programación C/C++
Fermí Vilà
6
El código Objeto que genera un compilador de “C”, es casi tan eficiente (rápido) como si lo hubiéramos
escrito en lenguaje ENSAMBLADOR (lenguaje de programación más próximo al lenguaje máquina).
Relaciones del “C” con otros lenguajes de programación:
FORTRAN (1955)
ALGOL (1960)
PL/1 (1965)
PASCAL (1970)
C (1972)
ANSI C (1985)
C++ (1985)
Programación C/C++
Fermí Vilà
7
b) Los Primeros Programas en ‘C’
-
Prog001.cpp
/* Prog001.cpp */
#include <stdio.h>
void main()
{
}
printf("Curso de Programación en C");
Escribe el programa anterior utilizando tu compilador.
Recuerda:
Grábalo con el nombre Prog001.cpp en TuCarpeta.
Ejecútalo un par o tres de veces
Todo lo que escribimos entre los símbolos anteriores son “comentarios” para el
programador, que no influyen para nada en la ejecución del programa.
Ordena al compilador que incluya en el programa, las funciones de entrada –
salida (en nuestro caso hay una: printf).
stdio.h no es más que un fichero “biblioteca”, que contiene una serie de
funciones (instrucciones), en nuestro caso de “entrada-salida por pantalla”.
Si en nuestro programa necesitamos una raíz cuadrada por ejemplo, deberíamos
incluir (include) otra “biblioteca” (tranquilo, ya las iremos estudiando poco a
poco).
Función o programa principal (main), que no devuelve nada (void)
Inicio
Función que escribe en pantalla
Fin del programa
/* */
#include <stdio.h>
void main()
{
printf(“
}
“)
-
Prog002.cpp
/* Prog002.cpp */
#include <stdio.h>
void main()
{
printf("\n");
/* Línea en blanco */
Programación C/C++
Fermí Vilà
8
COMENTARIO
printf("Segunda Linea");
/***********************************
************************************/
printf(" continuamos en la 2ª línea\n");
printf("\nAhora estamos en la cuarta línea");
/*
....................................*/
}
Hasta luego
/*
\n
*/
Todo lo que escribimos entre los símbolos anteriores, el compilador no hace caso.
Es equivalente a un [Return]. Se le llama manipulador de formato.
c) Datos en “C”
-
Prog003.cpp
/* Prog003.cpp */
#include <stdio.h>
void main()
{
char nom[20];
printf("\nEscribe tu nombre: ");
scanf("%s",nom);
printf("\nHola %s",nom);
}
Escribe el programa anterior utilizando tu compilador.
Recuerda:
Grábalo con el nombre Prog003.cpp en TuCarpeta.
Ejecútalo un par o tres de veces
Estudio del PROG003:
En el lenguaje “C” hay dos tipos de datos: Constantes y Variables
En un programa, una constante es un dato que no puede ser variado durante su ejecución.
El dato “Escribe tu nombre:” del PROG4 es una constante, ya que cada vez que ejecutamos el
programa, aparece la misma frase: no hay posibilidad de cambiarla.
En un programa, una variable es un dato que sí puede cambiar mientras se ejecuta un programa.
El dato “nom” del PROG4 es una variable, ya que cada vez que ejecutamos el programa
adquiere el valor correspondiente a lo que escribimos ante la orden: “Escribe tu nombre:”
Programación C/C++
Fermí Vilà
9
La sentencia: char nom[20];
Define (declara) la variable “nom”, cuyo contenido serán caracteres (de ahí la palabra char que
abre la línea), en un número no superior a 20, porque así lo especifica dicha cifra entre corchetes.
En otras palabras, la línea en cuestión indica al compilador que, para la ejecución del programa
debe reservar espacio en memoria para almacenar 20 datos del tipo char, esto es, caracteres, y
que en el resto del programa dicha zona de memoria será designada como “nom”
La
Comentarios de: programación en C/C++ (Manual FV) (1)