C y C++

Historia

     Lenguaje de alto nivel que evolucionó según las necesidades de los programadores de sistemas, especialmente del sistema operativo UNIX. Basado en el lenguaje "ALGOL".  Su nombre es tomado del operador incremental de suma.

     Una de sus características principales es la de permitir la introducción de instrucciones al estilo del Lenguaje Simbólico, basado en mnemónicos; y la de poder enviar y recibir códigos especiales de las diferentes unidades de entrada y salida.  Facilita la técnica : "Object Oriented Programming".  Maneja clases de objetos.




Descripción


Características generales

     Un programa en "C++" consiste de líneas de hasta 256 columnas de largo.  Cada oración termina con el signo de punto y como (;).  Las oraciones se agrupan por medio de corchetes: {}.  Contiene treinta y dos (32) 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.


Caracteres disponibles

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 01234567B9+-*/().=",! $:;<>(){}\¦~'@&%?_ y el espacio en blanco


Composición

     Antes de comenzar el programa se incluyen directrices al compilador sobre las bibliotecas que debe buscar para encontrar las funciones utilizadas en el programa.  Por ejemplo :
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
.

     El comienzo del programa se identifica con la oración
int main( void )
{
.
     El final del programa se identifica con }.

     Los comentarios se identifican con //
ó encerrados entre /* y */.


Constantes


Variables

     Nombres de una (1) a treinta y una (31) letras y/o dígitos, la primera de las cuales tiene que ser una letra.  Distingue entre minúsculas y mayúsculas.




Operadores aritméticos

código operación jerarquía precedencia
+ suma 2 =>
- resta 2 =>
* multiplicación 1 =>
/ división 1 =>
% módulo 1 =>





Funciones






Expresiones aritméticas

  1. constante aritmética

  2. variable aritmética

  3. exp.arit. oper.arit. exp.arit.

  4. ( exp.arit. )

  5. función( exp.arit. )





Operadores relacionales

  • == igual

  • != diferente

  • < menor

  • <= menor o igual

  • > mayor

  • >= mayor o igual





Operadores lógicos

  • ! -> negación

  • && -> y

  • || -> ó





Expresiones lógicas

  1. constante lógica

  2. variable lógica

  3. exp.log. oper.log. exp.log.

  4. ( exp.log. )

  5. exp.arit. oper.rel. exp.arit.




Oraciones


Asignación


Salida

     La salida es siempre a la pantalla.  El formato de salida es establecido por el compilador ó por las especificaciones dadas.


Entrada

     La entrada es siempre por el teclado.  El formato de entrada es libre ó el indicado por las especificaciones.





Cotejo

if ( expresión lógica )
{
   oraciones
}
else
{
   oraciones
}





Repetición

a) while ( expresión lógica )
   {
      oraciones
   }



b) for ( oración inicial; condición; modificación )
   {
      oraciones
   }






Arreglos







Subprogramas

Instrucción aritmética

tipo nombre( parámetros con tipos ){ return expresión; }

Función

tipo nombre ( parámetros formales con tipos )
{
   oraciones
   return expresión;
}

Subrutina

void nombre ( parámetros con tipos y asterísco)
{
   oraciones
   return;
}




Archivos













Especificaciones de formatos




  • Punto fijo

    • %wd


  • Punto flotante

    • %w.df ó %w.se


  • Doble precisión

    • %w.dlf ó %w.sle


  • Caracteres

    • %ws


  • Terminar línea

    • \n












EJEMPLO

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
double PROMED( double[],int );
int main( void )
{
   /* PROPOSITO : EJEMPLO DE PROGRAMA EN C */
   /* AUTOR: PROF. CABASSA */
   int I;
   double A[100];
   double S;
   FILE *Tres;
   Tres = fopen( "EJEMPLO.DAT", "r" );
   I = 0;
   fscanf( Tres, "%10lf", A[I] );
   while ( ! feof( Tres ) && I < 99 )
   {
      I++;
      fscanf( Tres, "%10lf", A[I] );
   }
   if ( I == 0 )
   {
      fprint( "NO ENTRO VALORES\n" );
   }
   else
   {
      S = PROMED( A, I - 1 );
      fprint( "EL PROMEDIO ES %20.6lE\n", S );
   }
    fclose( Tres );
   return 0;
}
double PROMED( double X[],int N )
{
   /* PROPOSITO : CALCULAR PROMEDIO */
   /* AUTOR : PROF. CABASSA */
   int I;
   double SUMA;
   SUMA = 0.0;
   for ( I = 0; I < N; I++ )
   {
      SUMA += X[I];
   }
   return SUMA / (double ) N;
}


Última modificación : miércoles 1 de julio de 1998

©Derechos Reservados - 1994 - Prof. H. D. A. Cabassa