Elementary Programming in C++: Assignment Statements and Assignment Expressions

An assignment statement designates a value for a variable. An assignment statement can be used as an expression in C++.

After a variable is declared, you can assign a value to it by using an assignment statement. In C++, the equal sign (=) is used as the assignment operator. The syntax for assignment state­ments is as follows:

variable = expression;

An expression represents a computation involving values, variables, and operators that, taking them together, evaluates to a value. For example, consider the following code:

int y = 1;                           // Assign 1 to variable y

double radius = 1.0;                 // Assign 1.0 to variable radius

int x = 5 * (3 / 2);                 // Assign the value of the expression to x

x = y + 1;                           // Assign the addition of y and 1 to x

area = radius * radius * 3.14159;    // Compute area

You can use a variable in an expression. A variable can also be used in both sides of the = operator. For example,

x = x + 1;

In this assignment statement, the result of x + 1 is assigned to x. If x is 1 before the state­ment is executed, then it becomes 2 after the statement is executed.

To assign a value to a variable, you must place the variable name to the left of the assign­ment operator. Thus, the following statement is wrong:

1 = x;   // Wrong

In C++, an assignment statement is essentially an expression that evaluates to the value to be assigned to the variable on the left side of the assignment operator. For this reason, an assignment statement is also known as an assignment expression. For example, the following statement is correct:

cout << x = 1;

which is equivalent to

x = 1;

cout << x;

If a value is assigned to multiple variables, you can use this syntax:

i = j = k = 1;

which is equivalent to

k = 1;

j = k;

i = j;

Source: Liang Y. Daniel (2013), Introduction to programming with C++, Pearson; 3rd edition.

Leave a Reply

Your email address will not be published. Required fields are marked *