capitulo 7 y 8 de sebesta
Expresiones y Sentencias de Asignación
Perfil del Capítulo
7.1 Introducción
7.2 Expresiones Aritméticas
7.3 Sobrecarga de Operadores
7.4 Conversión de Tipos
7.5 Expresiones Booleanas y Relacionales
7.6 Evaluación de Corto-Circuito
7.7 Sentencias de Asignación
7.8 Sentencia Mezclada de Asignación
Como el título lo indica, el enfoque de este capítulo son lasexpresiones y las sentencias de asignación. Las reglas de semántica que determinan el orden de evaluación de los operadores en expresiones son discutidas primero. Esto se sigue por los problemas potenciales de implementación-definida por el orden de evaluación de operandos cuando las expresiones pueden tener los efectos colaterales. La sobrecarga de operadores, ambos predefinidos y definidospor el usuario, se discute entonces, junto con sus efectos en las expresiones de los programas. Luego, se discuten las expresiones del modo-mezclado y se evalúan. Esto lleva a la definición y evaluación de ampliación y reducción de las conversiones del tipo, implícito y explícito. Las expresiones Boolean y Relacional son entonces discutidas, incluyendo la idea de evaluación del cortocircuito.Finalmente, la sentencia de asignación, desde su forma más simple hasta todas sus variaciones, se cubre, incluso las asignaciones como las expresiones y asignaciones del modo-mezclado.
El material en este capítulo se restringe a lo convencional ni lenguajes de programación funcional y ni lógica, los cuales utilizan notación infija para las expresiones lógicas y aritméticas. Los problemas deespecificación de la expresión y evaluación en lenguajes funcional y lógico se discuten en los Capítulos 15 y 16, respectivamente.
Cadenas de caracteres estructuran el modelo de las expresiones discutidas como una parte del material de cadenas de caracteres en el Capítulo 6, por lo que ellos no se mencionan en este capítulo.
7.1 Introducción
Las expresiones son los medios fundamentales deespecificar los cómputos en un lenguaje de la programación. Es crucial para un programador entender la sintaxis y semántica de las expresiones. Se describieron métodos de describir la sintaxis de las expresiones en el Capítulo 3. En este capítulo, nos enfocamos en la semántica de las expresiones-esto es, que significan ellos-lo cual es determinado por cómo ellos son evaluados.
Para entender laevaluación de la expresión, es necesario estar familiarizado con el orden de evaluación del operador y del operando. El orden de evaluación del operador de expresiones es manejado por la asociatividad y las reglas de precedencia del lenguaje. Aunque el valor de una expresión a veces depende de él, el orden de evaluación del operando en las expresiones es a menudo no expuesto por los diseñadoresdel lenguaje, una situación que permite a los programas producir los resultados diferentes en implementaciones diferentes. Otros problemas en la semántica de las expresiones son las desigualdades del tipo, coerciones, y evaluación del cortocircuito.
La esencia de los lenguajes de la programación imperativos es el papel dominante de sentencias de asignación. El propósito de una sentencia deasignación es cambiar el valor de una variable. Así una parte íntegra de todos los lenguajes imperativos es el concepto de variables cuyos valores cambian durante la ejecución del programa. (Los lenguajes imperativos a veces incluyen variables de una clase diferente, como los parámetros de funciones en los lenguajes funcionales.)
Una sentencia de asignación puede causar un valor simplemente paraser copiado de una celda de memoria a otra. Pero en muchos casos, las sentencias de asignación incluyen las expresiones con operadores, las cuales causan valores para ser copiados al procesador y para ser operados antes, y los resultados para ser copiados como apoyo a la memoria.
Las sentencias de asignación simples especifican una expresión a ser evaluada y una localización designada en la...
Regístrate para leer el documento completo.