Programas de C++ y C


Fundamentos del entorno C++ típico:

Los sistemas C++ por lo general consisten de varias partes: un entorno de desarrollo de programas, el lenguaje y la biblioteca estándar de C++. Y se muestra en la figura:

Aqui nos concentramos en un sistema C++ para UNIX típico. Si no está trabajando en un sistema UNIX, consulte los manuales de su sistema.

  • Se consiste en la edición de un archivo. Esto se logra mediante un editor de programas. El programador introduce un programa C++ por medio del editor y lo corrige, de ser necesario. Despues el programa se guarda en un dispositivo de almacenamiento secundario, como un disco. Los nombres de los archivos de programas en C++ con frecuencia terminan con las extensiones “.cpp” o “.C” note que C esta mayuscula.
  • El compilador traduce el programa C++ en código de lenguaje de máquina. En los sistemas C++, antes de iniciar la fase de traducción del compilador se ejecuta automaticamente un programa preprocesador.
  • El preprocesador de C++ obedece ciertos comandos especiales, llamados directivas de preprocesador, que indican que deben efectuarse ciertas manipulaciones al programa antes de compilarlo.
  • La fase se llama enlaces. Los programas C++ por lo general contienen referencias a fundaciones definidas en otro lado, como en las bibliotecas estándar o en las bibliotecas privadas de los programadores que trabajan en un proyecto en particular. El codigo objeto que el compilador de C++ genera suele contener “agujeros” debido a estas partes faltantes. El editor de enlaces vincula el código objeto con el código de las funciones faltantes. Para compilar y enlazar un programa llamado bienvenido.C.

Algunas características del lenguaje C:

  • Es un lenguaje de propósito general. Este lenguaje se ha utilizado para el desarrollo de aplicaciones tan dispares como: hojas de cálculos, gestores de bases de datos, compiladores, sistemas operativos, …
  • Es un lenguaje de medio nivel. Este lenguaje permite programar a alto nivel (pensando a nivel lógico y no en la máquina física) y a bajo nivel (con lo que se puede obtener la máxima eficiencia y un control absoluto de cuanto sucede en el interior del ordenador). Trabaja directamente con bits, bytes y direcciones de memoria.
  • Se basa en funciones y maneja una biblioteca estándar. Dicha biblioteca esta formada por un conjunto de archivos donde cada archivo esta formado por un grupo de funciones y/o procedimientos que permiten resolver problemas en forma rápida y eficiente.
  • No lleva a cabo comprobaciones de errores en tiempo de ejecución, es el programador el único responsable de llevar a cabo esas comprobaciones.
  • Es un lenguaje potente y eficiente. Usando C, un programador puede casi alcanzar la eficiencia del código ensamblador junto con la estructura del Algol o Pascal.

Tokens:

Existen seis clases de componentes sintácticos o tokens en el vocabulario del lenguaje C: palabras clave, identificadores, constantes, cadenas de caracteres, operadores y separadores. Los separadores uno o varios espacios en blanco, tabuladores, caracteres de nueva línea (denominados “espacios en blanco” en conjunto), y también los comentarios escritos por el programador, por lo demás son ignorados por el compilador. El compilador descompone el texto fuente o programa en cada uno de sus tokens y a partir de esta descomposición genera el código objeto correspondiente.

  • Palabras Clave Del C:

En C, como en cualquier otro lenguaje, existen una serie de palabras clave (keywords) que el usuario no puede utilizar como identificadores (nombres de variables y/o de funciones). Estas palabras sirven para indicar al computador que realice una tarea muy determinada y tienen un especial significado para el compilador. El C es un lenguaje muy conciso, con muchas menos palabras clave que otros lenguajes. A continuación se presenta la lista de las 32 palabras clave del ANSI C, para las que más adelante se dará detalle de su significado:

  • Identificadores:

Un identificador es un nombre con el que se hace referencia a una función o al contenido de una zona de la memoria (variable).

