DATA TYPE
BOLA AKANDE
COSC101
DATA TYPES
The data type of an object in memory
determines the set of values it can have and
what operations that can be performed on
it. Examples of data types, int, float, char etc.
Thus if a data type is an integer or float you can
perform arithmetic operations on it.
It also signifies the way data is represented.
C is a strongly typed language because
variables i.e. data must be declared before use.
DATATYPES
C has a small family of data types.
Numeric (int, float, double)
Character (char)
User defined (struct, union, array)
NUMERIC DATA TYPES
int: Data type int is used for whole numbers.
int specifies integer. int occupies 4 bytes in
the memory and it can be as low as 2 bytes.
float: it is used for specifying floating point
numbers i.e. decimals, it specifies the
fractional part of a number up to a single
precision. It occupies 4 bytes memory space.
NUMERIC DATA TYPES
double: it specifies a double-precision
fractional number. Thus its used for large
precision. It has the largest range in the
computer. It occupies 8 to 16bytes
CHAR
char: it’s a data type for specifying one
character. It has the smallest range. It
occupies 1 byte.
In ANSI C we have character constant, arrays
of characters, and other character handling
function.
NOTE THESE……….
float and double can also store whole
numbers
Note that precision means number of digits
used in expressing a value.
Also the space a data type occupies in the
memory (i.e. its range) is machine
dependent.
Real numbers is the same thing as float.
DERIVED DATA TYPES
There are other data types which are defined
by users and called derived types.
There are infinite number of derived types,
common examples are arrays, structures,
and pointers.
They are constructed to meet user’s specific
needs.
WHAT ARE VARIABLES?
Variables
Named memory location
Their value can change during the execution of
a program
In ANSI C programs, all variables must be
declared prior to their use. This property
makes C to be a strongly typed language.
VARIABLES
A variable is as named link/reference to a
value stored in the system’s main memory or
it is an expression that can be evaluated.
Consider: int x=0,y=0;
int y=x+2;.
x, y are variables
y = x +2 is an expression,+ is an operator.
SYNTAX FOR VARIABLE
DECLARATION
Note that variables are declared by the
association of a data type with a variable
name.
Variable declaration syntax is as follows:
<data-type><identifier or variable name>;
For example
int x;
float area;
double temp;
char sex=‘f’;
INITIALIZING VARIABLES
Intialization means declaring the first or starting value
or constant value of a variable that has been
previously declared or has just been declared.
By default a variable which is not intialize will take a 0
value, thus if you don’t want your variable to be 0
then you must initialized it.
Point of initialization:
at the point of declaration e.g.
int n=3;
INITIALIZING VARIABLES
char x; /∗ uninitialized ∗/
char x=’A’; /∗ intialized to ’A’∗/
char x=’A’,y=’B’; /∗multiple variables
initialized, meaning variable x will take
character A while variable y will take
character B∗/
char x=y=’Z’; /∗multiple initializations this
means character Z is assigned to
variables x and y∗/
HOW?
Variables is intialized through assignment
operator i.e. =
Decalration and intialization can be done thus:
int a,b,c =0, d=4;
OR
int a=0;
=+
MEMORY CONCEPTS
Variable names such as r, and area actually correspond
to locations in the computer’s memory.
Every variable has a name, a type and a value.
when the statement
scanf( "%f", &r ); /* read a floating value */
isexecuted, the value typed by the user is placed into a
memory location to which the name r has been assigned.
Suppose the user enters the number 2 as the value for r.
The computer will place 2 into location r
The statement
area = PI * r * r; /* assign value to area */
thatperforms the multiplications also replaces whatever
value was stored in area.
QUIZ
Pick out the errors
# include <stdio.h>
int main (void)
{
int h=10;
float y
float x
h*y=x
printf(“the product is ” +x);
}
EXTERNAL/GLOBAL AND LOCAL
VARIABLES
Differences:
The scope of external variable is from the
point of declaration to the end of the
program.
Scope of local or automatic variable is
only within the function where it is
declared.
External variable remains in existence
permanently i.e. they retain their values
even if after the function that set them have
returned.
Local variables are temporal; they only
exists when the function that sets them
exists.
IDENTIFIER
An identifier refers directly to the data stored
in a particular memory location
Variable names are known as identifiers
Identifiers can contain letters, digits,
underscore but it must not start with a digit or
an underscore.
In ANSI C the first 63 characters of an
identifier is significant.
This is to increase portability and reduce
errors.
RULES FOR NAMING IDENTIFIERS
Rules govern the names that can be
used as identifiers.
Do not use C keywords (reserved) as identifiers
Identifiers are case sensitive
Identifiers must not start with a numeric or
digit character
Identifiers must not include punctuation,
control, or special characters
It must not include space.
An identifier can start with an underscore
e.g._age
For external variables, only the first of
identifiers are significant31 characters
Do not use an hyphen, the compiler treat it as
minus.
NAMING IDENTIFIER CONTD
Do not use C keywords(reserved) as identifiers
C has only 32 keywords
auto, double, int, struct, long, enum, register, typedef,
char, extern, union, const, float, short, unsigned, signed,
void, volatile, if, else while , for, do, double etc.
These keywords cannot be redefined for they already
have an intended meaning or interpretation.
Identifiers are case sensitive
Case sensitivity means that an uppercase letter is not
considered to be the same as its lowercase equivalent
For example, identifiers EMPL_NO and empl_no are different.
NAMING IDENTIFIER CONTD
Identifiers must not start with a numeric character
5age is illegal X
Identifiers must not include punctuation, control,
or special characters
?. @, ” are illegal X
Standard C practice is to use lowercase letters for
variable names
n=0;
And you use uppercase for symbolic constants
PI = 3.142
NAMING IDENTIFIERS
Names that begin with the underscore
character are traditionally used in libraries
for values or functions,
so it is better to avoid using names that
begin with an underscore in simple
application programs.
note also that library functions like printf()
are not part of C keywords.
This is because they can be redefined though
they have been predefined.
EXERCISE
Pop quiz (correct/incorrect):
int money$owed;
int total_count;
int score2;
int 2ndscore;
int long;