Lec4 (C Program)
Lec4 (C Program)
CONTENTS
OPERATORS
EXPRESSIONS
PRECEDENCE
TYPE CONVERSION IN EXPRESSIONS
CASTING A VALUE
MATHEMATICAL FUNCTIONS
OPERATORS
ARITHMETIC
RELATIONAL
LOGICAL
ASSIGNMENT
INCREMENT AND DECREMENT
CONDITIONAL
BITWISE
SPECIAL
ARITHMETIC OPERATORS
OPERATOR MEANING
+ ADDITION
- SUBTRACTION
* MULTIPLICATION
/ DIVISION
% MODULO DIVISON
KEY POINTS
EXAMPLE: a+b
a-b a+b
a*b a/b
a%b -a*b
Suppose that a and b are integer variables whose values are
10 and 3.
expression value
a+b 8
a-b 14
a*b -33
a/b -3
a%b 2
Suppose that a and b are integer variables whose values are
11 and -3.
expression value
a+b 13
a-b 7
a*b 30
a/b 3
a%b 1
KEY POINYS (%)
-14%3 -2
-14%-3 -2
14%3 2
RELATIONAL OPERATORS
OPERATOR MEANING
< Less than
<= Less than or equal to
> Greater than
>= Greater than or equal to
== Equal to
!= Not equal to
EXAMPLE
4.5<=10 TRUE
4.5<-10 FALSE
-35>=0 FALSE
10<7+5 TRUE
A+B=C+D ?
LOGICAL OPERATORS
OPERATOR MEANING
|| Logical OR
! Logical NOT
KEY POINTS
a>b || x==10
ASSIGNMENT OPERATORS
v op=exp;
STATEMENT SHORTHANT
a=a+1; a+=1;
a=a*(n+1); a*=n+1;
a=a%b; a%=b
INCREMENT AND DECREMENT OPERATORS
OPERATOR MEANING
++ Increment
-- Decrement
KEY POINTS
The operator ++ adds 1 to the operand while --subtracts 1.
EXAMPLE
OPERATOR EQUIVALENT
STATEMENT OUTPUT
printf(“i=%d\n”,i); i=1
printf(“i=%d\n”,++i); i=2
printf(“i=%d\n”,i); i=2
STATEMENT OUTPUT
printf(“i=%d\n”,i); i=1
printf(“i=%d\n”,i++); i=1
printf(“i=%d\n”,i); i=2
CONDITIONAL OPERATOR
General format
EXAMPLE
A=10;
B=15;
C=(A>B)? A:B;
BITWISE OPERATORS
OPERATOR MEANING
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
<< Shift left
>> Shift right
~ One's complement
OPERATORS SYMBOL
comma ,
sizeof sizeof
pointer & and *
member selection . and ->
EXAMPLE
COMMA OPERATOR
value=(x=10,y=5,x+y);
SIZEOF OPERATOR
m=sizeof(sum);
n=sizeof(long int);
KEY POINT
}
EXPRESSIONS
x=9-12/3+3*2-1 (step 1)
x=9-4+3*2-1 (step 2)
x=9-4+6-1 (step 3)
x=5+6-1 (step 4)
x=11-1 (step 5)
x=10
PRECEDENCE of arithmetic operator [ with () ]
y<10 if true
x==25 if false
Because < is higher priority than ==, so y<10 is tested first.