Professional Documents
Culture Documents
Primera Parte
Programacin Estructurada Lenguaje C
Sesin 1 :
Introduccin al C
Temas Sesin 1
Introduccin a la programacin Estructura general de un programa en C Identificadores, palabras reservadas y comentarios Tipos de datos y modificadores de tipo Variables y constantes Conversin de tipos implcitas y explicitas (casting) Entrada / Salida en C Modificadores y sentencias de escape Operadores y expresiones
Dennys G. Snchez Zavala
Estructura General
Todo programa en C consta de una o ms funciones, una de las cuales se llama main. El programa comienza en la funcin main, desde la cual es posible llamar a otras funciones. En C todas las lneas de cdigo terminan con punto y coma (;).
declaraciones globales ___________________________ main( ) { variables locales bloque de instrucciones } ___________________________ funcion 1( ) { variables locales bloque de instrucciones } ________________________________ ... funcion N( ) { variables locales bloque de instrucciones }
Nota: Para terminar esta sesin debo resaltar que C es un lenguaje Case Sensitive es decir es sensible tanto a las maysculas y minsculas (en otras palabras diferencia entre las mayusculas y minusculas)
Comentarios
A la hora de programar es conveniente aadir comentarios (cuantos ms mejor) para poder saber que funcin tiene cada parte del cdigo. Para poner comentarios en un programa escrito en C usamos los smbolos /* y */: Nota: El comentario no /* Este es un comentario */ ser tenido en cuenta por el compilador
/* Un comentario tambin puede estar escrito en varias lneas */
Palabras Reservadas
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
Identificadores
Un identificador es el nombre que damos a las variables y funciones. Est formado por una secuencia de letras y dgitos, aunque tambin acepta el caracter de subrayado _. Por contra no acepta los acentos ni la /. El primer caracter de un identificador no puede ser un nmero, es decir que debe ser una letra o el smbolo _ Se diferencian las maysculas de las minsculas, as num, Num y nuM son distintos identificadores. A continuacin vemos unos ejemplos de identificadores validos y no validos Validos No Validos num 1num Var1 nmero2 fecha_nac ao_nac
Salida en Pantalla
Sentencia printf( ) La rutina printf permite la aparicin de valores numricos, caracteres y cadenas de texto por pantalla.
Sintaxis: printf(control,arg1,arg2...);
Dennys G. Snchez Zavala
Salida en Pantalla
En la cadena de control, indicamos la forma en que se mostrarn los argumentos posteriores. Tambin podemos introducir una cadena de texto (sin necesidad de argumentos), o combinar ambas posibilidades, as como secuencias de escape (ver diapositiva siguiente).
En el caso de que utilicemos argumentos deberemos indicar en la cadena de control tantos modificadores como argumentos vayamos a presentar
Secuencias de Escape
El carcter de barra invertida ( \ ) se puede usar para indicar caracteres especiales
\n \b \t \v \\ \f \ \ \0 : : : : : : : : : salto de lnea retroceso tabulacin horizontal tabulacin vertical contrabarra salto de pgina apstrofe comillas dobles fin de una cadena de caracteres
Modificadores
Los modificadores mas utilizados son:
%c %d %u %o %x %e %f %s %p : : : : : : : : : Un nico carcter Un entero con signo, en base decimal Un entero sin signo, en base decimal Un entero en base octal Un entero en base hexadecimal Un nmero real en coma flotante, con exponente Un nmero real en coma flotante, sin exponente Una cadena de caracteres Un puntero o direccin de memoria
Modificadores
El formato completo de los modificadores es el siguiente: % [signo] [longitud] [.precisin] [l/L] conversin
pantalla. Si la longitud es menor que el nmero de dgitos del valor, ste aparecer ajustado a la izquierda.
Tamao
1 byte
Rango
-128 a 127
int
fload double void
2 byte
4 byte 8 byte 0 byte
-32768 a 37767
3.4 E-38 a 3.4 E+38 1.7 E-308 a 1.7 E+308 Sin valor
Dennys G. Snchez Zavala
Variables
Para declarar variables se sigue el siguiente formato : tipo lista_de_variables;
En este modelo, tipo es un tipo de dato vlido de C y la lista_de_variables puede consistir en uno o ms nombres de identificadores separados por comas. int a; float x, y, z; char letra, Letra, LETRA;
Operadores y Expresiones
Operadores Aritmticos
Oper Nombre
+ * / % Suma Resta Multiplicacin Divisin Modulo
Descripcin
Suma dos valores Resta dos valores Multiplica dos valores Divide dos valores Resto de dividir dos valores
++ --
Incremento Decremento
Operadores de Asignacin
Oper Descripcin
Asigna a la parte derecha el valor izquierdo Realiza la suma de la derecha con la izquierda y lo asigna a la derecha Realiza la resta de la derecha con la izquierda y lo asigna a la derecha Realiza la multip. de la derecha con la izquierda y lo asigna a la derecha Realiza la divisin de la derecha con la izquierda y lo asigna a la derecha Se obtiene el resto y se asigna Concatena el valor de la izquierda con la derecha y lo asigna a la derecha
= += -= *= /= %= .=
Operadores Lgicos
Oper Descripcin
&& Devuelve True si ambas condiciones son True
and Devuelve True si ambas condiciones son True || or ! xor Devuelve True cuando al menos una de las 2 es True Devuelve True cuando al menos una de las 2 es True Niega el valor de la expresin Devuelve True si alguno es True pero nunca ambos
Dennys G. Snchez Zavala
Operadores de Comparacin
Oper Nombre Descripcin (devuelve True en caso cumpla)
==
!= > < >=
Igual
Diferente Mayor que Menor que
<=
Sesin 2 :
Estructuras de Control
Temas Sesin 2
Estructuras de decisin (bifurcaciones)
Sentencia if, if... else, if .... else mltiple, if anidadas Sentencia switch Sentencia while Sentencia for Sentencia do while Sentencias break , continue y goto
Dennys G. Snchez Zavala
if else
if (condicin) { Sentencias q se ejecutan cuando la condicin es True } else { Sentencias q se ejecutan cuando la condicin es False }
if elseif else
if (condicin1) {
Sentencias q se ejecutan cuando la condicin1 es True
} elseif (condicin2) {
Sentencias q se ejecutan cuando la condicin2 es True
} else {
Sentencias q se ejecutan cuando las condiciones son False
}
Dennys G. Snchez Zavala
switch
switch (expresin) { case valor1: sentencias a ejecutar cuando cumpla valor1; break; //la instruccin break es opcional case valor2: sentencias a ejecutar cuando cumple valor2; break; default: sentencias a ejecutar cuando no se cumpla ninguna de las condiciones anteriores }
Dennys G. Snchez Zavala
while / do while
while (condicin) { sentencias a ejecutar; } ----------------------------------------------do { sentencias a ejecutar; } while (condicin)
for
for (inicializacin; condicin; actualizacin) { sentencias a ejecutar; }
Inicializacin: Se ejecuta tan solo al iniciar por primera vez el bucle. En esta parte se suele colocar la variable que contar el numero de veces que se repite el bucle. Condicin: Es la condicin que se evaluar cada vez que se inicie el bucle. actualizacin: Sirve para indicar los cambios que queremos ejecutar en las variables cada vez que se ejecuta el bucle
Sesin 3 :
Funciones
Temas Sesin 3
Definicin y utilidad de una funcin Declaracin y llamada de una funcin Tipos de retorno de una funcin Paso de argumentos: por valor, por referencia Argumentos de main ( ) : argc, argv Casting de funciones Recursividad de funciones
Sesin 4 :
Arreglos
Temas Sesin 4
Definicin de arreglos: vectores y matrices Operaciones con arreglos (inicializacin, ordenacin y bsqueda) Paso de arreglos como argumentos a una funcin Manejo de cadenas
Sesin 5 :
Punteros
Temas Sesin 5
Concepto de puntero o apuntador Operadores direccin (&) e indireccin (*) Aritmtica de punteros Punteros como valor de retorno Punteros a funciones y punteros a punteros Gestin dinmica de memoria: funciones malloc, calloc y free
Sesin 6 :
Estructuras, uniones, enumeraciones y typedef
Temas Sesin 6
Estructuras o registros Uniones Constantes de enumeracin Tipos definidos por el usuario: typedef
Sesin 7 :
El Procesador
Temas Sesin 7
#define #include #undef, #if, #ifdef, #else, #endif y #elif
Lenguaje C/C++
Segunda Parte
Programacin Orientada a Objetos Lenguaje C++
Sesin 8 :
C++ como un C mejorado
Temas Sesin 8
Palabras reservadas en C++ Entrada y Salida en C++ Flexibilidad en declaracin de variables Funciones en lnea y funciones amigas Estructuras mejoradas
Sesin 9 :
Clases
Temas Sesin 9
Definicin de clase Miembros de una clase: datos miembro (atributos) y funciones miembro (mtodos) Especificadores de acceso : pblicos, privados y protegidos Constructores y destructores Creacin de objetos: operadores new y delete Autoreferencia: Uso del puntero implcito this y flecha (->)
Sesin 10 :
Trabajando con Objetos
Temas Sesin 10
Qu es un objeto? Objeto : Instancia de una clase Encapsulacin Herencia (clase base / clases derivadas) y herencia mltiple Polimorfismo, clases abstractas y funciones virtuales
Sesin 11 :
Otros aspectos de C++
Temas Sesin 11
Sobrecarga / homonimia de funciones y operadores Operadores new y delete para gestin dinmica de memoria