2. DATA TYPES
Data types are means to identify the type of data and
associated operations of handling it. C++ provides a
predefined set of data types for handling the data it
uses. When variables are declared of a particular data
type then the variable becomes the place where the
data is stored and data types is the type of value(data)
stored by that variable. Data can be of may types such
as character, integer, real etc. since the data to be
dealt with are of may types, a programming language
must provide different data types.
5. Integers are whole numbers with a machine
dependent range of values. A good programming
language as to support the programmer by
giving a control on a range of numbers and
storage space. C has 3 classes of integer
storage namely short int, int and long int. All of
these data types have signed and unsigned
forms. A short int requires half the space than
normal integer values. Unsigned numbers are
always positive and consume all the bits for the
magnitude of the number. The long and
unsigned integers are used to declare a longer
range of values.
6. CHARACTER DATA TYPECHARACTER DATA TYPE
It can store any member of the C++
implementation's basic character set. If
a character from this set is stored in a
character variable, its value is
equivalent to the integer code of that
character. Character data type is often
called as integer data type because
the memory implementation of char
data type is in terms of the number
code.
7. FLOAT DATA TYPE
A number having fractional part is a floating-
point number. An identifier declared as float
becomes a floating-point variable and can hold
floating-point numbers. floating point variables
represent real numbers. They have two
advantages over integer data types:-
1: they can represent values between integers.
2: they can represent a much greater range of
values.
they have one disadvantage also, that is their
operations are usually slower.
8. The data type double is also used for handling
floating-point numbers. But it is treated as a
distinct data type because, it occupies twice as
much memory as type float, and stores floating-
point numbers with much larger range and
precision. It is slower that type float.
9. It specifies an empty set of values. It is used
as the return type for functions that do not
return a value. No object of type void may be
declared. It is used when program or
calculation does not require any value but
the syntax needs it.
10. int age = 0; will declare an integer variable called
age initialized to the value 0.
char letter = 'A'; will declare a char variable that
will be initialized to an uppercase A.
string name = ""; will declare a variable called
name of type string and initialize it to nothing
(a.k.a. the empty string).
float f; will simply just declare a float variable
called f.
double trouble; will simply just declare a double
variable called trouble.
11. #include <iostream.h>
#include <string.h>
using namespace std;
int main()
{
▪ string name = "";
▪ int age = 0;
▪ cout << "Enter your first name: ";
▪ cin >> name; cout << "Now enter your age (be honest): ";
▪ cin >> age; cout << "Hello " << name << ".You are " << age << " years
old." << endl;
▪ return 0;
}
12. DATA TYPE MODIFIERS
INTEGER TYPE
MODIFIERS
CHARACTER TYPE
MODIFIERS
FLOATING-POINT
MODIFIERS
THEY CHANGE SOME
PROPERTIES OF THE DATA
TYPE
13. INTEGER TYPE MODIFIERS
• C++ offers three types of integer data type:-
1:- short integer- at least two bytes.
2:- int integer – at least as big as short.
3:- long integer-at least four bytes.
the prefix signed makes the integer type hold
negative values also. Unsigned makes the integer
not to hold negative values.
14. TYPE APPROXIMATE
SIZE
MINIMAL RANGE
SHORT 2 -32768 to 32767
UNSIGNED
SHORT
2 0 to 65,535
SIGNED SHORT 2 Same as short
INT 2 -32768 to 32767
UNSIGNED INT 2 0 to 65,535
SIGNED INT 2 Same as int
LONG 4 -2,147,483,648 TO 2,147,483,647
UNSIGNED
LONG
4 0 to 4,294,967,295
SIGNED LONG 4 Same as long
15. CHARACTER TYPE
MODIFIER
The char can also be signed or unsigned. unlike
int,char is not signed or unsigned by default. It is later
modified to best fit the type to the hardware
properties.
TYPE APPROXIMAT
E SIZE
MINIMAL
RANGE
CHAR 1 -128 to 127
UNSIGNED
CHAR
1 0 to 255
SIGNED CHAR 1 Same as char
16. FLOATING POINT TYPE
MODIFIERS
There are three floating-point types: float, double, and long
double. These types represent minimum allowable range of
types.
Note:- don’t use commas in numeric values assigned to
variables.
TYPE APPROXIMA
TE SIZE
DIGITS
OF
PRECISIO
N
FLOAT 4 7
LONG
DOUBLE
8 15
LONG 10 19
17. Name Description Size* Range*
char Character or small integer. 1byte
signed: -128 to 127
unsigned: 0 to 255
short int (short) Short Integer. 2bytes
signed: -32768 to 32767
unsigned: 0 to 65535
int Integer. 4bytes
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
long int (long) Long integer. 4bytes
signed: -2147483648 to
2147483647
unsigned: 0 to 4294967295
float Floating point number. 4bytes +/- 3.4e +/- 38 (~7 digits)
double
Double precision floating
point number.
8bytes +/- 1.7e +/- 308 (~15 digits)
long double
Long double precision
floating point number.
8bytes +/- 1.7e +/- 308 (~15 digits)
19. ARRAYS
An array is a series of elements of the same type placed in
contiguous memory locations that can be individually
referenced by adding an index to a unique identifier.
That means that, for example, we can store 5 values of type int
in an array without having to declare 5 different variables, each
one with a different identifier. Instead of that, using an array we
can store 5 different values of the same type, int for example,
with a unique identifier.
Like a regular variable, an array must be declared before it is
used. A typical declaration for an array in C++ is:
type name [elements];
NOTE:The elements field within brackets [ ] which represents the
number of elements the array is going to hold, must be a constant
value, since arrays are blocks of non-dynamic memory whose size
must be determined before execution.
20. VALID OPERATIONS WITH ARRAYS:-
billy[0] = a;
billy[a] = 75;
b = billy [a+2];
billy[billy[a]] = billy[2] + 5;
PROGRAM:-
// arrays example
#include <iostream>
using namespace std;
int billy [] = {16, 2, 77, 40, 12071};
int n, result=0;
int main () OUTPUT:- 12206
{
for ( n=0 ; n<5 ; n++ )
{
result += billy[n];
}
cout << result;
return 0;
}
21. FUNCTIONS:-
Function groups a number of program statements into a unit and gives it
a name. This unit can be invoked from other parts of a program. A
computer program cannot handle all the tasks by it self. Instead its
requests other program like entities – called functions in C – to get its
tasks done. A function is a self contained block of statements that
perform a coherent task of same kind.
The name of the function is unique in a C Program and is Global. It means
that a function can be accessed from any location with in a C Program.
We pass information to the function called arguments specified when
the function is called. And the function either returns some value to the
point it was called from or returns nothing.
We can divide a long C program into small blocks which can perform a
certain task. A function is a self contained block of statements that
perform a coherent task of same kind.
We first declare the function and then at the end of the program we
define the function.
22. POINTERS:-
The memory of your computer can be imagined as a
succession of memory cells, each one of the minimal size
that computers manage (one byte). These single-byte
memory cells are numbered in a consecutive way, so as,
within any block of memory, every cell has the same
number as the previous one plus one.
This way, each cell can be easily located in the memory
because it has a unique address and all the memory cells
follow a successive pattern. For example, if we are looking
for cell 1776 we know that it is going to be right between
cells 1775 and 1777, exactly one thousand cells after 776
and exactly one thousand cells before cell 2776.
The general form of declaring the pointer is
type*ptr;
23. It is an alternative name for an object. A
reference variable provides an alias for a
previously defined variable. It’s declaration
consists of a base type, an &(ampersand), a
reference variable name equated to a variable
name.
the general form of declaring is:-
type&ref-var = var-name;
24. CONSTANTS:-
C++ constants are not very different from any C++ variable. They
are defined in a similar way and have the same data types and the
same memory limitations. However, there is one major difference -
once a constant has been created and value assigned to it then that
value may not be changed.
Defining Constants with C++
There are actually three ways of defining a constant in a C++ program:
A. by using the preprocessor
B. by using the const key word
C. by using enumerators - these will have a range of integer values
It's also worth noting that there are two types of constant: literal and
symbolic.
the general form of declaring a variable is:-
const int upperage = 50;
26. Class: A class is a collection of variables and
function under one reference name. it is the
way of separating and storing similar data
together. Member functions are often the
means of accessing, modifying and operating
the data members (i.e. variables). It is one
of the most important features of C++ since
OOP is usually implemented through the use
of classes.
27. Classes are generally declared using
the keyword class, with the following
format:
class class_name { access_specifier_1:
member1;
access_specifier_2:
member2; ...
} object_names;
28. STRUCTURES:-
A data structure is a group of data elements grouped together under one name.
These data elements, known as members, can have different types and different
lengths.
Data structures are declared in C++ using the following syntax:
struct structure_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
where structure_name is a name for the structure type, object_name can be a set
of valid identifiers for objects that have the type of this structure. Within braces {
} there is a list with the data members, each one is specified with a type and a
valid identifier as its name.
Structure is different from an array in the sense that an array represents an
aggregate of elements of same type whereas a structure represents an aggregate
of elements of arbitrary types..
29. Unions allow one same portion of memory to be accessed as different data
types, since all of them are in fact the same location in memory. Its declaration
and use is similar to the one of structures but its functionality is totally
different:
union union_name {
member_type1 member_name1;
member_type2 member_name2;
member_type3 member_name3;
.
.
} object_names;
All the elements of the union declaration occupy the same physical space in
memory. Its size is the one of the greatest element of the declaration.
all of them are referring to the same location in memory, the modification of
one of the elements will affect the value of all of them. We cannot store
different values in them independent of each other.
One of the uses a union may have is to unite an elementary type with an array
or structures of smaller elements.
The exact alignment and order of the members of a union in memory is
platform dependant. Therefore be aware of possible portability issues with this
type of use.
30. ENUMERATION:-
It can be used to assign names to integer constants.
//Program to illustrate Enumerator
#include<iostream.h>
void main(void)
{
enum type{POOR,GOOD,EXCELLENT};//this is the syntax of enumerator
int var;
var=POOR;//this makes programs more understandable
cout<<var<<endl;
var=GOOD;
cout<<var<<endl;
var=EXCELLENT;
cout<<var;
}
//poor=0
good=1
excellent=2
31. We have so many data types to allow the
programmer to take advantage of hardware
characteristics. Machines are significantly
different in their memory requirements,
memory access times, and computation speeds.