/* we will be talking about literal constants. we know that there are literal constants, symbolic constants and macro constants. we will only talk about literal constants which are literally the values. there are const for hexa , octal numbers too, i.e for different bases. first type is quotated constants: "c", 'c', there other exist(used for unicode-for other languages), char16_t, char32_t, auto x=5U; means 5 is integer, U means Unsigned integer. but this is c++11 features, so call it via: g++ program.cpp -std=c++11 the way this auto works is that it looks at constant value, and makes that the data type of x, i.e in auto x=5U, auto looks at value which is an int, and will make data type of x to be an int. once the data type is fixed, so we can't update x="some string in double quotes"; auto x=5UL; unsigned long, auto x=5ULL; unsigned long long. auto x=5.0F; to specify auto that it is float; auto x=5.0; means double; auto x=5.0L; means x is long double. : hexadecimal and octal bases: http://www.cs.ucf.edu/courses/cop3502h/spr2007/binaryOctal.pdf 1.decimal int main() { int number=30; std::cout<<number<<std::endl; } The above code will print number : 30 2. hexadecimal: int main() { int number=0x30; std::cout<<number<<std::endl; } The above code will print number : 48 3. octal: int main() { int number=030; std::cout<<number<<std::endl; } The above code will print number : 24 If we want to print a number form decimal to octal and hexadecimal we can do that: int main() { int number=30; std::cout<<std::hex<<number<<std::endl; std::cout<<std::oct<<number<<std::endl; } above will generate: 1e 36 We will now study operators,expressions, operator precedence and associativity. what is an operator: addition operator, substraction operator, and so on. 5+5, 5*5, 5/5,5-5, assignment operator which is just "=". Operator precedence and associativity: int main() { int x=5+5; int y=5*5; int z=5-5; int m=6/5; it will do integer division. out put is 1. double n=6/5; will also output 1, so to get correct result double n=6.0/5; will work fine. double rem=10%4; will find remainder. which is 2. multiplication and division happens first and then we do addition and substraction. double x=10+4/3 will result in output 11. Associativity provides direction in which expression is calculated. airthmetic operators (https://en.cppreference.com/w/cpp/language/operator_precedence) }