SlideShare a Scribd company logo
C++ 
L01 -VARIABLES 
Programming Language 
Mohammad Shaker 
mohammadshaker.com 
@ZGTRShaker 
2010, 11, 12, 13, 14
C/ C++/ C++.NET/ C#
C/ C++/C++.NET/ C#
Who Are the C/C++Guys?
Dennis 
ritchie
bjarne 
stroustrup
Resources 
•Books 
–Deitel–C++ How to program 
–The C++ Programming Language (Not for complete starters) 
•Bunshof good websites 
–www.cplusplus.com 
–www.msdn.com 
•msdnawesome library 
•stackoverflow.comand googleare always your best programming buddies
C++ L01-Variables
What You Will Learn 
•Concepts you already know 
–Variables 
–Control Structure 
–Functions 
–Arrays/ Pointers/ Strings 
–Structs 
•New concepts 
–Classes (OOP) 
–Inheritance (OOP) 
–Polymorphism (OOP) 
–Template 
–STL 
–Exception Handling 
–File Processing
Programming Languages War 
August 2014, Source: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Moore’s Law and Other Stuff
C++ Preferences & features 
•Moore’s Law 
–Computer processing power can be doubled every 18-24 months 
–Software with Hardware improves together 
•More complicated Hardware 
•More advanced Software 
–Now, we are in generation that we put the "Moore’s Law" behind us!
C++ Preferences & features 
•Two kind of Computer programming paradigms: 
–Imperative 
•Procedural(Pascal, C, php, etc) 
•Object-Oriented(C++, C#, Java, ASP.NET, etc) 
–Declarative 
•Functional(Pascal, C, php, etc) 
•Logic(Prolog, etc) 
____________________________________________________________________________ 
* Note the need to C++ after inventing C 
** Note that the Procedural Functional programming paradigms are still used till our present time and has its unique features
C C++ 
•The "C" Programming language is a modular one 
•Why C++ then? 
–Objects, OOP 
–C C++ are portables ones 
•Comparison: 
–C: is action Oriented 
•Procedural 
–C++: is object oriented 
•Compiler checking 
•Extensible language 
–Class 
•Reusable
Where you can find C++?
Where you can find C++? Pretty Everywhere! (Take a look here: http://www.stroustrup.com/applications.html) Microsoft, OfficeGoogleHPAmazonAdobeMozillaMySQLINTELNokiaSunBloombergGame Engines
C++ L01-Variables
C++ L01-Variables
Enough talk! Let’s get into the Action!
The Structure of a C++ Program
Structure of C++ program 
#include<iostream> 
voidmain () 
{ 
} 
#include<iostream> 
intmain () 
{ 
// indicate successful termination 
return0; 
} 
#include<iostream> 
usingnamespace::std; // Note the new namespace 
voidmain() 
{ 
cout<< "we're having fun!"; 
} 
#include<iostream> 
usingnamespace::std;// Note the new namespace 
intmain () 
{ 
cout<< "we're having fun!"; 
return0; // indicate successful termination 
}
Structure of C++ program 
#include<iostream> 
usingnamespace::std; // Note the namespace 
voidmain() 
{cout<< "we're having fun!";} 
#include<iostream> 
usingnamespace::std;// Note the namespace 
intmain () 
{ 
cout<< "we're having fun!";return0; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "We're having fun!"; 
cout<< "I need to eat!:D "; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "we're having fun!" << endl; 
cout<< "I need to eat!:D " << endl; 
} 
We're having fun!Ineed to eat!:D 
we're having fun! 
I need to eat!:D
Structure of C++ program 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "we're having fun!"<< "n"<< "I need to eat!:D " 
<< "n"; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "we're having fun! n I need to eat!:D n"; 
} 
we're having fun! 
I need to eat!:D 
we're having fun! 
I need to eat!:D nis the same as endl
Comments 
// comment 
For a one line 
/* 
comments 
*/ 
For one line or more (multi lines)
Structure of C++ program 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "foo"; // this is a line! 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "foo"; /* this is a line! */ 
} 
Compile and run 
Compile and run
Structure of C++ program 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "foo"; // this is 
a line! 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<< "foo"; /* this is not a single 
line! */ 
} 
Compiler error 
Compile and run
Escape code
I/O Stream 
•Keyboard / Screen 
Keyboard 
input stream 
Executing program 
screen 
Output 
stream
Variables
float, double, long double 
C++ data types 
Structured 
Simple 
Address 
Pointer 
Reference 
enum 
Floating 
Array 
Struct 
Union 
Class 
Char, Short, int, long, bool 
Integral
Variables 
•Every variable has: 
–Name 
–Type 
–Size 
–Value 
•Data Types: 
–Integer, Double, float, char
Variables 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti; 
float j; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti; 
intj; 
} 
Compile and Run 
Compile and Run 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti, j; 
} 
Compile and Run
Variables 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti, j; 
i= 0; 
j = 4; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti= 0, j = 4; 
} 
Compile and Run 
Compile and Run
Variables 
#include <iostream> 
using namespace::std; 
void main() 
{ 
inti; 
cin>> i; 
cout<< " i= " << I; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
intI; 
cout<< I; 
} 
Compiler error, undeclared "I" identifier 
C++ is case sensitive 
Runtime Error –Visual 2010 
Variable must be initialized
Variables 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti, j; 
cin>> i>> j; 
intsum = i+ j; 
cout<< sum; 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti, j; 
cin>> i>> j; 
intsum = i+ j; 
cout<< “ sum = ” << sum; 
}
Variables 
// Operating with variables 
#include <iostream> 
usingnamespacestd; 
intmain () 
{ 
// declaring variables: 
inta, b; 
intresult; 
// process: 
a = 5; b = 2; a = a + 1; 
result = a -b; 
// print out the result: 
cout<< result; 
// terminate the program: 
return0; 
}
Variables 
#include<iostream> 
usingnamespacestd; 
voidmain() 
{ 
inti= 0; 
i= i+ 1; 
cout<< i; 
} 
#include<iostream> 
usingnamespacestd; 
voidmain() 
{ 
inti= 0; 
i+= 1; 
cout<< i; 
} 
1 
1 
#include<iostream> 
usingnamespacestd; 
voidmain() 
{ 
inti= 0; 
i++; 
cout<< i; 
} 
1
Variables 
#include<iostream> 
usingnamespacestd; 
voidmain() 
{ 
inti= 0; 
i--; 
cout<< i; 
} 
#include<iostream> 
usingnamespacestd; 
voidmain() 
{ 
inti, j; 
i++; 
j--; 
cout<< i<< j; 
} 
-1 
Runtime Error –Visual Studio 2010
Variables 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
inti, j; 
cin>> i; 
cout<< endl; 
cout<< "i= "<< i<< endl<< "t"; 
cin>> j; 
cout<< "j = n"<< j; 
cout<< "______________________________"<< endl; 
cout<< "j+i= "<< j+i<< "n"; 
cout<< "2*i= "<< 2*i<< "n"; 
} 
2 
i= 2 
3 
j = 
3______________________________ 
j+i= 5 
2*i= 4 
Press any key to continue
Float, double, long double 
C++ data types 
Structured 
Simple 
Address 
Pointer 
Reference 
enum 
Floating 
Array 
Struct 
Union 
Class 
Char, Short, int, long, bool 
Integral
integral
Integral 
•char, short, int, long, bool 
•char 
–Used to represent character such as: 
•Letters 
•Digits 
•Special symbols 
–' + ', ' & ', ' $ ', ' * ' 
–Each character is enclosed with single quote mark ' ' and not double ones " " 
–Space is represented by ' ' with space between them. 
–ASCII & EBCDIC 
•bool 
–Watch out that the "Boolean" type is an integral one! 
–bool 
•false = 0, true = any other number
integral 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
charc1 = 'd', c2; 
cout<< c2 << c1 << endl; 
} 
voidmain() 
{ 
boolb1, b2; 
if(3 <= 2) 
{ 
b1 = false; 
b2 = true; 
} 
else 
{ 
b1 = 53; 
} 
cout<< b1 << " -"<< b2 << endl; 
} 
d 
1 -0 
Note that: 
•The default value for a char is NULLrepresented as SPACE‘ ’ but it’s not a space, it’s a NULL! 
•The char has ' ' and not " " 
Note that: 
•A numeric value is printed when printing a "boolean" 
•The default value for booltype is false (0)
Floating point data types 
•float, double 
–float 4 bytes / double 8 bytes 
•float has a single precision 
•double has a double precision 
–double = long double (in new compilers) 
–The size of float, double, long double are machine dependent.
integral 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
doubled=0.4; 
cout<<d<<endl; 
system("pause"); 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
doubled=0.0; 
cout<<d<<endl; 
system("pause"); 
} 
0.4 
0 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
doubled=.0; 
cout<<d<<endl; 
system("pause"); 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
doubled=0.0; 
cout<<d<<endl; 
system("pause"); 
} 
0 
0
integral 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
floatf=1.2; 
cout<<f<<endl; 
system("pause"); 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
floatf=1.2f; 
cout<<f<<endl; 
system("pause"); 
} 
1.2 
1.2
Constants, const
Constants 
•A Constant: 
–Any expression that has a “fixed” value 
•3 kind of constants: 
•Integer Numbers 
•Floating-Point Numbers 
•Characters & Strings
Constants 
•Integer Numbers 
–1225// Decimal 
–-982// Decimal 
–05356// Octal! 
•Octal numbers are preceded by 0 
–0x3c// Hexadecimal 
•Hexadecimal numbers are preceded by 0x 
•Floating Numbers 
–Decimal 
–Exponent 
Examples: 
–5.0// 5.0 (double) 
–5.0f// 5.0 (float) 
–45.556779// 45.556779 
–8.36e18// 8.36x 10^18 
–8.36e-18// 8.36x 10^-18 
•Characters and Strings 
–'Z' //Char –Single Character 
–'M' //Char –Single Character 
–"Where’s the cat?"//String – Several Character 
–"I just don’t know!"//String – Several Character 
–“c” //String –One Character
integral 
#include<iostream> 
usingnamespace::std; 
#definePI 3.14;// No “=” Sign 
#defineMyTab't‘// No “=” Sign 
#definePonPon":D“// No “=” Sign 
voidmain() 
{ 
} 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
#definePI 3.14; 
#defineMyTab't' 
#definePonPon":D“ 
}
integral 
#include<iostream> 
usingnamespace::std; 
#defineMyTab't' 
voidmain() 
{ 
#definePI 3.14; 
floatRadius = 0; 
cout<< "Enter the Radius"<< endl; 
cin>> Radius; 
floatCircle = PI; 
Circle = Circle * 2 * Radius; 
cout<< "The perimeter of the Circle = “<< Circle 
<< MyTab; 
} 
Enter the Radius 
3.2 
The perimeter of the Circle = 20.096 Press any key to continue
integral 
#include <iostream> 
using namespace::std; 
#define MyTab't' 
#define PI 5; 
void main() 
{ 
#define PI 3.14; 
float Radius = 0; 
cout<< "Enter the Radius" << endl; 
cin>> Radius; 
float Circle = PI; 
Circle = Circle * 2 * Radius; 
cout<< "The perimeter of the Circle = “<< Circle 
<< MyTab; 
} 
Enter the Radius 
3.2 
The perimeter of the Circle = 20.096 Press any key to continue
integral 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
#definePI 3.14; 
floatRadius = 0; 
cout<< "Enter the Radius"<< endl; 
cin>> Radius; 
floatCircle = 2 * PI * Radius; 
cout<< "The perimeter of the Circle = "<< Circle; 
} 
Illegal Indirection 2 * PI * Radius
integral 
#include<iostream> 
usingnamespace::std; 
constintx = 20; 
voidmain() 
{ 
constinty = 90; 
} 
Compile and run 
#include<iostream> 
usingnamespace::std; 
constintx = 20; 
voidmain() 
{ 
consty = 90; 
} 
2005 Compiler: Compile & Run 
intassumed for consttype when neglecting the type 
constcharMe = 'M'; 
constintHeight = 5; 
constcharMyCharTab= 't';// Char tab 
constchar*MyStringTab= "t"; // String tab 
voidmain() 
{ 
cout<< MyStringTab; 
} 
Press any key to continue 
constcharMyCharTab= 't';// Char tab 
constchar*MyStringTab= "t";// String tab 
#defineMyStringTab"t"; // String tab 
voidmain() 
{ 
cout<< MyStringTab; 
} 
Press any key to continue
Code Cracking 
#include<iostream> 
usingnamespace::std; 
voidmain() 
{ 
cout<<"I'm number 4 or 77, I don't know :D"<<endl; 
; 
; 
; 
; 
system("pause"); 
} 
I'm number 4 or 77, I don't know :D
Related Online CoursesProgramming ParadigmsC++ Memory Management. LISP and Pythonhttp://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755eeProgramming methodology -Javahttp://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
Take a look at my other courses, Especially the GUI Course, C++.NEThttp://www.slideshare.net/ZGTRZGTR/
Keep in touch and let’s connect 
http://www.mohammadshaker.com 
mohammadshakergtr@gmail.com 
https://twitter.com/ZGTRShaker@ZGTRShakerhttps://de.linkedin.com/pub/mohammad-shaker/30/122/128/ 
http://www.slideshare.net/ZGTRZGTR 
https://www.goodreads.com/user/show/11193121-mohammad-shaker 
https://plus.google.com/u/0/+MohammadShaker/ 
https://www.youtube.com/channel/UCvJUfadMoEaZNWdagdMyCRA 
http://mohammadshakergtr.wordpress.com/
Hope you have enjoyed your first class
See YOU TOMORROW!

