conceptos BASICOS C+
conceptos BASICOS C+
En esta introducción vamos a introducir el lenguaje de programación C++ que se va a utilizar en la asignatura, describiendo algunos conceptos básicos y plasmando la estructura general de un programa escrito en este lenguaje. A lo largo de los sucesivos temas se seguir' a la notación BNF para ir describiendo las diferentes reglas sintácticas del lenguaje. De esta forma se ir' a introduciendo de una manera formal la sintaxis de C++Elementos del lenguaje Comenzaremos viendo los elementos más simples que integran un programa escrito en C++, es decir palabras, símbolos y las reglas para su formaci´on. 1. Identificadores
ELEMENTOS DEL LENGUAJE 5 Si el numero lleva u como sufijo, es un numero sin signo. Si lleva L como sufijo es de tamaño Long. Todo numero al que se le antepone el carácter 0 esta expresado en base 8. Si se le antepone 0x, esta expresado en base 16. Cuando se usa E en un literal constante real se dice que el numero esta expresado en punto flotante (notación científica). Una cadena de caracteres (string) en C++ es una secuencia de caracteres encerrados entre comillas dobles (” ”). Las constantes que representan un solo carácter se encierran entre comillas simples(’ ’). 4. Delimitadores Son símbolos (con o sin significado propio) que indican comienzo o fin de una entidad. Son elementos indivisibles: por ejemplo al escribir == se debe hacer sin ningún carácter intercalado.
Constantes, variables y tipos de datos En un programa intervienen objetos sobre los que act´uan las instrucciones que lo componen. Algunos de estos objetos tomaran valores a lo largo del programa. Dependiendo de si pueden cambiar de valor o no, podemos distinguir dos tipos de objetos: • Constante: Objeto, referenciado mediante un identificador, que tomar´a un valor al principio (zona de declaraciones) y no se podrá modificar a lo largo del programa. • Variable: Objeto, referenciado por un identificador, que puede tomar distintos valores a lo largo del programa. Ser 'a misión del programador asignar el identificador que desee a cada constante y variable. El identificador o nombre de cada objeto sirve para identificar sin ningún tipo de ambigüedad a cada objeto, diferenciándolo de los demás objetos que intervienen en el programa. En C++ hay que indicar el nombre de las constantes y variables que vamos a usar, para que el compilador pueda asociar internamente a dichos nombres las posiciones de memoria correspondientes. La declaración tiene que encontrarse en el código antes de cualquier instrucción que las use. Al realizar las declaraciones de las variables, además de indicar su identificador o nombre, hay que indicar explícitamente el tipo de los datos que pueden contener. Un tipo determina la clase de valores que puede asumir una variable, constante o expresión. Cada valor pertenece a un tipo. Sobre los tipos de datos hay que destacar:
Importancia de poseer tipo. Cada variable, constante y expresión tienen asociado un ´único tipo. La información de tipo determina la representación de los valores, y la cantidad de espacio de memoria que debe serle asignado. Esa información también determina la forma en que deben ser interpretados los operadores aritméticos, y permite al compilador detectar errores semánticos en aquellos programas que contienen operaciones inapropiadas. El tipo de una variable no soló determina el conjunto de valores que puede almacenar sino también el conjunto de operaciones permitidas sobre dicha variable. Esto ´ultimo es el principio fundamental de la programación usando Tipos Abstractos de Datos (TADs)
CONSTANTES, VARIABLES Y TIPOS DE DATOS 7 • Cardinalidad. El numero de valores que tiene un tipo de datos. • Operadores básicos. A cada tipo se le asocia un conjunto de operadores básicos, destinados a ser de utilidad en el diseño de programas y que, además, tienen por lo menos una implementación razonablemente eficiente en un computador. Por supuesto, la selección de operadores básicos es, en cierta medida, arbitraria, y podría haberse aumentado o disminuido. El principio que suele seguirse es posibilitar al programador construir cualquier operación adicional en función de las básicas, y permitir hacerlo de una forma eficiente. Las operaciones más importantes y más generales definidas para los datos de cualquier tipo, son la asignación (representada por =) y la verificación de igualdad (==).
• Compatibilidad de tipos. Cada operador actúa sobre operandos de un mismo tipo, y da como resultado un valor siempre de un mismo tipo determinado. Como ya se ha dicho la información de tipo ayuda a los compiladores para detectar si se están realizando operaciones inapropiadas con tipos de datos distintos. Cuando el mismo símbolo es aplicado para varios tipos distintos (por ejemplo + para la suma de enteros y la de reales –se le llama operador sobrecargado–), dicho símbolo puede considerarse ambiguo, denotando varios operadores concretos diferentes. En un lenguaje de programación existen normalmente una serie de tipos de datos predefinidos (tipos básicos) que el programador puede utilizar directamente para declarar variables. Por otro lado se pueden definir nuevos tipos propios para satisfacer las necesidades particulares del programador. Los principales tipos de datos predefinidos en C++ son:
• El tipoTipos de datos
Los tipos de datos básicos del lenguaje C y el espacio que ocupan estos en la memoria
son los siguientes:
• char (1 byte)
• int (2 bytes)2
• float (4 bytes)
• double (8 bytes)
• void
Existiendo los siguientes modificadores:
short – long – signed – unsigned
que cambian la longitud o el signado del tipo al que se aplican.
int. Números enteros. • El tipo bool. Valores lógicos Verdadero y Falso. • El tipo char. Caracteres del código ASCII. • El tipo float. Números reales. Todos ellos tienen dos propiedades en común: cada uno está formado por elementos indivisibles o atómicos que además están ordenados. Los tipos de datos con estas características se denominan tipos de datos escalares. Cuando decimos que un valor es atómico, nos referimos a que no contiene partes componentes a las que pueda accederse independientemente. Por ejemplo, un car´acter es indivisible, mientras que la cadena
Comentarios
Publicar un comentario