Lecture 12: Expression and Assignment

 0    15 flashcards    up804653
download mp3 print play test yourself
 
Question English Answer English
What is an expression
start learning
An expression is a combination of values, variables, operators and function calls. Expressions perform operations on data and move data around
how many oprands does a unary operator have?
start learning
1 eg E.g., the “minus” operator. - b where “-” is operator, and b operand
how many oprands does a binary operator have?
start learning
[1] A binary operator has two operands E.g., +, -, *, /... [2] In most languages, binary operators are infix, which means they appear between their operands [3] There are also operators that are prefix, i.e., they precede their operands.
What are the typical rules of precedence
start learning
[1] Parentheses: “(” “)” [2] Unary operators “++”, “--” [3] Unary operators “+” “-” [4] Binary operators “*”, “/” [5] Binary operators: “+” “-”
explain Operator Associativity Rules
start learning
The operator associativity rules for expression evaluation define the order in which “adjacent” operators of the same precedence levels are evaluated
when does and expression have side effects
start learning
We say an expression has a side effect if, in addition to return a value, it also modifies variables or causes something else to happen.
what is the genral syntax of the Assignment operator
start learning
<target_var> <assign_operator> <expression>
what are Compound Assignment Operators
start learning
[1] Compound means combining assignment with arithmetic operators. [2] It is a shorthand method of specifying a commonly needed form of assignment. [3] eg a = a + b writen as a += b
what is a Unary Assignment Operators
start learning
[1] Unary assignment operators in C-based languages combine increment and decrement operations with assignment eg count++ (count incremented by 1, i.e., count = count+1)
what is cast?
start learning
Cast refers to type conversion that is explicitly requested by the programmer.
what is coercion
start learning
[1] Coercion is an implicit type conversion that is initiated by the compiler. [2] The compiler checks the type compatibility of the assignment and changes the type of right side of the assignment.
what is a widening conversion
start learning
A widening conversion is one in which an object is converted to a type that allow any possible value of the original data (i.e., converting to a type takes a larger memory space)
what is A narrowing conversion
start learning
[1] usually done explicitly as a request from the programmers [3]e. g Java can convert int to short one needs to process the int value in a method design to work with short values. [4] The conversion is not safe (overflow may happen).
what are Relational operators
start learning
[1] Relational operator is a binary operator that compare the values of its operands and the result is a Boolean value True or False. [2] eg “Not Equal” operator could be one of these:!=,/=, ~=,. NE. or <>.
what is Short Circuit Evaluation
start learning
[1] expression eval' where the result is determined w/out eval'ng all of the operands and/or operators [2] (a>=0)&&(b<10) if (a<0), because (False && (b<0))is False for all value of b. Therefore, there is no need to evaluate (b<0)

You must sign in to write a comment