More Related Content

What's hot (20)

PDF
C++ L03-Control Structure
Mohammad Shaker
 
PDF
C++ L10-Inheritance
Mohammad Shaker
 
PPTX
Unit 3
GOWSIKRAJAP
 
PDF
2 BytesC++ course_2014_c9_ pointers and dynamic arrays
kinan keshkeh
 
PDF
c programming
Arun Umrao
 
PDF
Modern C++ Concurrency API
Seok-joon Yun
 
PDF
c programming
Arun Umrao
 
PDF
Imugi: Compiler made with Python
Han Lee
 
PDF
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
ssuserd6b1fd
 
PPTX
13 Strings and Text Processing
Intro C# Book
 
PPTX
C++11
Sasha Goldshtein
 
PDF
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
ssuserd6b1fd
 
PDF
Recursion to iteration automation.
Russell Childs
 
PDF
Антихрупкий TypeScript | Odessa Frontend Meetup #17
OdessaFrontend
 
PDF
Arduino coding class
Jonah Marrs
 
PPTX
C++ Pointers
Chaand Sheikh
 
PDF
Arduino coding class part ii
Jonah Marrs
 
PDF
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
ssuserd6b1fd
 
PPT
Fp201 unit4
rohassanie
 
PDF
Programming with GUTs
Kevlin Henney
 
