|
C++ Programming Tutorials
Basics of C++
Structure of a
program
Variables
Data types
Constants
Operators
Basic Input/output
Control Structures
Control Structures
Functions (I)
Functions (II)
Compound Data Types
Arrays
Character Sequences
Pointers
Dynamic Memory
Data Structures
Other Data Types
Object Oriented Programming
Classes [I]
Classes [II]
Friendship & Inheritance
Polymorphism
Advanced Concepts
Templates
Namespaces
Exceptions
Type Casting
Preprocessor Directives
C++ Standard Library
Input/output with Files
Soft Skills
Communication Skills
Leadership Skills
.........More
|
|
C++ Programming Tutorials
Operators
Once we know of the existence of variables and constants, we can begin to
operate with them. For that purpose, C++ integrates operators. Unlike other
languages whose operators are mainly keywords, operators in C++ are mostly made
of signs that are not part of the alphabet but are available in all keyboards.
This makes C++ code shorter and more international, since it relies less on
English words, but requires a little of learning effort in the beginning.
You do not have to memorize all the content of this page. Most details are only
provided to serve as a later reference in case you need it.
Assignment (=)
The assignment operator assigns a value to a variable.
This statement assigns the integer value 5 to the variable a.
The part at the left of the assignment operator (=) is known as the lvalue (left
value) and the right one as the rvalue (right value). The lvalue has to be a
variable whereas the rvalue can be either a constant, a variable, the result of
an operation or any combination of these.
The most important rule when assigning is the right-to-left rule: The assignment
operation always takes place from right to left, and never the other way:
This statement assigns to variable a (the lvalue) the value
contained in variable b (the rvalue). The value that was stored until this
moment in a is not considered at all in this operation, and in fact that value
is lost.
Consider also that we are only assigning the value of b to a at the moment of
the assignment operation. Therefore a later change of b will not affect the new
value of a.
For example, let us have a look at the following code - I have included the
evolution of the content stored in the variables as comments:
// assignment operator
#include <iostream>
using namespace std;
int main ()
{
int a, b; // a:?, b:?
a = 10; // a:10, b:?
b = 4; // a:10, b:4
a = b; // a:4, b:4
b = 7; // a:4, b:7
cout << "a:";
cout << a;
cout << " b:";
cout << b;
return 0;
} |
a:4 b:7
|
This code will give us as result that the value contained in
a is 4 and the one contained in b is 7. Notice how a was not affected by the
final modification of b, even though we declared a = b earlier (that is because
of the right-to-left rule).
A property that C++ has over other programming languages is that the assignment
operation can be used as the rvalue (or part of an rvalue) for another
assignment operation. For example:
is equivalent to:
that means: first assign 5 to variable b and then assign to a
the value 2 plus the result of the previous assignment of b (i.e. 5), leaving a
with a final value of 7.
The following expression is also valid in C++:
It assigns 5 to the all the three variables: a, b and c.
Arithmetic operators ( +, -,
*, /, % )
The five arithmetical operations supported by the C++ language are:
+ addition
- subtraction
* multiplication
/ division
% modulo |
Operations of addition, subtraction, multiplication and
division literally correspond with their respective mathematical operators. The
only one that you might not be so used to see may be modulo; whose operator is
the percentage sign (%). Modulo is the operation that gives the remainder of a
division of two values. For example, if we write:
the variable a will contain the value 2, since 2 is the
remainder from dividing 11 between 3.
Compound assignment (+=, -=, *=, /=, %=, >>=,
<<=, &=, ^=, |=)
When we want to modify the value of a variable by performing an operation on the
value currently stored in that variable we can use compound assignment
operators:
|
expression |
is equivalent to |
| value += increase; |
value = value +
increase; |
| a -= 5; |
a = a - 5; |
| a /= b; |
a = a / b; |
| price *= units + 1; |
price = price * (units + 1); |
and the same for all other operators. For example:
// compound assignment operators
#include <iostream>
using namespace std;
int main ()
{
int a, b=3;
a = b;
a+=2; // equivalent to a=a+2
cout << a;
return 0;
} |
5
|
NEXT >> Increase
and Decrease (++, --)
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
C Aptitude Questions
for more C Aptitude Interview Questions with Answers
Check
C Interview Questions
for more C Interview Questions with Answers.
|