-Un identificador se forma con una secuencia de letras (minúsculas de la a a la z; mayúsculas de la A a la Z; y dígitos del 0 al 9).

-El carácter subrayado o underscore (_) se considera como una letra más.

-Un identificador no puede contener espacios en blanco, ni otros caracteres distintos de los citados, como por ejemplo (*,;.:-+, etc.).

-El primer carácter de un identificador debe ser siempre una letra o un (_), es decir, no puede ser un dígito.

-No se pueden utilizar palabras reservadas como int, char o while.

-Muchos compiladores no permiten contener caracteres españoles (acentos y eñes).

-ANSI C permite definir identificadores de hasta 31 caracteres de longitud.

En general es muy aconsejable elegir los nombres de las funciones y las variables de forma que permitan conocer a simple vista qué tipo de variable o función representan, utilizando para ello tantos caracteres como sean necesarios.

Ejemplos válidos de identificadores:

letra;

Letra;

CHAR;

__variable__;

cantidad_envases;

precio123;

Ejemplo no válidos de identificadores:

123var; /* Empieza por dígitos */

int; /* Palabra reservada */

una sola; /* Contiene espacios */

US$; /* Contiene $ */

var.nueva; /* Contiene el punto */

eñe; /* Puede no funcionar */

nombre? /*No puede ir signos de admiración o interrogación*/

  • Comentarios:

La inclusión de comentarios en un programa es una saludable práctica, como lo reconocerá cualquiera que haya tratado de leer un listado hecho por otro programador ó por sí mismo, varios meses atrás. Para el compilador, los comentarios son inexistentes, por lo que no generan líneas de código, permitiendo abundar en ellos tanto como se desee. En el lenguaje C se toma como comentario todo caracter interno a los simbolos: /* */. Los comentarios pueden ocupar uno o más renglones, por ejemplo:

/* este es un comentario corto */

/* este otro

es mucho más largo que el anterior */

