Unit 9 Study Guide

  • Explain how expressions are evaluated based on precedence, associativity, and operand evaluation order.
  • Evaluate expressions correctly given rules for precedence, associativity, and operand evaluation order.
  • Define side effects and referential transparency, and explain their relationship.
  • State the advantages and disadvantages of operator overloading.
  • Explain the dangers of type conversions.
  • Explain what short-circuit operators are and give an example of how they are useful.
  • List common binary and unary assignment operators, explain how they work, and use them properly to construct expressions.
  • Correctly evaluate expressions containing various common operators.
  • Explain the form of control structures and basic design features of good control structures.
  • Explain how statement level control can be achieved using only selection and iteration constructs.
  • Discuss the design issues for two-way and multiple selection control structures and provide illustrative examples from various languages.
  • Explain the difference between counter controlled and logically controlled loops as well as the design issues with each kind of loop.
  • Discuss the various looping mechanisms available in popular languages.
  • Explain the issues in the controversy over the goto statement and provide a rationale for the general modern consensus on the issue.
  • Explain Dijkstra’s guarded command constructs and why they are important.