C++ L03-Control Structure
Mohammad Shaker
 
C++ L10-Inheritance
Mohammad Shaker
 
Unit 3
GOWSIKRAJAP
 
2 BytesC++ course_2014_c9_ pointers and dynamic arrays
kinan keshkeh
 
c programming
Arun Umrao
 
Modern C++ Concurrency API
Seok-joon Yun
 
c programming
Arun Umrao
 
Imugi: Compiler made with Python
Han Lee
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 4 of 5 by...
ssuserd6b1fd
 
13 Strings and Text Processing
Intro C# Book
 
Notes for C++ Programming / Object Oriented C++ Programming for MCA, BCA and ...
ssuserd6b1fd
 
Recursion to iteration automation.
Russell Childs
 
Антихрупкий TypeScript | Odessa Frontend Meetup #17
OdessaFrontend
 
Arduino coding class
Jonah Marrs
 
C++ Pointers
Chaand Sheikh
 
Arduino coding class part ii
Jonah Marrs
 
Notes for C Programming for MCA, BCA, B. Tech CSE, ECE and MSC (CS) 5 of 5 by...
ssuserd6b1fd
 
Fp201 unit4
rohassanie
 
Programming with GUTs
Kevlin Henney
 

Viewers also liked (20)

PDF
Python Programming: Variables
Leena Levashvili
 
PDF
Using Variables in Programming
flippanthorse6864
 
PPTX
Variables and data types in C++
Ameer Khan
 
PPTX
A presentation on types of network
SUSHANT RATHOR
 
PPTX
Overloading of io stream operators
SARAVANAN GOPALAKRISHNAN
 
PPTX
Constants and variables in c programming
Chitrank Dixit
 
PPT
Chapter1 c programming data types, variables and constants
vinay arora
 
PPTX
Types of computer networks
Harsh Sachdev
 
PPT
Getting started with c++
K Durga Prasad
 
PPTX
Overview of programming paradigms
David-Frelin Johnson
 
PPTX
Lecture 2 C++ | Variable Scope, Operators in c++
Himanshu Kaushik
 
PPT
Input and output in C++
Nilesh Dalvi
 
PPTX
Stream classes in C++
Shyam Gupta
 
PPTX
Prgramming paradigms
Anirudh Chauhan
 
PPTX
Paradigms
Edward Blurock
 
PPTX
Presentation on nesting of loops
bsdeol28
 
PPTX
types of computer networks, protocols and standards
Midhun Menon
 
PPT
Programming Paradigms
Directi Group
 
PPT
Intro. to prog. c++
KurdGul
 
PPTX
Unit1 principle of programming language
Vasavi College of Engg
 
Python Programming: Variables
Leena Levashvili
 
Using Variables in Programming
flippanthorse6864
 
Variables and data types in C++
Ameer Khan
 
A presentation on types of network
SUSHANT RATHOR
 
Overloading of io stream operators
SARAVANAN GOPALAKRISHNAN
 
Constants and variables in c programming
Chitrank Dixit
 
Chapter1 c programming data types, variables and constants
vinay arora
 
Types of computer networks
Harsh Sachdev
 
Getting started with c++
K Durga Prasad
 
Overview of programming paradigms
David-Frelin Johnson
 
Lecture 2 C++ | Variable Scope, Operators in c++
Himanshu Kaushik
 
Input and output in C++
Nilesh Dalvi
 
Stream classes in C++
Shyam Gupta
 
Prgramming paradigms
Anirudh Chauhan
 
Paradigms
Edward Blurock
 
Presentation on nesting of loops
bsdeol28
 
types of computer networks, protocols and standards
Midhun Menon
 
Programming Paradigms
Directi Group
 
Intro. to prog. c++
KurdGul
 
Unit1 principle of programming language
Vasavi College of Engg
 
Ad

Similar to C++ L01-Variables (20)

PPTX
Cs1123 3 c++ overview
TAlha MAlik
 
PPTX
Cs1123 11 pointers
TAlha MAlik
 
PPT
Basics of c++ Programming Language
Ahmad Idrees
 
PPTX
Presentation on C++ Programming Language
satvirsandhu9
 
DOCX
C++ Tutorial.docx
PinkiVats1
 
PPSX
Esoft Metro Campus - Programming with C++
Rasan Samarasinghe
 
PPT
programming week 2.ppt
FatimaZafar68
 
PPTX
#Code2 create c++ for beginners
GDGKuwaitGoogleDevel
 
PPTX
Programming using c++ tool
Abdullah Jan
 
PDF
BASIC C++ PROGRAMMING
gufranresearcher
 
PPTX
Presentation c++
JosephAlex21
 
PPT
Pengaturcaraan asas
Unit Kediaman Luar Kampus
 
PDF
C++primer
leonlongli
 
PPTX
COMPUTER PROGRAMMING LANGUAGE C++ 1.pptx
atokoosetaiwoboluwat
 
PPT
CPLUSPLUS UET PESHAWAR BS ELECTRICAL 2ND SEMSTER Lecture02.ppt
abdurrahimk182
 
PPTX
C++ language basic
Waqar Younis
 
PPTX
Introduction to C++ lecture ************
Emad Helal
 
PPT
Chapter02-S11.ppt
GhulamHussain638563
 
PPT
Chapter 2 Introduction to C++
GhulamHussain142878
 
PPTX
C_plus_plus
Ralph Weber
 
Cs1123 3 c++ overview
TAlha MAlik
 
Cs1123 11 pointers
TAlha MAlik
 
Basics of c++ Programming Language
Ahmad Idrees
 
Presentation on C++ Programming Language
satvirsandhu9
 
C++ Tutorial.docx
PinkiVats1
 
Esoft Metro Campus - Programming with C++
Rasan Samarasinghe
 
programming week 2.ppt
FatimaZafar68
 