El lenguaje ANSI C permite también otro tipo de comentarios, tomado del C++. Todo lo que va en cualquier línea del código detrás de la doble barra (//) y hasta el final de la línea, se considera como un comentario y es ignorado por el compilador.

//Hola como estas

  • Operadores:

Un operador es un carácter o grupo de caracteres que actúa sobre una, dos o más variables para realizar una determinada operación con un determinado resultado. Ejemplos típicos de operadores son la suma (+), la diferencia (-), el producto (*), etc. Los operadores pueden ser unarios, binarios y ternarios, según actúen sobre uno, dos o tres operandos, respectivamente.

Operadores Aritméticos:

Los operadores aritméticos son los más sencillos de entender y de utilizar. Todos ellos son operadores binarios. En C se utilizan los cinco operadores siguientes:

Suma (+)

Resta (–)

Multiplicación (*)

División (/)

El quinto operador es el que proporciona el resto de la división (residuo)

Módulo (%)

El único operador que requiere una explicación adicional es el operador resto %. En realidad su nombre completo es resto de la división entera. Este operador se aplica solamente a constantes, variables o expresiones de tipo int. Aclarado esto, su significado es evidente: 23%4 es 3, puesto que el resto de dividir 23 por 4 es 3. Si a%b es cero, a es múltiplo de b.
Como se verá más adelante, una expresión es un conjunto de variables y constantes relacionadas mediante distintos operadores. Un ejemplo de expresión en la que intervienen operadores aritméticos es el siguiente polinomio de grado 2 en la variable x:

5.0 + 3.0*x – x*x/2.0

Las expresiones pueden contener paréntesis (…) que agrupan a algunos de sus términos. Puede haber paréntesis contenidos dentro de otros paréntesis. El significado de los paréntesis coincide con el habitual en las expresiones matemáticas, con algunas características importantes que se verán más adelante.

Operadores De Asignación Aritmética
Estos resultan de la unión de los operadores aritméticos con el operador de asignación el signo (=), o sea:

Igual (=)

Suma igual (+=)

Resta igual (– =)

Multiplicación igual (*=)

División igual (/=)

Estos operadores se aplican de la siguiente manera: ( x += 5 ), en este ejemplo se toma el operando de la
izquierda lo suma con el operando de la derecha y lo asigna al operando de la izquierda, en este caso la variable x.

Operadores de Incremento y Decremento:

El operador de incremento es el (++) y el de decremento es el (–), son operadores unarios de muy elevada prioridad y sirven para incrementar o decrementar una unidad el valor de la variable a la que afectan. Pre-incremento y Post-incremento: Estos operadores pueden ir inmediatamente delante o detrás de la variable. Si preceden a la variable, ésta es incrementada antes de que el valor de dicha variable sea utilizado en la expresión en la que aparece. Si es la variable la que precede al operador, la variable es incrementada después de ser utilizada en la expresión. A continuación se presenta un ejemplo de estos operadores:

i = 2;

j = 2;

m = i++; /* despues de ejecutarse esta sentencia m=2 e i=3*/

n = ++j; /* despues de ejecutarse esta sentencia n=3 y j=3*/

Estos operadores son muy utilizados.

Operadores Relaciónales

Estos establecen la magnitud relativa de dos elementos y son los siguientes:

Operadores Lógicos

C proporciona operadores lógicos para combinar los resultados de varias condiciones. Una expresión compuesta es aquella que utiliza operadores como estos y que se pueden evaluar para obtener un único resultado de verdadero o falso. Dos de los operadores lógicos son binarios porque usan dos operandos, devuelven un resultado basado en los
operandos recibidos y en el operador.

AND ( && ): Este operador conocido como producto lógico retorna un valor de verdadero si los operandos son verdaderos.

OR ( || ): El operador de suma lógica retorna un valor de verdadero si los operandos o uno de los operandos es verdadero.

NOT ( ! ): Operador de negación, tiene por efecto invertir el resultado de la expresión que le sigue es decir si la expresión es verdadera después de aplicar este operador la expresión será falsa y viceversa.

Jerarquía De Operadores

Un programa sencillo: impresión de una linea de texto:

Un fichero fuente en lenguaje C tendrá esta estructura típica:

Las declaraciones y definiciones se pueden hacer en cualquier orden, aunque es preferible declarar las funciones al principio del programa.

Ejemplo:

y luego se ejecuta:

* La linea #include <stdio.h> y #include <iostream.h> es una directiva de preprocesador, es decir, un mensaje para el preprocesador de C++. Esta linea en particular le dice al preprocesador que incluya en el programa el contenido del archivo de encabezado de flujo de entrada/salida. Este archivo debe incluirse en cualquier programa que envié salida a la pantalla o acepte datos del teclado por medio de entrada/salida de flujo estilo C++.

* La linea int main() o main() es parte de todos los programas C++. El parentesis que esta despues de main indica que main es un bloque de construccion de programas llamado funcion. La palabra clave int a la izquierda de main indica que devuelve un valor de numero entero. La llave izquierda, {, debe comenzar el cuerpo de cada funcion. Una llave derecha correspondiente }, debe terminar el cuerpo de cada funcion.

* La linea printf(“Bienvenido a C++\n”); y cout<<“Bienvenido a C++\n”; le indica a la computadora que imprima en la pantalla la cadena contenida entre las parentesis y las comillas. La linea completa, incluyendo cout, el operador << la cadena Bienvenido a C++\n y el punto y coma (;) se llama instruccion.

* La linea return 0; se incluye al final de todas las funciones main. La palabra clave return es uno de varios medios que utilizaremos para salir de una funcion. La llave derecha } indica el fin de main.

 

Correo: thamen88@yahoo.es

Anuncios

Publicado el 9 septiembre, 2011 en C/C++. Añade a favoritos el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: