⯈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

## Assignment operator in C

- The operator for assignment is
**‘=’.** - The other operators that we can use is +=, -=, *=, /=. %=, >>=, <<=, &=, ^=, |= (This is also called as shorthand notation)
**The general form is.****LHS = RHS;**- Evaluate the RHS first and store the answer in the LHS variable.
**There cannot be any constant on the LHS of assignment.**- 4 = x is an error, it says store x in 4, which is mathematical error, we cannot update the value of constants.

**There cannot be any expressions on the LHS of assignment.**- a+b = c is an error, it says store c in a+b.

**There should be only one variable on the LHS of assignment.**

Examples:

**a = 4**, it says store the value of a in 4.**a = b+c**, store the value of b+c in a.

### Multiple Assignment

We can initialize multiple values using the assignment operator.

a = b = c = 10;

In the above expression we have three assignment operators. The assignment operator has the associativity from RHS to LHS. Therefore we first execute c = 10. The value 10 is stored in ‘c’.

The next statement that gets executed is b = c, store the value c in b. Therefore b = 10.

The next statement that gets executed is a = b, store the value b in a. Therefore a = 10.

The following expression is invalid,

a = b = 4 = c;

Since, there is a constant on the LHS of the assignment operator.

### Short-hand notation in C

If we have the expression as,

**a = a + b**, then we can write it as,**a+=b;****a = a * b**, can be written as**a*=b;****a = a>>b**, can be written as**a>>=b;**

if a = 4, b = 5 and c = 6, then

**a = a * b + ****c ****is NOT** same as** a*=b+c**

**a = a * b + c, says evaluate RHS first and store the answer in LHS.**

**a = 4 * 5 + 6 = 26**

But,

**a * = b+c, says evaluate b+c first, then multiply the answer with ‘a’**

a * = 5 +6

a * = 11

**a = 4 * 11 = 44 **