#Code2 create c++ for beginners
GDGKuwaitGoogleDevel
 
Programming using c++ tool
Abdullah Jan
 
BASIC C++ PROGRAMMING
gufranresearcher
 
Presentation c++
JosephAlex21
 
Pengaturcaraan asas
Unit Kediaman Luar Kampus
 
C++primer
leonlongli
 
COMPUTER PROGRAMMING LANGUAGE C++ 1.pptx
atokoosetaiwoboluwat
 
CPLUSPLUS UET PESHAWAR BS ELECTRICAL 2ND SEMSTER Lecture02.ppt
abdurrahimk182
 
C++ language basic
Waqar Younis
 
Introduction to C++ lecture ************
Emad Helal
 
Chapter02-S11.ppt
GhulamHussain638563
 
Chapter 2 Introduction to C++
GhulamHussain142878
 
C_plus_plus
Ralph Weber
 
Ad

More from Mohammad Shaker (20)

PDF
12 Rules You Should to Know as a Syrian Graduate
Mohammad Shaker
 
PDF
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Mohammad Shaker
 
PDF
Interaction Design L06 - Tricks with Psychology
Mohammad Shaker
 
PDF
Short, Matters, Love - Passioneers Event 2015
Mohammad Shaker
 
PDF
Unity L01 - Game Development
Mohammad Shaker
 
PDF
Android L07 - Touch, Screen and Wearables
Mohammad Shaker
 
PDF
Interaction Design L03 - Color
Mohammad Shaker
 
PDF
Interaction Design L05 - Typography
Mohammad Shaker
 
PDF
Interaction Design L04 - Materialise and Coupling
Mohammad Shaker
 
PDF
Android L05 - Storage
Mohammad Shaker
 
PDF
Android L04 - Notifications and Threading
Mohammad Shaker
 
PDF
Android L09 - Windows Phone and iOS
Mohammad Shaker
 
PDF
Interaction Design L01 - Mobile Constraints
Mohammad Shaker
 
PDF
Interaction Design L02 - Pragnanz and Grids
Mohammad Shaker
 
PDF
Android L10 - Stores and Gaming
Mohammad Shaker
 
PDF
Android L06 - Cloud / Parse
Mohammad Shaker
 
PDF
Android L08 - Google Maps and Utilities
Mohammad Shaker
 
PDF
Android L03 - Styles and Themes
Mohammad Shaker
 
PDF
Android L02 - Activities and Adapters
Mohammad Shaker
 
PDF
Android L01 - Warm Up
Mohammad Shaker
 
12 Rules You Should to Know as a Syrian Graduate
Mohammad Shaker
 
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Mohammad Shaker
 
Interaction Design L06 - Tricks with Psychology
Mohammad Shaker
 
Short, Matters, Love - Passioneers Event 2015
Mohammad Shaker
 
Unity L01 - Game Development
Mohammad Shaker
 
Android L07 - Touch, Screen and Wearables
Mohammad Shaker
 
Interaction Design L03 - Color
Mohammad Shaker
 
Interaction Design L05 - Typography
Mohammad Shaker
 
Interaction Design L04 - Materialise and Coupling
Mohammad Shaker
 
Android L05 - Storage
Mohammad Shaker
 
Android L04 - Notifications and Threading
Mohammad Shaker
 
Android L09 - Windows Phone and iOS
Mohammad Shaker
 
Interaction Design L01 - Mobile Constraints
Mohammad Shaker
 
Interaction Design L02 - Pragnanz and Grids
Mohammad Shaker
 
Android L10 - Stores and Gaming
Mohammad Shaker
 
Android L06 - Cloud / Parse
Mohammad Shaker
 
Android L08 - Google Maps and Utilities
Mohammad Shaker
 
Android L03 - Styles and Themes
Mohammad Shaker
 
Android L02 - Activities and Adapters
Mohammad Shaker
 
Android L01 - Warm Up
Mohammad Shaker
 

Recently uploaded (20)

PPTX
Cyclic_Redundancy_Check_Presentation.pptx
alhjranyblalhmwdbdal
 
PPTX
Abstract Data Types (ADTs) in Data Structures
mwaslam2303
 
PDF
Comparative Analysis of the Use of Iron Ore Concentrate with Different Binder...
msejjournal
 
PPTX
Fluid statistics and Numerical on pascal law
Ravindra Kolhe
 
PPT
IISM Presentation.ppt Construction safety
lovingrkn
 
