TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 1/6
Elementos bsicos del Lenguaje C++
Estructura bsica de un programa:
Un programa en C++ esta compuesto bsicamente por una serie de declaraciones de componentes y mdulos. Los mdulos en C++ se denominan funciones y pueden arrojar un resultado asociado al mismo o no, pueden tener argumentos o no. Para representar la ausencia de resultados o argumentos se utiliza el identificador de tipo void. El mdulo raz o principal del programa se denomina main.
El encabezamiento de cualquier funcin tiene la siguiente sintaxis:
<tipo del resultado de la fn.> <identificador de la fn.> (<lista de argumentos de la fn.>)
Normalmente la funcin main no lleva argumentos ni arroja resultado alguno. De tal modo que el esqueleto de un programa sencillo sera el siguiente:
<declaraciones generales del programa> void main(void) { <declaraciones del mdulo raz> ; <sentencias del mdulo raz> ; }
Los identificadores:
Son los nombres que utilizamos para representar las variables, constantes, tipos, funciones y etiquetas de nuestro programa. Es una secuencia de uno o ms letras, dgitos o guiones bajos de subrayado que comienza con una letra o guin bajo. Los identificadores pueden contener cualquier nmero de caracteres, pero solamente los 32 primeros son significativos para el compilador. Se distingue entre letras maysculas y minsculas.
Las palabras claves e identificadores estndar:
Son identificadores predefinidos que tienen un significado especial para el compilador. Slo podemos utilizarlas tal y como se han definido. Por ejemplo: if, while, int, etc.
Comentarios:
Los comentarios son ignorados por el compilador y puede escribirse de dos formas:
1) /* comentario */ todo lo comprendido entre /* y */ es un comentario. 2) // comentario a partir de // el resto de la lnea se toma como comentario.
UNIVERSIDAD TECNOLGICA NACIONAL - FACULTAD REGIONAL TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 2/6
Declaracin de variables:
<identificador de tipo> <lista de ident.de variables>
A cada variable puede asignrsele un valor inicial dentro de la declaracin.
Definicin de constantes:
Hay dos formas de definir constantes:
1) #define <identificador de constante> <valor de la constante>
En este caso el compilador reemplazar el identificador de constante por su valor en todos los lugares del programa donde lo encuentre.
2) const <identificador de tipo> <identificador de variable> = <valor de la constante>
Es realidad se trata de variables con valor inicial pero las cuales tienen restringida la asignacin, es decir que no puede cambirseles el valor.
Nota: Las constantes de tipo carcter se encierran entre y las de tipo cadena entre
Inclusin de bibliotecas de funciones:
Todas las funciones internas del lenguaje se encuentran en los llamados archivos de cabecera que tienen extensin h, los mismos deben ser incluidos al principio de un programa:
#include <identificador del archivo de cabecera>
Tipos de datos simples
Ident.de tipo Tamao Rango unsigned char 8 bits 0 to 255 char 8 bits -128 to 127 enum 16 bits -32768 to 32767 unsigned int 16 bits 0 to 65535 short int 16 bits -32768 to 32767 int 16 bits -32768 to 32767 unsigned long 32 bits 0 to 4294967295 long 32 bits -2147483648 to 2147483647 float 32 bits 3.4 * (10**-38) to 3.4 * (10**+38) double 64 bits 1.7 * (10**-308) to 1.7 * (10**+308) long double 80 bits 3.4 * (10**-4932) to 1.1 * (10**+4932)
UNIVERSIDAD TECNOLGICA NACIONAL - FACULTAD REGIONAL TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 3/6
Nota: Los datos tipo lgico se representan con 0 para el Falso y 1 para el Cierto. Operaciones primitivas y orden de prioridad:
Operador Categora/prioridad Descripcin ! Negacin lgica NOT. - Negacin aritmtica. ++ Pre/Post-incremento. ++A o A++ es lo mismo que A = A+1 -- Pre/Post-decremento. --A o A-- es lo mismo que A = A-1 sizeof
Unario Mxima Prioridad Devuelve el tamao del operando en bytes. * Multiplicacin / Divisin %
Multiplicativo Modulo o resto de divisin entre enteros. + Suma - Aditivo Resta < Menor que <= Menor o igual que > Mayor >=
Relacional Mayor o igual que = = Igual que != De igualdad Distinto que && Conjuncin Producto lgico AND. | | Disyuncin Suma lgica OR. = Asignacin simple. += Acumulacin incremental. A+=B es lo mismo que A=A+B -=
Asignacin Mnima Prioridad Acumulacin decremental. A -=B es lo mismo que A=A-B
Nota: En el caso de las operaciones aritmticas y cuando los operandos son de distinto tipo numrico el resultado se amolda automticamente al tipo cuyo rango sea mayor.
Funciones matemticas ms importantes incluidas en el archivo de cabecera math.h:
Funcin Descripcin Argumentos Resultado abs/fabs/fabsl(x) Valor Absoluto int/double/long double Idem argumento atan/atanl(x) Arcotangente double/long double Idem argumento atan2/atan2l(y,x) Arcotangente de y/x double,double long double,long double Idem argumento acos/acosl(x) Arcocoseno double/long double Idem argumento asin/asinl(x) Arcoseno double/long double Idem argumento tan/tanl(x) Tangente double/long double Idem argumento cos/cosl(x) Coseno double/long double Idem argumento sin/sinl(x) Seno double/long double Idem argumento exp/expl(x) e2.71828 base logaritmos neperianos elevado a la x double/long double Idem argumento log/logl(x) Logoritmo neperiano double/long double Idem argumento log10/log10l(x) Logaritmo base 10 double/long double Idem argumento pow/powl(x,y) Potencia: x elevado a la y double,double long double,long double Idem argumento
UNIVERSIDAD TECNOLGICA NACIONAL - FACULTAD REGIONAL TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 4/6
pow10/pow10l(y) Potencia: 10 elevado a la y int double sqrt/sqrtl(x) Raz cuadrada de x double/long double Idem argumento ceil/ceill(x) Redondeo al entero mayor ms prximo. double/long double Idem argumento floor/floorl(x) Redondeo al entero menor ms prximo. double/long double Idem argumento
Nota: En las funciones trigonomtricas los ngulos se representan en radianes.
Funciones de entrada salida ms importantes del archivo de cabecera stdio.h:
Funcin Descripcin Argumentos Resultado scanf(f, d1, d2,...) Lee datos del teclado, convierte al formato indicado y almacena en las direcciones de memoria especificadas. Retorna como resultado la cantidad de variables almacenadas.
const cadena, identif.var. precedidos de & int printf(f, e1, e2, ....) Escribe en pantalla convirtiendo al formato especificado las expresiones indicadas. Retorna como resultado la cantidad de bytes enviados. const cadena, expresiones. int
En el caso de scanf el argumento f es una constante cadena que se encierra entre comillas dobles y que contiene una lista de especificaciones de conversin de formato de entrada. Cada especificacin se separa con espacio en blanco y va antecedida del smbolo % seguido de un carcter de conversin.
En el caso de printf el argumento f es una constante cadena que se encierra entre comillas dobles y que puede contener:
1) Una cadena de caracteres comunes que sern enviados a la pantalla.
2) Especificaciones de formato, cada una de ellas provoca la conversin y salida de los valores de las expresiones que constituyen el resto de los argumentos. Cada especificacin se separa con espacio en blanco y va antecedida del smbolo % seguido de un carcter de conversin. Entre ambos smbolos puede haber:
a) Un signo menos, indicando justificacin por izquierda.
b) Un nmero decimal indicando el tamao mnimo del campo.
c) Un punto seguido de un nmero que especifica la cantidad de dgitos para los decimales en caso de formato real.
UNIVERSIDAD TECNOLGICA NACIONAL - FACULTAD REGIONAL TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 5/6
3) Secuencias de escape, que indican la salida de caracteres especiales.
A continuacin se muestra una lista de caracteres de conversin y secuencias de escape:
scanf printf Formato / Sec. de escape %hd short int %ld %ld long int %lf %lf double %lu %lu long int sin signo %Lf %Lf long double %c %c char %d %d int %e %e Notacin cientfica %f %f float %o %o octal %s %s cadena %u %u int sin signo %x %x hexadecimal %% escribe el signo de porcentaje (%) \n salto de lnea (LF) \r retorno de carro (CR) \ escribe el smbolo comilla doble () \\ escribe el smbolo barra invertida (\) \a seal audible (bell)
Funciones de entrada salida ms importantes del archivo de cabecera conio.h:
Funcin Descripcin Argumentos Resultado clrscr( ) Borra la pantalla y coloca cursor en posicin (1,1) void void gotoxy(c,f) Coloca el cursor en la posicin (columna, fila) int, int void kbhit( ) Retorna 0 si no se est presionando el teclado. void int getch() Retorna un carcter ledo del teclado sin eco. void int getche() Retorna un carcter ledo del teclado con eco. void int putch(c) Escribe un carcter en pantalla y retorna su valor. int int
Operadores de entrada salida del archivo de cabecera iostream.h:
Objeto de Flujo Operandor y Operandos Descripcin cin >> variable1 >> variable2 >> Lee del perifrico por defecto las variables especificadas. cout << expresin1 << expresin2 << . Muestra por el perifrico por defecto el valor de las expresiones dadas.
UNIVERSIDAD TECNOLGICA NACIONAL - FACULTAD REGIONAL TUCUMAN DPTO. DE SISTEMAS LABORATORIO DE ALGORITMOS Y ESTRUCTURAS DE DATOS - AO 2008
Introduccin al lenguaje C++ - Ao 2.008 LABORATORIO DE AyEdeD Ing.Jorge Buabud 6/6
Sentencias de control del flujo del programa:
{<sentencia>; <sentencia>; ......;} Sentencia compuesta o bloque lgico
if ( <expresin> ) <sentencia>; Estructura de seleccin simple
if ( <expresin> ) <sentencia>; Estructura de seleccin doble else <sentencia>;