Introduction Fall 2023
to Programming
(CS1133)
Salman Ahmed
MS(Computer Science)
Faculty of Computing,
Capital University of Science & Technology,
Islamabad. Lecture - 2
1
Introduction to C++
Contributed By
Dr. Muhammad Aleem,
Department of Computer Science
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;
}
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> ;
int marks= 5; // Integer (whole number)
float weight = 5.99; // Floating point number
double lenght = 9.98; // Floating point number
char grade= 'D'; // Character
bool B= true; // Boolean
string msg = "Hello"; // String
- 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 int long
case char register return
const continue short signed
default do sizeof static
double else struct switch
enum extern typedef union
float for unsigned void
goto if 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 area_under_the_curve
2D _Marks
Last Chance #values
x_yt3 areaoFCirCLe
Num-2 %done
Grade*** return
Ifstatement
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
int Marks; %$^%$%$*^%
FE07
Using Variables: Initialization
• Variables may be given initial values, or
initialized, when declared. Examples:
length
int length = 7 ; 7
diameter
float diameter = 5.9 ; 5.9
initial
char initial = ‘A’ ; ‘A’
Declaration and initialization
int a = 7; 7
int b = 9; 9
char c = 'a'; a
double x = 1.2; 1.2
string s1 = "Hello, world"; Hello, world
string s2 = "1.2"; 1.2
rvalue and lvalue
• 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
• Assignment 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;
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 Literals
– Boolean type • Boolean: true, false
• bool
– Character types • Character literals
• char – 'a', 'x', '4', '\n', '$'
– Integer types
• int • Integer literals
– and short and – 0, 1, 123, -6,
long
– Floating-point types • Floating point literals
• double – 1.2, 13.345, 0.3, -0.54,
– and float
• String literals
• Standard-library types – "asdf", "Hello", "Pakistan"
– string
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> )
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';
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;
Real Values
• float
– Reserves 32 bits (4 bytes) of memory
+38
– + 1.180000x10 , 7-digit precision
– Example: float radius= 33.4221;
• double
– Reserves 64 bits (8 bytes)+308
of memory
– + 1.79000000000000x10 , 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;
bool Type
• Only 1 bit of memory required
• Literal values:
– true
– false
• Can be used in logical conditions:
– Examples:
bool RainToday=false;
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;
Summary
Input and type
– cin>>name; reads characters until a
whitespace character is seen
–Whitespace characters:
• space,
• tab,
• newline {enter key}
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;
}
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
Declaring Variables
• Before using you must declare the variables
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:…
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:…