PDF
SE_Syllabus_NEP_Computer Science and Engineering ( IOT and Cyber Security Inc...
krshewale
 
PPT
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
PPTX
Smart_Cities_IoT_Integration_Presentation.pptx
YashBhisade1
 
PPTX
GitHub_Copilot_Basics...........................pptx
ssusera13041
 
PPTX
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
PDF
MOBILE AND WEB BASED REMOTE BUSINESS MONITORING SYSTEM
ijait
 
PDF
NOISE CONTROL ppt - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
PPTX
00-ClimateChangeImpactCIAProcess_PPTon23.12.2024-ByDr.VijayanGurumurthyIyer1....
praz3
 
PDF
Natural Language processing and web deigning notes
AnithaSakthivel3
 
PDF
13th International Conference of Networks and Communications (NC 2025)
JohannesPaulides
 
PDF
Non Text Magic Studio Magic Design for Presentations L&P.pdf
rajpal7872
 
PDF
PRIZ Academy - Change Flow Thinking Master Change with Confidence.pdf
PRIZ Guru
 
PPTX
ENG8 Q1, WEEK 4.pptxoooiioooooooooooooooooooooooooo
chubbychubz1
 
PDF
Jual GPS Geodetik CHCNAV i93 IMU-RTK Lanjutan dengan Survei Visual
Budi Minds
 
PDF
mosfet introduction engg topic for students.pdf
trsureshkumardata
 
Cyclic_Redundancy_Check_Presentation.pptx
alhjranyblalhmwdbdal
 
Abstract Data Types (ADTs) in Data Structures
mwaslam2303
 
Comparative Analysis of the Use of Iron Ore Concentrate with Different Binder...
msejjournal
 
Fluid statistics and Numerical on pascal law
Ravindra Kolhe
 
IISM Presentation.ppt Construction safety
lovingrkn
 
SE_Syllabus_NEP_Computer Science and Engineering ( IOT and Cyber Security Inc...
krshewale
 
Oxygen Co2 Transport in the Lungs(Exchange og gases)
SUNDERLINSHIBUD
 
Smart_Cities_IoT_Integration_Presentation.pptx
YashBhisade1
 
GitHub_Copilot_Basics...........................pptx
ssusera13041
 
Basics of Auto Computer Aided Drafting .pptx
Krunal Thanki
 
MOBILE AND WEB BASED REMOTE BUSINESS MONITORING SYSTEM
ijait
 
NOISE CONTROL ppt - SHRESTH SUDHIR KOKNE
SHRESTHKOKNE
 
00-ClimateChangeImpactCIAProcess_PPTon23.12.2024-ByDr.VijayanGurumurthyIyer1....
praz3
 
Natural Language processing and web deigning notes
AnithaSakthivel3
 
13th International Conference of Networks and Communications (NC 2025)
JohannesPaulides
 
Non Text Magic Studio Magic Design for Presentations L&P.pdf
rajpal7872
 
PRIZ Academy - Change Flow Thinking Master Change with Confidence.pdf
PRIZ Guru
 
ENG8 Q1, WEEK 4.pptxoooiioooooooooooooooooooooooooo
chubbychubz1
 
Jual GPS Geodetik CHCNAV i93 IMU-RTK Lanjutan dengan Survei Visual
Budi Minds
 
mosfet introduction engg topic for students.pdf
trsureshkumardata
 

C++ L01-Variables

  • 1. C++ L01 -VARIABLES Programming Language Mohammad Shaker mohammadshaker.com @ZGTRShaker 2010, 11, 12, 13, 14
  • 4. Who Are the C/C++Guys?
  • 7. Resources •Books –Deitel–C++ How to program –The C++ Programming Language (Not for complete starters) •Bunshof good websites –www.cplusplus.com –www.msdn.com •msdnawesome library •stackoverflow.comand googleare always your best programming buddies
  • 9. What You Will Learn •Concepts you already know –Variables –Control Structure –Functions –Arrays/ Pointers/ Strings –Structs •New concepts –Classes (OOP) –Inheritance (OOP) –Polymorphism (OOP) –Template –STL –Exception Handling –File Processing
  • 10. Programming Languages War August 2014, Source: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
  • 11. Moore’s Law and Other Stuff
  • 12. C++ Preferences & features •Moore’s Law –Computer processing power can be doubled every 18-24 months –Software with Hardware improves together •More complicated Hardware •More advanced Software –Now, we are in generation that we put the "Moore’s Law" behind us!
  • 13. C++ Preferences & features •Two kind of Computer programming paradigms: –Imperative •Procedural(Pascal, C, php, etc) •Object-Oriented(C++, C#, Java, ASP.NET, etc) –Declarative •Functional(Pascal, C, php, etc) •Logic(Prolog, etc) ____________________________________________________________________________ * Note the need to C++ after inventing C ** Note that the Procedural Functional programming paradigms are still used till our present time and has its unique features
  • 14. C C++ •The "C" Programming language is a modular one •Why C++ then? –Objects, OOP –C C++ are portables ones •Comparison: –C: is action Oriented •Procedural –C++: is object oriented •Compiler checking •Extensible language –Class •Reusable
  • 15. Where you can find C++?
  • 16. Where you can find C++? Pretty Everywhere! (Take a look here: http://www.stroustrup.com/applications.html) Microsoft, OfficeGoogleHPAmazonAdobeMozillaMySQLINTELNokiaSunBloombergGame Engines
  • 19. Enough talk! Let’s get into the Action!
  • 20. The Structure of a C++ Program
  • 21. Structure of C++ program #include<iostream> voidmain () { } #include<iostream> intmain () { // indicate successful termination return0; } #include<iostream> usingnamespace::std; // Note the new namespace voidmain() { cout<< "we're having fun!"; } #include<iostream> usingnamespace::std;// Note the new namespace intmain () { cout<< "we're having fun!"; return0; // indicate successful termination }
  • 22. Structure of C++ program #include<iostream> usingnamespace::std; // Note the namespace voidmain() {cout<< "we're having fun!";} #include<iostream> usingnamespace::std;// Note the namespace intmain () { cout<< "we're having fun!";return0; } #include<iostream> usingnamespace::std; voidmain() { cout<< "We're having fun!"; cout<< "I need to eat!:D "; } #include<iostream> usingnamespace::std; voidmain() { cout<< "we're having fun!" << endl; cout<< "I need to eat!:D " << endl; } We're having fun!Ineed to eat!:D we're having fun! I need to eat!:D
  • 23. Structure of C++ program #include<iostream> usingnamespace::std; voidmain() { cout<< "we're having fun!"<< "n"<< "I need to eat!:D " << "n"; } #include<iostream> usingnamespace::std; voidmain() { cout<< "we're having fun! n I need to eat!:D n"; } we're having fun! I need to eat!:D we're having fun! I need to eat!:D nis the same as endl
  • 24. Comments // comment For a one line /* comments */ For one line or more (multi lines)
  • 25. Structure of C++ program #include<iostream> usingnamespace::std; voidmain() { cout<< "foo"; // this is a line! } #include<iostream> usingnamespace::std; voidmain() { cout<< "foo"; /* this is a line! */ } Compile and run Compile and run
  • 26. Structure of C++ program #include<iostream> usingnamespace::std; voidmain() { cout<< "foo"; // this is a line! } #include<iostream> usingnamespace::std; voidmain() { cout<< "foo"; /* this is not a single line! */ } Compiler error Compile and run
  • 28. I/O Stream •Keyboard / Screen Keyboard input stream Executing program screen Output stream
  • 30. float, double, long double C++ data types Structured Simple Address Pointer Reference enum Floating Array Struct Union Class Char, Short, int, long, bool Integral
  • 31. Variables •Every variable has: –Name –Type –Size –Value •Data Types: –Integer, Double, float, char
  • 32. Variables #include<iostream> usingnamespace::std; voidmain() { inti; float j; } #include<iostream> usingnamespace::std; voidmain() { inti; intj; } Compile and Run Compile and Run #include<iostream> usingnamespace::std; voidmain() { inti, j; } Compile and Run
  • 33. Variables #include<iostream> usingnamespace::std; voidmain() { inti, j; i= 0; j = 4; } #include<iostream> usingnamespace::std; voidmain() { inti= 0, j = 4; } Compile and Run Compile and Run
  • 34. Variables #include <iostream> using namespace::std; void main() { inti; cin>> i; cout<< " i= " << I; } #include<iostream> usingnamespace::std; voidmain() { intI; cout<< I; } Compiler error, undeclared "I" identifier C++ is case sensitive Runtime Error –Visual 2010 Variable must be initialized
  • 35. Variables #include<iostream> usingnamespace::std; voidmain() { inti, j; cin>> i>> j; intsum = i+ j; cout<< sum; } #include<iostream> usingnamespace::std; voidmain() { inti, j; cin>> i>> j; intsum = i+ j; cout<< “ sum = ” << sum; }
  • 36. Variables // Operating with variables #include <iostream> usingnamespacestd; intmain () { // declaring variables: inta, b; intresult; // process: a = 5; b = 2; a = a + 1; result = a -b; // print out the result: cout<< result; // terminate the program: return0; }
  • 37. Variables #include<iostream> usingnamespacestd; voidmain() { inti= 0; i= i+ 1; cout<< i; } #include<iostream> usingnamespacestd; voidmain() { inti= 0; i+= 1; cout<< i; } 1 1 #include<iostream> usingnamespacestd; voidmain() { inti= 0; i++; cout<< i; } 1
  • 38. Variables #include<iostream> usingnamespacestd; voidmain() { inti= 0; i--; cout<< i; } #include<iostream> usingnamespacestd; voidmain() { inti, j; i++; j--; cout<< i<< j; } -1 Runtime Error –Visual Studio 2010
  • 39. Variables #include<iostream> usingnamespace::std; voidmain() { inti, j; cin>> i; cout<< endl; cout<< "i= "<< i<< endl<< "t"; cin>> j; cout<< "j = n"<< j; cout<< "______________________________"<< endl; cout<< "j+i= "<< j+i<< "n"; cout<< "2*i= "<< 2*i<< "n"; } 2 i= 2 3 j = 3______________________________ j+i= 5 2*i= 4 Press any key to continue
  • 40. Float, double, long double C++ data types Structured Simple Address Pointer Reference enum Floating Array Struct Union Class Char, Short, int, long, bool Integral
  • 42. Integral •char, short, int, long, bool •char –Used to represent character such as: •Letters •Digits •Special symbols –' + ', ' & ', ' $ ', ' * ' –Each character is enclosed with single quote mark ' ' and not double ones " " –Space is represented by ' ' with space between them. –ASCII & EBCDIC •bool –Watch out that the "Boolean" type is an integral one! –bool •false = 0, true = any other number
  • 43. integral #include<iostream> usingnamespace::std; voidmain() { charc1 = 'd', c2; cout<< c2 << c1 << endl; } voidmain() { boolb1, b2; if(3 <= 2) { b1 = false; b2 = true; } else { b1 = 53; } cout<< b1 << " -"<< b2 << endl; } d 1 -0 Note that: •The default value for a char is NULLrepresented as SPACE‘ ’ but it’s not a space, it’s a NULL! •The char has ' ' and not " " Note that: •A numeric value is printed when printing a "boolean" •The default value for booltype is false (0)
  • 44. Floating point data types •float, double –float 4 bytes / double 8 bytes •float has a single precision •double has a double precision –double = long double (in new compilers) –The size of float, double, long double are machine dependent.
  • 45. integral #include<iostream> usingnamespace::std; voidmain() { doubled=0.4; cout<<d<<endl; system("pause"); } #include<iostream> usingnamespace::std; voidmain() { doubled=0.0; cout<<d<<endl; system("pause"); } 0.4 0 #include<iostream> usingnamespace::std; voidmain() { doubled=.0; cout<<d<<endl; system("pause"); } #include<iostream> usingnamespace::std; voidmain() { doubled=0.0; cout<<d<<endl; system("pause"); } 0 0
  • 46. integral #include<iostream> usingnamespace::std; voidmain() { floatf=1.2; cout<<f<<endl; system("pause"); } #include<iostream> usingnamespace::std; voidmain() { floatf=1.2f; cout<<f<<endl; system("pause"); } 1.2 1.2
  • 48. Constants •A Constant: –Any expression that has a “fixed” value •3 kind of constants: •Integer Numbers •Floating-Point Numbers •Characters & Strings
  • 49. Constants •Integer Numbers –1225// Decimal –-982// Decimal –05356// Octal! •Octal numbers are preceded by 0 –0x3c// Hexadecimal •Hexadecimal numbers are preceded by 0x •Floating Numbers –Decimal –Exponent Examples: –5.0// 5.0 (double) –5.0f// 5.0 (float) –45.556779// 45.556779 –8.36e18// 8.36x 10^18 –8.36e-18// 8.36x 10^-18 •Characters and Strings –'Z' //Char –Single Character –'M' //Char –Single Character –"Where’s the cat?"//String – Several Character –"I just don’t know!"//String – Several Character –“c” //String –One Character
  • 50. integral #include<iostream> usingnamespace::std; #definePI 3.14;// No “=” Sign #defineMyTab't‘// No “=” Sign #definePonPon":D“// No “=” Sign voidmain() { } #include<iostream> usingnamespace::std; voidmain() { #definePI 3.14; #defineMyTab't' #definePonPon":D“ }
  • 51. integral #include<iostream> usingnamespace::std; #defineMyTab't' voidmain() { #definePI 3.14; floatRadius = 0; cout<< "Enter the Radius"<< endl; cin>> Radius; floatCircle = PI; Circle = Circle * 2 * Radius; cout<< "The perimeter of the Circle = “<< Circle << MyTab; } Enter the Radius 3.2 The perimeter of the Circle = 20.096 Press any key to continue
  • 52. integral #include <iostream> using namespace::std; #define MyTab't' #define PI 5; void main() { #define PI 3.14; float Radius = 0; cout<< "Enter the Radius" << endl; cin>> Radius; float Circle = PI; Circle = Circle * 2 * Radius; cout<< "The perimeter of the Circle = “<< Circle << MyTab; } Enter the Radius 3.2 The perimeter of the Circle = 20.096 Press any key to continue
  • 53. integral #include<iostream> usingnamespace::std; voidmain() { #definePI 3.14; floatRadius = 0; cout<< "Enter the Radius"<< endl; cin>> Radius; floatCircle = 2 * PI * Radius; cout<< "The perimeter of the Circle = "<< Circle; } Illegal Indirection 2 * PI * Radius
  • 54. integral #include<iostream> usingnamespace::std; constintx = 20; voidmain() { constinty = 90; } Compile and run #include<iostream> usingnamespace::std; constintx = 20; voidmain() { consty = 90; } 2005 Compiler: Compile & Run intassumed for consttype when neglecting the type constcharMe = 'M'; constintHeight = 5; constcharMyCharTab= 't';// Char tab constchar*MyStringTab= "t"; // String tab voidmain() { cout<< MyStringTab; } Press any key to continue constcharMyCharTab= 't';// Char tab constchar*MyStringTab= "t";// String tab #defineMyStringTab"t"; // String tab voidmain() { cout<< MyStringTab; } Press any key to continue
  • 55. Code Cracking #include<iostream> usingnamespace::std; voidmain() { cout<<"I'm number 4 or 77, I don't know :D"<<endl; ; ; ; ; system("pause"); } I'm number 4 or 77, I don't know :D
  • 56. Related Online CoursesProgramming ParadigmsC++ Memory Management. LISP and Pythonhttp://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755eeProgramming methodology -Javahttp://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111
  • 57. Take a look at my other courses, Especially the GUI Course, C++.NEThttp://www.slideshare.net/ZGTRZGTR/
  • 58. Keep in touch and let’s connect http://www.mohammadshaker.com [email protected] https://twitter.com/ZGTRShaker@ZGTRShakerhttps://de.linkedin.com/pub/mohammad-shaker/30/122/128/ http://www.slideshare.net/ZGTRZGTR https://www.goodreads.com/user/show/11193121-mohammad-shaker https://plus.google.com/u/0/+MohammadShaker/ https://www.youtube.com/channel/UCvJUfadMoEaZNWdagdMyCRA http://mohammadshakergtr.wordpress.com/
  • 59. Hope you have enjoyed your first class