C++ Basics
A First Program - Greeting.cpp Preprocessor directives Function named main() indicates start of program // Program: Display greetings #include <iostream> using namespace std; int main() { cout << "!!!Hello World!!!" << endl; return 0; } Insertion operator Ends executions of main() which ends program Insertion statement Comments Provides simple access Function
Output
Contents Escape Sequences Variables and Data types Basic Input in c++ Arithmetic Operators Operator Precedence
Comments in C++ Single line comments (//) Multiple line comments (/*.*/)
Escape sequences Escape Sequence Description \n New Line \t Tab space \r Carriage return \a Alert. Sound system bell \\ Print back slash character \ Print single quote character \ Print double quote character
New Line Character \n #include<iostream> using namespace std; int main ( ) { cout << "Hello \n Welcome to C++"; return 0; } Output: Hello Welcome to C++
New Line Character \n #include<iostream> using namespace std; int main ( ) { cout << "Hello \n"; cout<< Welcome to C++"; return 0; } Output: Hello Welcome to C++
Tab space \t #include<iostream> using namespace std; int main (void) { cout << "Hello \n"; cout<< Hello! \t Welcome to C++ ; return 0; } Output: Hello Hello! Welcome to C++
Bits & Bytes A bit is a single numeric value either 1 or 0. that encodes a single unit of digital information. A byte is a sequence of bits. 8 bits=1 byte.
Variables A storage box, its type defines the kind of stuff you store in it E.g. shoe box used for shoes Jewelry box used for jewelry CD kit used for CDs 12
Variable Variable is a box In computer, a storage box is a memory location on RAM 13
Memory in Computer First you ask computer to give you a box and you also have to specify what type of box you want Each little box is a memory location Occupied Memory Spaces Free Memory Spaces 14
Data Types A computer program operates on data and produces an output. In C++, each data must be of specific data type. The data type determines how the data is represented in the computer and kind of processing the computer can perform on it. Types of data integer (int) Float (float) Boolean Characters (char) 15
Integers (int) integers are whole numbers with a range of values. used to store numbers Example: 5, 6, 100, 2500 On a 32-bit system such as Windows, an int occupies 4 bytes (which is 32 bits) of memory. This allows an int to hold numbers in the range from 2,147,483,648 to 2,147,483,647. 16
Float used to represent floating point numbers. Examples: 9.1314, 3.1254 Occupies 4 bytes (32 bits) in memory 17
Character Character types can hold a single character. Occupy only 1 byte (eight bits) of memory. Commonly used to store ASCII characters. 18
ASCII Coding System American Standard Code for Information Interchange (ASCII) Originally designed as a 7-bit code purpose was to standardize a binary code to give the computer user the capability of using several machines to process data regardless of the manufacturer for transmitting and processing data 8-bit version of ASCII
boolean Boolean or Flag type is a type which can represent only two values: 0 and 1, usually identified with false and true respectively. This type can be stored in memory using a single bit. e.g. main() { } bool x=true; //or x=false 21
Variables A storage box, its type defines the kind of stuff you store in it In computer, a storage box is a memory location on RAM 22
Memory in Computer First you ask computer to give you a box and you also have to specify what type of box you want Each little box is a memory location Occupied Memory Spaces Free Memory Spaces 23
Rules for Variable Naming You can use upper and lowercase letters, digits from 0 to 9 and underscore ( _ ). The first character must be letter or underscore ( _ ). Identifier can be as long as you like but only the first 250 character are recognizable in C++ Compiler.
Integer Variables Example #include<iostream> using namespace std; int main ( ) { int var1; //define var1 int var2; //define var2 var1 = 20; //assign value to var1 var2 = var1 + 10; //assign value to var2 cout<< Result = ; cout<<var2<< endl; //displaying the sum of var1 + 10 return 0; } Output: Result=30
Character Variable Example #include<iostream> using namespace std; int main ( ) { char charvar1 = A ; //define char variable char charvar2 = \t ; cout << charvar1; // display character cout << charvar2; charvar1 = B ; //reassigning charvar1 to B cout << charvar1; return 0; } Output: A B
Float Variable Example #include<iostream> using namespace std; int main ( ) { float radius=2; float Pi =3.14; cout <<"Area is " << Pi * rad * rad<< endl; return 0; } Output: Area is 12.56
Constant values used in a program that are not changed during the course of program. e.g. Circumference=2*pi*r. area=pi*r*r pi can be declared as a constant here. 28
Defining constant main() } { const int i = 5; i = 10; //error, can not modify constant i++; // error, can not modify constant
Basic Input in c++ cin with extraction operators >>. cin>> tells computer to wait for input from user (keyboard). When a value is entered, it needs to be stored/boxed in the appropriate variable.
Input example int age; cin >> age; 31
Arithmetic operators Addition + Subtraction - Multiplication * Division / Remainder % Shorthand: a=a+b a=a-b a=a*b a=a/b a=a%b a+=b a-=b a*=b a/=b a%=b 34
Operator precedence ( ) * / % + - 35
Activity 4 What prints when each of the following c++ statement is executed? Assume x=2 and y=3. 1. cout<<x; 2. cout<<x+x; 3. cout<< x= ; 4. cout<< x= <<x; 5. cout<<x+y<< = <<y+x;
Increment Operators You often need to add 1 to the value of an existing variable. Normal way to do this is count = count + 1; Or using an arithmetic assignment operator count += 1; Another approach is ++count; The ++ operator increments its arguments.
Increment Operators Prefix and Postfix The increment operator can be used in two ways Prefix: meaning that the operator precedes the variable Postfix: meaning that operator follows the variable. Example: 1. result = result * ++count; Note: In this scenario count is incremented first than multiplied by result. 2. result = result * count++
Increment Operator Example int main () { int count = 10; cout<< count = <<count; // count=10 cout<< count= << ++count; //count = 11 cout<< count= <<count++; //count = 11 cout<< count= <<count; //count = 12 return 0; }
Integer and Float Conversion rules that are used for implicit conversion of floating point and integer values in C++ are; An arithmetic operation between an integer and integer always yields an integer result. Operation between a real and real always yields a real result Operation between an integer and real always yields a real result.
Type Conversion In Assignment In some Cases, it may happen that the type of the expression on the right hand side and the type of the variable on the left hand side of the assignment operator may not be same. In that case the value of the expression is promoted or demoted depending on the type of the variable on left hand side of assignment operator.
Type Conversion in Assignments Example int i; float y; i = 35.9; y = 10; As 35.9 is of float type it cannot be stored in i of int type. In this case float is demoted to an int and then value is stored in i. So the value of i will be 35. Same will happen in y i.e. 10 will be promoted to 10.00 and then will be stored in y.
Type Conversion in Assignment float a=1.0, b = 2.0, c = 10.0; int s; s = a * b * c / 100 + 32 / 4 3 * 1.1; In the above example, some of the operands are of type int and some of them are of type float. As we know during evaluation of the expression int will be promoted to float and result would be of type float. But when this float value is assigned to s, it is again demoted to an int and then stored in s.