SlideShare a Scribd company logo
Introduction to C++
(CS1123)
By
Dr. Muhammad Aleem,
Department of Computer Science,
Mohammad Ali Jinnah University, Islamabad
Fall 2013
History
• C evolved from two languages (BCPL and B)
• 1980: “C with Classes”
• 1985: C++ 1.0
• 1995: Draft standard
• Developed by Bjarne Stroustrup at Bell Labs
• Based on C, added Object-Oriented
Programming concepts (OOP) in C
• Similar program performance (compared to C)
C vs C++
• Advantages:
– 1. Faster development time (code reuse)
– 2. Creating / using new data types is easier
– 3. Easier memory management
– 4. Stricter syntax & type checking => less bugs
– 5. Easier to implement Data hiding
– 6. Object Oriented concepts
C++ Program Structure
//My first program in C++ First.cpp
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
Preprocessor
Directive (no ;)
IDE and Compilation Steps
C++
Preprocessor
First.cpp
C++ Compiler Linker First.exe
C++ Header
Files
Object code for
library function
Integrated Development Environments (IDEs)
• An IDE is a software application which provides a
comprehensive facility to programmers to Write /Edit
/Debug /Compile the code
• Main components:
–Source code editor
–Debugger
–Complier
–…
IDEs on Windows platform
• Turbo C++
• Microsoft Visual C++
• Dev C++
Input / Output Example
#include <iostream>
#include <string>
using namespace std;
int main ( )
{
string name; //Name of student
cout<< “Enter you name";
cin>>name;
/* Now print hello , and students name */
cout<< “Hello “ << name;
return 0;
}
Comments
• Two types of comments
1. Single line comment //….
2. Multi-line (paragraph) comment /* */
• When compiler sees // it ignores all text after this on
same line
• When it sees /*, it scans for the text */ and ignores
any text between /* and */
Preprocessor Directives
• #include<iostream>
• # is a preprocessor directive.
• The preprocessor runs before the actual compiler and
prepares your program for compilation.
• Lines starting with # are directives to preprocessor to
perform certain tasks, e.g., “include” command
instructs the preprocessor to add the iostream library
in this program
Header files (functionality declarations)
(Turbo C++) (Visual C++)
• #include<iostream.h> or #include <iostream>
• #include<stdlib.h> or #include<stdlib>
• …
std:: Prefix
• std::cout<“Hello World”;
• std::cout<<Marks;
• std::cout<<“Hello ”<<name;
• Scope Resolution Operator ::
• std is a namespace, Namespaces ?
using namespace std;
cout<<“Hello World”;
cout<<Marks;
cout<<“Hello ”<<name;
Namespaces
• Namespace pollution
– Occurs when building large systems from pieces
– Identical globally-visible names clash
– How many programs have a “print” function?
– Very difficult to fix
Namespaces
namespace Mine
{
const float pi = 3.1415925635;
}
void main(){
float x = 6 + Mine::pi;
cout<<x;
}
Multiple Namespaces
• Example…
Omitting std:: prefix
- using directive brings namespaces or its sub-items
into current scope
#include<iostream>
using namespace std;
int main()
{
cout<<“Hello World!”<<endl;
cout<<“Bye!”;
return 0;
}
main( ) function
• Every C++ program start executing from main ( )
• A function is a construct that contains/encapsulates
statements in a block.
• Block starts from “{“ and ends with “}” brace
• Every statement in the block must end with a
semicolon ( ; )
• Examples…
cout and endl
• cout (console output) and the operator
• << referred to as the stream insertion operator
• << “Inserts values of data-items or string to
screen.”
• >> referred as stream extraction operator, extracts
value from stream and puts into “Variables”
• A string must be enclosed in quotation marks.
• endl stands for end line, sending ‘endl’ to the
console outputs a new line
Input and type
–cin>>name; reads characters until a
whitespace character is seen
–Whitespace characters:
• space,
• tab,
• newline {enter key}
Variables
- Variables are identifiers which represent
some unknown, or variable-value.
- A variable is named storage (some
memory address’s contents)
x = a + b;
Speed_Limit = 90;
Variable declaration
TYPE <Variable Name> ;
Examples:
int marks;
double Pi;
int suM;
char grade;
- NOTE: Variable names are case sensitive in C++ ??
Variable declaration
• C++ is case sensitive
–Example:
area
Area
AREA
ArEa
are all seen as different variables
Names
Valid Names
• Start with a letter
• Contains letters
• Contains digits
• Contains underscores
• Do not start names with underscores: _age
• Don’t use C++ Reserve Words
C++ Reserve Words
• auto break
• case char
• const continue
• default do
• double else
• enum extern
• float for
• goto if
int long
register return
short signed
sizeof static
struct switch
typedef union
unsigned void
volatile while
Names
• Choose meaningful names
– Don’t use abbreviations and acronyms: mtbf, TLA,
myw, nbv
• Don't use overly long names
• Ok:
partial_sum
element_count
staple_partition
• Too long (valid but not good practice):
remaining_free_slots_in_the_symbol_table
Which are Legal Identifiers?
AREA
2D
Last Chance
x_yt3
Num-2
Grade***
area_under_the_curve
_Marks
#values
areaoFCirCLe
%done
return
Ifstatement
String input (Variables)
// Read first and second name
#include<iostream>
#include<string>
int main() {
string first;
string second;
cout << “Enter your first and second names:";
cin >> first >> second;
cout << "Hello “ << first << “ “ << second;
return 0;
}
Declaring Variables
• Before using you must declare the variables
Declaring Variables…
• When we declare a variable, what happens ?
– Memory allocation
• How much memory (data type)
– Memory associated with a name (variable name)
– The allocated space has a unique address
Marks
FE07
%$^%$%$*^%int Marks;
Using Variables: Initialization
• Variables may be given initial values, or
initialized, when declared. Examples:
int length = 7 ;
float diameter = 5.9 ;
char initial = ‘A’ ;
7
5.9
‘A’
length
diameter
initial
• Are the two occurrences of “a” in this expression the
same?
a = a + 1;
One on the left of the assignment refers to the location
of the variable (whose name is a, or address);
One on the right of the assignment refers to the value of
the variable (whose name is a);
• Two attributes of variables lvalue and rvalue
• The lvalue of a variable is its address
• The rvalue of a variable is its value
rvalue and lvalue
• Rule: On the left side of an assignment there
must be a lvalue or a variable (address of
memory location)
int i, j;
i = 7;
7 = i;
j * 4 = 7;
rvalue and lvalue
Data Types
Three basic PRE-DEFINED data types:
1. To store whole numbers
– int, long int, short int, unsigned int
2. To store real numbers
– float, double
3. Characters
– char
Types and literals
• Built-in types
– Boolean type
• bool
– Character types
• char
– Integer types
• int
–and short and
long
– Floating-point types
• double
–and float
• Standard-library types
– string
Literals
• Boolean: true, false
• Character literals
– 'a', 'x', '4', 'n', '$'
• Integer literals
– 0, 1, 123, -6,
• Floating point literals
– 1.2, 13.345, 0.3, -0.54,
• String literals
– "asdf”, “Helllo”, Pakistan”
Types
• C++ provides a set of types
– E.g. bool, char, int, double called “built-in types”
• C++ programmers can define new types
– Called “user-defined types”
• The C++ standard library provides a set of types
– E.g. string, vector, ..
– (for vector type  #include<vector> )
Declaration and initialization
int a = 7;
int b = 9;
char c = 'a';
double x = 1.2;
string s1 = "Hello, world";
string s2 = "1.2";
7
9
a
1.2
Hello, world
1.2
char type
• Reserves 8 bits or 1 byte of memory
• A char variable may represent:
– ASCII character 'A‘, 'a‘, '1‘, '4‘, '*‘
– signed integers 127 to -128 (Default)
– unsigned integer in range 255 to 0
Examples:
–char grade;
–unsigned char WeekNumber= 200;
–char cGradeA = 65;
–char cGradeAA = ‘A';
char type
• Example program…
Special characters
• Text string special characters (Escape Sequences)
– n = newline
– r = carriage return
– t = tab
– " = double quote
– ? = question
–  = backslash
– ' = single quote
• Examples:
cout << "Hellot" << "I’m Bobn";
cout << "123nabc “;
Escape Sequence
• Example Program:
int type
• 16 bits (2 bytes) on Windows 16-bits
– int -32,768 to 32,767
– unsigned int 0 to 65,535
– Also on Turbo C++, 2 bytes for int
• 32 bits (4 bytes) on Win32 (Visual C++)
– int -2,147,483,648 to 2,147,483,647
– unsigned int 0 to 4,294,967,295
int type
• Examples:
int earth_diameter;
int seconds_in_week= 604800;
unsigned int Height = 100;
unsigned int Width = 50000;
int type (long and short)
• long int
–reserves 32 bits (4 bytes) of memory
–signed long -2,147,483,648 to 2,147,483,647
–unsigned long int 0 to 4,294,967,295
• short int
–reserves 16 bits (2 bytes) of memory
–signed short int -32,768 to 32,767
–unsigned short int 0 to 65,535
int (long and short)
• Examples:
long int light_speed=186000;
unsigned long int seconds= 604800;
short int Height = 30432;
unsigned short int Width = 50000;
Home Work-1
• Use Visual C++ on Windows and get information
for following data types:
– int
– short
– long int
– short int
– char
• Use ( cout << sizeof( intVar ); ) operator to get
this information, Example:…
Real Values
• float
– Reserves 32 bits (4 bytes) of memory
– + 1.180000x10
+38
, 7-digit precision
– Example: float radius= 33.4221;
• double
– Reserves 64 bits (8 bytes) of memory
– + 1.79000000000000x10
+308
, 15-digit precision
– Example: double Distance = 257.5434342;
• long double
– Reserves 80 bits (10 bytes) of memory , 18-digit precision
– Example: long double EarthMass = 25343427.53434233;
Home Work-2
• Use Visual C++ on Windows and get information
for following data types:
– float
– double
– long double
• Use ( cout << sizeof(floatVar); ) operator to get
this information, Example:…
bool Type
• Only 1 bit of memory required
– Generally, 1 byte because is reserved
• Literal values:
– true
– false
• Can be used in logical conditions:
– Examples:
bool RainToday=false;
bool passed;
passed = GetResult(80);
string type
• Special data type supports working with “strings”
#include <string>
string <variable_name> = “string literal”;
• string type variables in programs:
string firstName, lastName;
• Using with assignment operator:
firstName = “Mohammad";
lastName = “Ali";
• Display using cout
cout << firstName << " " << lastName;
Getting input in string with Spaces
string s1;
cin>> s1; //Spaces will not be input in s1
//Following statements read spaces in “string”
string s1;
getline(cin, s1); //Spaces will be input in s1
string type
• Find Errors in the example program…

More Related Content

What's hot (20)

PPTX
45 Days C++ Programming Language Training in Ambala
jatin batra
 
PPTX
C++ PROGRAMMING BASICS
Aami Kakakhel
 
PDF
Introduction to cpp
Nilesh Dalvi
 
PPT
Basics of c++
Madhavendra Dutt
 
ODP
(2) cpp imperative programming
Nico Ludwig
 
PPT
C++ Overview
kelleyc3
 
PPT
Advanced Programming C++
guestf0562b
 
PPT
C++ Language
Syed Zaid Irshad
 
PPTX
Introduction to C++
Sikder Tahsin Al-Amin
 
PPTX
C++ presentation
SudhanshuVijay3
 
PPTX
C++ language basic
Waqar Younis
 
PPS
basics of C and c++ by eteaching
eteaching
 
PPTX
C++ Programming Language Training in Ambala ! Batra Computer Centre
jatin batra
 
PPTX
Intro to c++
temkin abdlkader
 
PPTX
Presentation on C++ Programming Language
satvirsandhu9
 
PPTX
Introduction to c++
Himanshu Kaushik
 
PPTX
POLITEKNIK MALAYSIA
Aiman Hud
 
PPTX
Learning C++ - Introduction to c++ programming 1
Ali Aminian
 
PPT
Getting Started with C++
Praveen M Jigajinni
 
PPTX
C++ theory
Shyam Khant
 
45 Days C++ Programming Language Training in Ambala
jatin batra
 
C++ PROGRAMMING BASICS
Aami Kakakhel
 
Introduction to cpp
Nilesh Dalvi
 
Basics of c++
Madhavendra Dutt
 
(2) cpp imperative programming
Nico Ludwig
 
C++ Overview
kelleyc3
 
Advanced Programming C++
guestf0562b
 
C++ Language
Syed Zaid Irshad
 
Introduction to C++
Sikder Tahsin Al-Amin
 
C++ presentation
SudhanshuVijay3
 
C++ language basic
Waqar Younis
 
basics of C and c++ by eteaching
eteaching
 
C++ Programming Language Training in Ambala ! Batra Computer Centre
jatin batra
 
Intro to c++
temkin abdlkader
 
Presentation on C++ Programming Language
satvirsandhu9
 
Introduction to c++
Himanshu Kaushik
 
POLITEKNIK MALAYSIA
Aiman Hud
 
Learning C++ - Introduction to c++ programming 1
Ali Aminian
 
Getting Started with C++
Praveen M Jigajinni
 
C++ theory
Shyam Khant
 

Viewers also liked (15)

PPT
Turbo C
nat236
 
PDF
Operating Systems - Intro to C++
Emery Berger
 
PPTX
Turbo c++
vaibhav1996
 
PPT
Apclass
geishaannealagos
 
PPT
Apclass (2)
geishaannealagos
 
PPT
CBSE Class XI Programming in C++
Pranav Ghildiyal
 
PDF
Multidimensional arrays in C++
Ilio Catallo
 
PPT
Overview of c++
geeeeeet
 
PPTX
Understand Decision structures in c++ (cplusplus)
Muhammad Tahir Bashir
 
PPTX
Overview of c++ language
samt7
 
PDF
Assembly language 8086 intermediate
John Cutajar
 
PDF
Revision notes for exam 2011 computer science with C++
Deepak Singh
 
PPT
Structure of C++ - R.D.Sivakumar
Sivakumar R D .
 
Turbo C
nat236
 
Operating Systems - Intro to C++
Emery Berger
 
Turbo c++
vaibhav1996
 
Apclass (2)
geishaannealagos
 
CBSE Class XI Programming in C++
Pranav Ghildiyal
 
Multidimensional arrays in C++
Ilio Catallo
 
Overview of c++
geeeeeet
 
Understand Decision structures in c++ (cplusplus)
Muhammad Tahir Bashir
 
Overview of c++ language
samt7
 
Assembly language 8086 intermediate
John Cutajar
 
Revision notes for exam 2011 computer science with C++
Deepak Singh
 
Structure of C++ - R.D.Sivakumar
Sivakumar R D .
 
Ad

Similar to Cs1123 3 c++ overview (20)

PPTX
Cs1123 11 pointers
TAlha MAlik
 
PPTX
C
Jerin John
 
PPTX
C language
Mukul Kirti Verma
 
PDF
THE C++ LECTURE 2 ON DATA STRUCTURES OF C++
sanatahiratoz0to9
 
PDF
2 BytesC++ course_2014_c1_basicsc++
kinan keshkeh
 
PPTX
C++ process new
敬倫 林
 
PDF
Modern C++
Michael Clark
 
PPT
CPlusPus
rasen58
 
PPT
Abhishek lingineni
abhishekl404
 
PPT
C++_programs.ppt
JayarAlejo
 
PPT
C++ programming: Basic introduction to C++.ppt
yp02
 
PPT
C++_programs.ppt
Dikshithkumar10
 
PPT
C++_programs.ppt
EPORI
 
PPT
C++_programs.ppt
TeacherOnat
 
PPT
C++_programs.ppt
Infotech27
 
PPT
C++_programs.ppt
JayarAlejo
 
PPTX
Dr.C S Prasanth-Physics ppt.pptx computer
kavitamittal18
 
PDF
C programming language
Mahmoud Eladawi
 
PPT
C cpluplus 2
sanya6900
 
Cs1123 11 pointers
TAlha MAlik
 
C language
Mukul Kirti Verma
 
THE C++ LECTURE 2 ON DATA STRUCTURES OF C++
sanatahiratoz0to9
 
2 BytesC++ course_2014_c1_basicsc++
kinan keshkeh
 
C++ process new
敬倫 林
 
Modern C++
Michael Clark
 
CPlusPus
rasen58
 
Abhishek lingineni
abhishekl404
 
C++_programs.ppt
JayarAlejo
 
C++ programming: Basic introduction to C++.ppt
yp02
 
C++_programs.ppt
Dikshithkumar10
 
C++_programs.ppt
EPORI
 
C++_programs.ppt
TeacherOnat
 
C++_programs.ppt
Infotech27
 
C++_programs.ppt
JayarAlejo
 
Dr.C S Prasanth-Physics ppt.pptx computer
kavitamittal18
 
C programming language
Mahmoud Eladawi
 
C cpluplus 2
sanya6900
 
Ad

More from TAlha MAlik (11)

PPTX
Data file handling
TAlha MAlik
 
PPTX
Cs1123 12 structures
TAlha MAlik
 
PPTX
Cs1123 10 file operations
TAlha MAlik
 
PPTX
Cs1123 8 functions
TAlha MAlik
 
PPTX
Cs1123 6 loops
TAlha MAlik
 
PPTX
Cs1123 7 arrays
TAlha MAlik
 
PPTX
Cs1123 5 selection_if
TAlha MAlik
 
PPTX
Cs1123 4 variables_constants
TAlha MAlik
 
PPTX
Cs1123 2 comp_prog
TAlha MAlik
 
PPTX
Cs1123 1 intro
TAlha MAlik
 
PPTX
Cs1123 9 strings
TAlha MAlik
 
Data file handling
TAlha MAlik
 
Cs1123 12 structures
TAlha MAlik
 
Cs1123 10 file operations
TAlha MAlik
 
Cs1123 8 functions
TAlha MAlik
 
Cs1123 6 loops
TAlha MAlik
 
Cs1123 7 arrays
TAlha MAlik
 
Cs1123 5 selection_if
TAlha MAlik
 
Cs1123 4 variables_constants
TAlha MAlik
 
Cs1123 2 comp_prog
TAlha MAlik
 
Cs1123 1 intro
TAlha MAlik
 
Cs1123 9 strings
TAlha MAlik
 

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 

Cs1123 3 c++ overview

  • 1. Introduction to C++ (CS1123) By Dr. Muhammad Aleem, Department of Computer Science, Mohammad Ali Jinnah University, Islamabad Fall 2013
  • 2. History • C evolved from two languages (BCPL and B) • 1980: “C with Classes” • 1985: C++ 1.0 • 1995: Draft standard • Developed by Bjarne Stroustrup at Bell Labs • Based on C, added Object-Oriented Programming concepts (OOP) in C • Similar program performance (compared to C)
  • 3. C vs C++ • Advantages: – 1. Faster development time (code reuse) – 2. Creating / using new data types is easier – 3. Easier memory management – 4. Stricter syntax & type checking => less bugs – 5. Easier to implement Data hiding – 6. Object Oriented concepts
  • 4. C++ Program Structure //My first program in C++ First.cpp #include <iostream> using namespace std; int main () { cout << "Hello World!"; return 0; } Preprocessor Directive (no ;)
  • 5. IDE and Compilation Steps C++ Preprocessor First.cpp C++ Compiler Linker First.exe C++ Header Files Object code for library function
  • 6. Integrated Development Environments (IDEs) • An IDE is a software application which provides a comprehensive facility to programmers to Write /Edit /Debug /Compile the code • Main components: –Source code editor –Debugger –Complier –…
  • 7. IDEs on Windows platform • Turbo C++ • Microsoft Visual C++ • Dev C++
  • 8. Input / Output Example #include <iostream> #include <string> using namespace std; int main ( ) { string name; //Name of student cout<< “Enter you name"; cin>>name; /* Now print hello , and students name */ cout<< “Hello “ << name; return 0; }
  • 9. Comments • Two types of comments 1. Single line comment //…. 2. Multi-line (paragraph) comment /* */ • When compiler sees // it ignores all text after this on same line • When it sees /*, it scans for the text */ and ignores any text between /* and */
  • 10. Preprocessor Directives • #include<iostream> • # is a preprocessor directive. • The preprocessor runs before the actual compiler and prepares your program for compilation. • Lines starting with # are directives to preprocessor to perform certain tasks, e.g., “include” command instructs the preprocessor to add the iostream library in this program
  • 11. Header files (functionality declarations) (Turbo C++) (Visual C++) • #include<iostream.h> or #include <iostream> • #include<stdlib.h> or #include<stdlib> • …
  • 12. std:: Prefix • std::cout<“Hello World”; • std::cout<<Marks; • std::cout<<“Hello ”<<name; • Scope Resolution Operator :: • std is a namespace, Namespaces ? using namespace std; cout<<“Hello World”; cout<<Marks; cout<<“Hello ”<<name;
  • 13. Namespaces • Namespace pollution – Occurs when building large systems from pieces – Identical globally-visible names clash – How many programs have a “print” function? – Very difficult to fix
  • 14. Namespaces namespace Mine { const float pi = 3.1415925635; } void main(){ float x = 6 + Mine::pi; cout<<x; }
  • 16. Omitting std:: prefix - using directive brings namespaces or its sub-items into current scope #include<iostream> using namespace std; int main() { cout<<“Hello World!”<<endl; cout<<“Bye!”; return 0; }
  • 17. main( ) function • Every C++ program start executing from main ( ) • A function is a construct that contains/encapsulates statements in a block. • Block starts from “{“ and ends with “}” brace • Every statement in the block must end with a semicolon ( ; ) • Examples…
  • 18. cout and endl • cout (console output) and the operator • << referred to as the stream insertion operator • << “Inserts values of data-items or string to screen.” • >> referred as stream extraction operator, extracts value from stream and puts into “Variables” • A string must be enclosed in quotation marks. • endl stands for end line, sending ‘endl’ to the console outputs a new line
  • 19. Input and type –cin>>name; reads characters until a whitespace character is seen –Whitespace characters: • space, • tab, • newline {enter key}
  • 20. Variables - Variables are identifiers which represent some unknown, or variable-value. - A variable is named storage (some memory address’s contents) x = a + b; Speed_Limit = 90;
  • 21. Variable declaration TYPE <Variable Name> ; Examples: int marks; double Pi; int suM; char grade; - NOTE: Variable names are case sensitive in C++ ??
  • 22. Variable declaration • C++ is case sensitive –Example: area Area AREA ArEa are all seen as different variables
  • 23. Names Valid Names • Start with a letter • Contains letters • Contains digits • Contains underscores • Do not start names with underscores: _age • Don’t use C++ Reserve Words
  • 24. C++ Reserve Words • auto break • case char • const continue • default do • double else • enum extern • float for • goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
  • 25. Names • Choose meaningful names – Don’t use abbreviations and acronyms: mtbf, TLA, myw, nbv • Don't use overly long names • Ok: partial_sum element_count staple_partition • Too long (valid but not good practice): remaining_free_slots_in_the_symbol_table
  • 26. Which are Legal Identifiers? AREA 2D Last Chance x_yt3 Num-2 Grade*** area_under_the_curve _Marks #values areaoFCirCLe %done return Ifstatement
  • 27. String input (Variables) // Read first and second name #include<iostream> #include<string> int main() { string first; string second; cout << “Enter your first and second names:"; cin >> first >> second; cout << "Hello “ << first << “ “ << second; return 0; }
  • 28. Declaring Variables • Before using you must declare the variables
  • 29. Declaring Variables… • When we declare a variable, what happens ? – Memory allocation • How much memory (data type) – Memory associated with a name (variable name) – The allocated space has a unique address Marks FE07 %$^%$%$*^%int Marks;
  • 30. Using Variables: Initialization • Variables may be given initial values, or initialized, when declared. Examples: int length = 7 ; float diameter = 5.9 ; char initial = ‘A’ ; 7 5.9 ‘A’ length diameter initial
  • 31. • Are the two occurrences of “a” in this expression the same? a = a + 1; One on the left of the assignment refers to the location of the variable (whose name is a, or address); One on the right of the assignment refers to the value of the variable (whose name is a); • Two attributes of variables lvalue and rvalue • The lvalue of a variable is its address • The rvalue of a variable is its value rvalue and lvalue
  • 32. • Rule: On the left side of an assignment there must be a lvalue or a variable (address of memory location) int i, j; i = 7; 7 = i; j * 4 = 7; rvalue and lvalue
  • 33. Data Types Three basic PRE-DEFINED data types: 1. To store whole numbers – int, long int, short int, unsigned int 2. To store real numbers – float, double 3. Characters – char
  • 34. Types and literals • Built-in types – Boolean type • bool – Character types • char – Integer types • int –and short and long – Floating-point types • double –and float • Standard-library types – string Literals • Boolean: true, false • Character literals – 'a', 'x', '4', 'n', '$' • Integer literals – 0, 1, 123, -6, • Floating point literals – 1.2, 13.345, 0.3, -0.54, • String literals – "asdf”, “Helllo”, Pakistan”
  • 35. Types • C++ provides a set of types – E.g. bool, char, int, double called “built-in types” • C++ programmers can define new types – Called “user-defined types” • The C++ standard library provides a set of types – E.g. string, vector, .. – (for vector type  #include<vector> )
  • 36. Declaration and initialization int a = 7; int b = 9; char c = 'a'; double x = 1.2; string s1 = "Hello, world"; string s2 = "1.2"; 7 9 a 1.2 Hello, world 1.2
  • 37. char type • Reserves 8 bits or 1 byte of memory • A char variable may represent: – ASCII character 'A‘, 'a‘, '1‘, '4‘, '*‘ – signed integers 127 to -128 (Default) – unsigned integer in range 255 to 0 Examples: –char grade; –unsigned char WeekNumber= 200; –char cGradeA = 65; –char cGradeAA = ‘A';
  • 38. char type • Example program…
  • 39. Special characters • Text string special characters (Escape Sequences) – n = newline – r = carriage return – t = tab – " = double quote – ? = question – = backslash – ' = single quote • Examples: cout << "Hellot" << "I’m Bobn"; cout << "123nabc “;
  • 41. int type • 16 bits (2 bytes) on Windows 16-bits – int -32,768 to 32,767 – unsigned int 0 to 65,535 – Also on Turbo C++, 2 bytes for int • 32 bits (4 bytes) on Win32 (Visual C++) – int -2,147,483,648 to 2,147,483,647 – unsigned int 0 to 4,294,967,295
  • 42. int type • Examples: int earth_diameter; int seconds_in_week= 604800; unsigned int Height = 100; unsigned int Width = 50000;
  • 43. int type (long and short) • long int –reserves 32 bits (4 bytes) of memory –signed long -2,147,483,648 to 2,147,483,647 –unsigned long int 0 to 4,294,967,295 • short int –reserves 16 bits (2 bytes) of memory –signed short int -32,768 to 32,767 –unsigned short int 0 to 65,535
  • 44. int (long and short) • Examples: long int light_speed=186000; unsigned long int seconds= 604800; short int Height = 30432; unsigned short int Width = 50000;
  • 45. Home Work-1 • Use Visual C++ on Windows and get information for following data types: – int – short – long int – short int – char • Use ( cout << sizeof( intVar ); ) operator to get this information, Example:…
  • 46. Real Values • float – Reserves 32 bits (4 bytes) of memory – + 1.180000x10 +38 , 7-digit precision – Example: float radius= 33.4221; • double – Reserves 64 bits (8 bytes) of memory – + 1.79000000000000x10 +308 , 15-digit precision – Example: double Distance = 257.5434342; • long double – Reserves 80 bits (10 bytes) of memory , 18-digit precision – Example: long double EarthMass = 25343427.53434233;
  • 47. Home Work-2 • Use Visual C++ on Windows and get information for following data types: – float – double – long double • Use ( cout << sizeof(floatVar); ) operator to get this information, Example:…
  • 48. bool Type • Only 1 bit of memory required – Generally, 1 byte because is reserved • Literal values: – true – false • Can be used in logical conditions: – Examples: bool RainToday=false; bool passed; passed = GetResult(80);
  • 49. string type • Special data type supports working with “strings” #include <string> string <variable_name> = “string literal”; • string type variables in programs: string firstName, lastName; • Using with assignment operator: firstName = “Mohammad"; lastName = “Ali"; • Display using cout cout << firstName << " " << lastName;
  • 50. Getting input in string with Spaces string s1; cin>> s1; //Spaces will not be input in s1 //Following statements read spaces in “string” string s1; getline(cin, s1); //Spaces will be input in s1
  • 51. string type • Find Errors in the example program…