⯈Algorithm and its Characteristics
⯈Elementary Problems
- Addition of two numbers
- Calculate area and circumference of circle
- Calculate area of triangle
- Calculate simple interest
- Calculate slope and distance between two points
- Convert length in feet to inches
- Weighted score in exam
- Convert temperature in degree Celsius to Fahrenheit
- Swap two numbers
- Swap two numbers without using extra variable
- Overview of C Programming Language
- Getting started with C Programming Language
- Keywords
- Identifiers
- Constants
- Operators
- Expression Evaluation
- Mathematical expression to C equivalent expressions
- Datatypes
- Variables
- Integer representation in C
- Character representation in C
- Type conversion in C
- sizeof operator
- Comments
- Mathematical Functions
- input output statements
- width specifiers in C
- structure of a C program
- header files
- Compilation process of a C program
- Types of initializations.
⯈Basic C Programs
- C program to add two numbers
- C program to find area and circumference of circle
- C program to swap two numbers
- C program to swap two numbers without using extra variable
- C program to swap two numbers using bitwise XOR
- C program to convert temperature in Celsius to Fahrenheit
- C program to calculate gross salary of an employee
- C program to count number of digits in a positive integer
- C program to count number of digits in binary representation
- C program to count number of digits in base ‘K’
- C program to convert kilometer to meter, feet, inches and centimeters
- C program to find first and last digit of a number
- C program to find minimum number of currency denominations
- C program to convert cartesian coordinates to polar coordinates
- C program to find distance between two places on earth in nautical miles
- C program to find slope and distance between two points
- C program to add 1 to the number using ‘+’ operator
- C program to find maximum of two numbers using ternary operator
- C program to find maximum of three numbers using ternary operator
- C program to find kth bit of a number
- C program to find last four bits of a byte
- C Program to reset right most set bit of a number
Expression Evaluation in C
Rules for expression evaluation
- First parenthesized sub-expression is evaluated from left to right.
- Precedence rule is applied to evaluate the sub-expression.
- Associativity rule is applied when two or more operators is a subexpression are of the same precedence.
You may refer to the video posted at the end of this page.
Examples
Assume a = 100, b = 20, c = 10, d = 5, e = 1
Evaluate the following.
- a + b * c / d / e % b
Solution: We first write all the operators available along with the precedence number from the precedence chart.
If same precedence we will apply the associativity rule, for the tie breaker.
operators in the given expression are:
+ -> 4
* -> 3
/ ->3
/ ->3
% ->3
We see that there are four operators with the same precedence. The associativity is from L->R
a + b * c / d / e % b
100 + 20 * 10 / 5 / 1 % 20
100 + 200 / 5 / 1 % 20
100 + 40 / 1 % 20
100+ 40 % 20
100 + 0
100
Evaluate ((c+d) % (d- e))
Solution: We first write all the operators available along with the precedence number from the precedence chart.
If same precedence we will apply the associativity rule, for the tie breaker.
operators in the given expression are:
% -> 3
– -> 4
() ->1
((10+5) % (5 – 1))
Evaluate the inner most brackets first, and the associativity is from LHS -> RHS
Evaluate a+2 > b && !c || a != d && a-2 <= e
a+2 > b && !c || a != d && a-2 <= e
100 + 2 >20 && !10 || 100!=5 && 100-2<=1
100 + 2 >20 && 0 || 100!=5 && 100-2<=1
102 > 20 && 0 || 100!=5 && 100-2<=1
102 > 20 && 0 || 100!=5 && 98<=1
1 && 0 || 100!=5 && 98<=1
1 && 0 || 100!=5 && 0
1 && 0 || 1 && 0
0 || 1 && 0
0 || 0
0
Evaluate 2*((8/5)+(4*(5-3)) % (8 +5 -2))
2*((8/5)+(4*(5-3)) % (8 +5 -2))
2 * (1 + (4 * (5-3)) % (8+5-2))
2 * (1+(4 *2) % (8+5-2))
2 * (1 + 8 % (8 + 5 -2) )
2 * ( 1+8 %(13-2))
2 *(1+8%11)
2 *(1+8)
2 * 9
18
Evaluate (8-3*5) % (2+2*4) / (5- (-1))
(8-3*5) % (2+2*4) / (5- (-1))
(8-3*5) % (2+2*4) / (5-+1)
(8-15) % ( 2+2*4)/(5+1)
-7 % (2+2*4)/(5+1)
-7 %(2+8)/(5+1)
-7 % 10/(5+1)
–7 % 10 / 6
–7 / 6
-1