An operator is a symbol that tells the computer to perform
certain mathematical or logical manipulations. Operators are
used in programs to manipulate data and variables.
OPERAND: It is an entity on which an operator acts.
UNARY
OPERATOR: It requires only a single operand.
BINARY
OPERATOR: It requires two operands to act.
C operators
can be classified into number of categories. They include:
are 2 types of arithmetic operators.
These operators are commonly used in most of computer languages.
Binary operator: This is used for numerical calculations
between 2 constants values. Unary operator: Unary
operators are increment operator (++), decrement operator ()
and minus ().
Binary operators
Example for unary minus : int x = 10;
There is no unary
plus in ‘C’.
Even though, a value assigned with plus sign is
valid. i.e int x=+50
Here + is valid but in practice, this
sign should not be attached.
Program:
#include < stdio.h> #include < conio.h> void main() { int a, b ; clrscr(); printf("Enter two numbers"); scanf("%d %d’, &a, &b); printf("\n Addition of %d & %d is %d", a ,b .a + b); printf("\n Subtraction of %d & %d is %d", a ,b, ab); printf("\n Multiplication of %d & %d is %d", a, b, a*b); printf("\n division of %d & %d is %d", a ,b, a/b); printf("\n remainder of %d & %d is %d", a, b, a % b); getch(); }
These operators provide the relationship between the two
expressions. If the relation is true then it returns a value 1
otherwise o for false relation .
Relational operators
#include < stdio.h> #include < conio.h> void main() { int a, b ; clrscr(); printf("Enter the values in a and b"); scanf("%d%d", &a, &b); printf("Value of a>b is %d" ,a>b); printf("Value of a < b is %d", a < b); printf("Value of a<=b is %d", a <=b); printf("value of a>=b is %d", a >=b); printf("Value of a!=b is %d", a!=b); printf("Value of a==b is %d", a = =b); getch(); }
The logical relationship between two expressions is checked with
the logical operators. Using these operators two expressions can
be joined. After checking the conditions it provides logical
true (1) or false(0) status. The operands could be constants
variables and expressions.
Logical operators
Exp 1 Exp 2 Exp1 && Exp2 T T T T F F F T F F F F Where Exp = true ! Exp = false Exp = false ! Exp= true Exp 1 Exp 2 Exp1  Exp2 T T T T F T F T T F F FProgram:
#include < stdio.h> #include < conio.h> void main() { int x, y; clrscr(); printf("Enter the vales in x and y\n"); scanf("%d%d", &x, &y); printf("Value of (x= =y)&&(x>y) is %d",(x= =y)&&(x>y)); printf("Value of (x==y)(x>y) is %d", (x==y)(x>y)); printf("Value of !((x>y)&&(x<=y)) is %d", !((x>y)&&(x<=y))); getch(); }
Values can be assigned to variables using the "assignment
operator" (=) as follows:
Syntax:Variablename=constant;
a=10;
b=20;
It is also possible to assign a value to a
variable at the time the variable is declared. This taken the
following form:
Syntax:Data type variable name
=constant;
int a =20;
An assignment statement implies
that the value of variable on the left side of ‘equal sign’ is
set equal to the value of the quantity (or expression) on the
right.
The statement i=i+1; means that the new value of ’i’
is equal to b/d value of i+1.
The process of giving initial
values to variables is called initialization. ’C’ permits the
initialization of more than one variables in one statement using
multiple assignment operators.
P=q=s=0;
Compound
assignment operators (or) Shorthand assignment operators:
+=,=,*=,/=,%=
Ex: a+=5
b=10
Assignment
operators are used to assign the result of an expression to a
variable. We have seen the usual assignment operator, ‘=’.C has
a set of ‘shorthand’ assignment operators of the form
V
op = exp;
Where v is a variable, exp is an expression
and op is a C binary arithmetic operator. The operator op = is
known as the shorthand assignment operator.
The
assignment statement
V op = exp;
is equivalent to
v
= v op (exp);
With v is evaluated only once. Consider
an example
x+=y+1;
This is same as the statement
x=x+(y+1);
The shorthand operator += means ‘add y+1 to x’ or
‘increment x by y+1’.For y=2,the above statement becomes
x+=3;
and when this statement is executed,3 is added to x.
If the old value of x is 5,then the new value of x is 8.some of
the commonly used shorthand assignment operators are illustrated
in the following table:
Statement with simple Statement with Assignment operator shorthand operator a=a+1 a+=1 a=a1 a=1 a=a*(n+1) a*=n+1 a=a/(n+1) a/=n+1 a=a %b a %=bThe use of shorthand assignment operators has 3 advantages:
‘C’ has 2 very useful operator not generally found in other
language. They are increment & decrement operators (++ &
).The operator ++ add 1 to operand while  subtracts 1.Both
are unary operators and take following form.
++a & a++;
a & a;
(Pre decrement) & (post decrement)
++a; is equivalent to a=a+1;(or a+=1)
b; is equivalent to
b=b1;(or b=1)
We use the increment & decrement
statements in for & while loops extensively.
Ex:
1.a=10; ++a (or) a++ a=11 2. int a=10,b; b=++a; a will contain 11 b also will contain 11 3.int a=10,b b=a++ a=11; b=10;Decrement
1. a =10; a (or)a a=9 2 .int a=10,b; b=a; b=9 b=9 3. int a=10,b; b=a; a=9; b=10;
’C’ has a distinction of supporting special operators known as
bitwise operators for manipulation of data at bit level.
These operators may not be applied to float (or) double.
These are classified into 2 types
1. Bitwise logical
operators: These operators are used for the Bitwise
logical decision making.
&Bitwise logical AND

Bitwise logical OR
^Bitwise logical exclusive OR
program
#include < stdio.h> #include < conio.h> void main() { int a,b; clrscr(); printf("enter a,b"); scanf("%d%d",&a,&b); printf("\n a&b = %d",a&b); printf("\n ab =%d",ab); printf("\n a^b =%d",a^b); getch(); }Bitwise shift operators
#include < stdio.h> #include < conio.h> void main() { int a,b,c; clrscr(); c=(a=10,b=20,a+b); printf("\n a=%d",a); printf("\n b=%d",b); printf("\n c=%d",c); getch(); }
The size of is a compile time operator & when used with an
operand, it returns the number of bytes the operand occupies.
The operand may be a variable, a constant or a data type
qualifier Ex: m=sizeof (sum);
n=size of (float); 4
k=size of(23); 2
Ex: int a, b;
Size of (a)2
Size
of (b)2
Size of(c)2
PROGRAM
#include < stdio.h> #indlude < conio.h> void main() { int a,b; clrscr(); printf("%d",sizeof(a)); printf("%d",sizeof(b)); printf("%d",sizeof(a+b)); getch(); }