Lab 3
Lab 3
● Operator is a symbol that instructs C/C++ to perform some operation, or action, on one
or more operands.
● Operand is something that an operator acts on.
● For example:
x = 2 + 3;
● + and = are operators. 2 and 3 are operands and x are variable.
● Variable are case sensitive a variable name “add” is not same as “ADD”
VARIABLE DECLARATION:
Declaring like this is
1-
#include <iostream>
using namespace std;
int main(){
int a;
int b;
int c;
int d;
}
Same as
2-
#include <iostream>
using namespace std;
main(){
int a,b,c,d;}
We can also assign a same value to different variables within one go.
#include <iostream>
using namespace std;
main(){
int a,b,c,d;
a=b=c=d=100;
cout<<a<<endl<<b<<endl<<c<<endl<<d<<endl;
}
Types of operators
Assignment Operator:
● x = y;
● Assign the value of y to variable x and this is called assignment statement.
● Left side must be a variable name.
● Right side can be any expression, variable, constant.
● The evaluation from right to left.
Program 1:
#include<iostream>
using namespace std;
int main()
{
int x,y,a,b;
a=b=2;
x=10; //right side is a constant value
y=9;
Mathematical Operator:
Mathematical operators perform mathematical operation such as +, -, *, % and /. C/C++ also has
unary mathematical operators (++ and --) and binary mathematical operators.
Relational Operator:
In C++ Programming, the values stored in two variables can be compared using following
operators and relation between them can be determined.
Operator, Meaning
== Equal to x == y
!= Not equal x != y
It is either 0 or 1.
● 0 means FALSE
● 1 means TRUE
Program 5: Demonstrating how relational operators work.
#include <iostream>
using namespace std;
int main() {
int x = 5;
int y = 3;
cout <<"(x > y)="<<(x > y)<<endl; // returns 1 (true) because 5 is greater
than 3
cout <<"(x < y)="<<(x < y)<<endl; // returns 0 (false) because 5 is not less
than 3
cout <<"(x >= y)="<<(x >= y)<<endl; // returns 1 (true) because five is
greater than, or equal, to 3
return 0;
}
Logical Operators:
Logical operators are used to determine the logic between variables or values:
&& Logical and Returns true if both statements are true x < 5 && x < 10
It is either 0 or 1.
● 0 means FALSE
● 1 means TRUE
#include <iostream>
using namespace std;
int main() {
int x = 5;
int y = 3;
cout <<"(x > 3 && x < 10)="<<(x > 3 && x < 10)<<endl; // returns true (1)
because 5 is greater than 3 AND 5 is less than 10
cout <<"(x > 3 || x < 4)="<<(x > 3 || x < 4)<<endl; // returns true (1)
because one of the conditions are true (5 is greater than 3, but 5 is not less
than 4)
cout <<"(!(x > 3 && x < 10))"<<(!(x > 3 && x < 10))<<endl; // returns false
(0) because ! (not) is used to reverse the result
return 0;
}
Operator Precedence:
C++ applies the operators in arithmetic expressions in a precise sequence determined by the
following rules of operator precedence, which are generally the same as those in algebra:
1. Operators in expressions contained within pairs of parentheses are evaluated first. Thus,
parentheses may be used to force the order of evaluation to occur in any sequence you
desire. Parentheses are said to be at the "highest level of precedence." In cases of nested, or
embedded, parentheses, such as ((a + b) + c ) the operators in the innermost pair of
parentheses are applied first.
2. Multiplication, division and remainder operations are applied first. If an expression contains
several multiplication, division and remainder operations, evaluation proceeds from left to
right. Multiplication, division and remainder are said to be on the same level of precedence.
3. Addition and subtraction operations are evaluated next. If an expression contains several
addition and subtraction operations, evaluation proceeds from left to right. Addition and
subtraction also have the same level of precedence, which is lower than the precedence of the
multiplication, division and remainder operations.
Order of Associativity
() Parentheses
Evaluated first. If the parentheses are nested,
the expression in the innermost pair is
evaluated first. If there are several pairs of
parentheses "on the same level" (i.e., not
nested), they're evaluated left to right.
Increment/
++/-- Evaluated second.
decrement
* Multiplication
Evaluated third. If there are several, they're
/ Division
evaluated left to right.
% Remainder
If the operators are in the same level, then, the operators are performed from left to right order, referring
to table. For example:
String Data Type:
String Types
The string type is used to store a sequence of characters (text). This is not a built-in type, but it behaves
like one in its most basic usage. String values must be surrounded by double quotes:
Example
string greeting = "Hello";
cout << greeting;
Example
// Include the string library
#include <string>
Write a program which takes an input from user and prints whether the number is even or odd,
0as an output means the number is even 1 as an output means number is odd.
Sample Output
*****************************
The output is 1
If the remainder is 0 that means number is even. If the remainder is otherwise that means the
number entered by user is odd.
Task 2:
Write a program that reads two values in variable x and y, print values of x and y on the screen. Then
exchange the value of x and y and print the new values after the exchange. (Hint: use a third identifier)
Task 3:
Write a program to check whether a triangle is valid or not, when the three angles of the triangle
are entered through the keyboard.
Hint: A triangle is valid if the sum of all the three angles is = 180
Sample Output
**********************
Enter the first angle: 90