Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Data type in c
1. 1
DATA TYPE IN CDATA TYPE IN C
This session Outline
Tokens
Data Types
Statements Types
2. 2
Tokens in CTokens in C
5 Tokens
1. Keywords
2. Identifiers
3. Constants/Literals
4. Operators
5. White Spaces/Other symbols
Basic elements for building a program
3. 3
Tokens in CTokens in C
Keywords
These are reserved words of the C language. For example int,
float, if, else, for, while etc.
Identifiers
An Identifier is a sequence of letters and digits, but must start with a
letter. Underscore ( _ ) is treated as a letter. Identifiers are case sensitive.
Identifiers are used to name variables, functions etc.
Valid: Root, _getchar, __sin, x1, x2, x3, x_1, If
Invalid: 324, short, price$, My Name
Constants/Literals
Constants like 13, ‘a’, 1.3e-5, “Raj” etc.
Integer constant
Character constant
String constant
Float or Real constant
4. Lectures on Busy Bee Workshop 4
Tokens in CTokens in C
String Literals
A sequence of characters enclosed in double quotes as “…”. For
example “13” is a string literal and not number 13. ‘a’ and “a” are
different.
Operators
Arithmetic operators like +, -, *, / ,% etc.
Logical operators like ||, &&, ! etc. and so on.
White Spaces
Spaces, new lines, tabs, comments ( A sequence of characters enclosed
in /* and */ ) etc. These are used to separate the adjacent identifiers,
keywords and constants.
5. Lectures on Busy Bee Workshop 5
Tokens in C - ExampleTokens in C - Example
void main()
{
int a=25;
float b=45.0;
char c='A';
float sum;
sum=a+b+c;
printf("Result =%fn",sum);
}
What will be the output?
Tokens
Keywords?
Identifiers?
Constants?
Operators?
Symbols?
6. Lectures on Busy Bee Workshop 6
Basic Data TypesBasic Data Types
Data types are used to indicate the nature
and size of the data.
Data Type Nature Size Range
char Character constant 1 Byte – 8 bits -128 to 127
int Integer constant 2 Bytes – 16 bits -32768 to 32767
float Real constant 4 Bytes – 32 bits 3.4 * (10**-38) to
3.4 * (10**+38)
double Real constant 8 Bytes – 64 bits 1.7 * (10**-308) to
1.7 * (10**+308)
Type Modifiers - signed, unsigned, short, and long
A type modifier alters the meaning of the base data type to yield a
new type.
7. Lectures on Busy Bee Workshop 7
Data TypesData Types
Integral data types – Numbers without decimal point
char / signed char Stored as 8 bits. Unsigned 0 to 255.
unsigned char Signed -128 to 127.
int /signed int Stored as 16 bits. Unsigned 0 to 65535.
unsigned int Signed -32768 to 32767.
short int Same as int.
long / long int Stored as 32 bits. Unsigned 0 to 4294967295.
signed long /signed long int Signed -2147483648 to 2147483647
unsigned long int
All of the type modifiers can be applied to the base type int.
signed and unsigned can also be applied to the base type char.
Control String/Format Specifier
– %c, %h, %d, %l, %u, %ul
These are not valid constants: ?
25,000 7.1e 4 $200 2.3e-3.4 etc.
8. Lectures on Busy Bee Workshop 8
Data TypesData Types
Floating Point Numbers
Floating point numbers are rational numbers. Always signed numbers. i.e
Numbers with decimal point.
float
• Typically stored in 4 bytes(32 bits)
• Range - 3.4 * (10**-38) to 3.4 * (10**+38)
Double
• Typically stored in 8 bytes(64 bits)
• Range - 1.7 * (10**-308) to 1.7 * (10**+308).
Long double
• Typically stored in 10 bytes (80 bits)
• Range - 3.4 * (10**-4932) to 1.1 * (10**+4932)
Control String/Format Specifier
– %f, %e, %lf
9. Lectures on Busy Bee Workshop 9
Data TypesData Types
Character and string constants
‘c’ , a single character in single quotes are stored as char.
Some special character are represented as two characters in single
quotes.
‘n’ = newline, ‘t’= tab, ‘’ = backlash, ‘”’ = double
quotes.
Char constants also can be written in terms of their ASCII code.
‘060’ = ‘0’ (Decimal code is 48).
A sequence of characters enclosed in double quotes is called a string
constant or string literal. For example
“Charu”
“A”
“3/9”
“x = 5”
10. Lectures on Busy Bee Workshop 10
Data TypesData Types
Character and String data types
char /signed char/unsigned char
• Typically stored in 1 byte(8 bits)
• Range – signed -128 to 127, unsigned 0 to 255
char name[20] – Character Array
• Above example occupy 20 bytes to store maximum of 20 characters
of any one name.
• char name[5][20] – Store any five name, each name have
maximum of 20 letters each.
Control String/Format Specifier
– %c, %s
11. Lectures on Busy Bee Workshop 11
Data Types - SummaryData Types - Summary
Data Types Length Range
unsigned char 8 bits 0 to 255
char 8 bits -128 to 127
unsigned int 16 bits 0 to 65,535
short int 16 bits -32,768 to 32,767
int 16 bits -32,768 to 32,767
enum 16 bits -32,768 to 32,767
unsigned long 32 bits 0 to 4,294,967,295
long 32 bits -2,147,483,648 to 2,147,483,647
float 32 bits 3.4 * (10**-38) to 3.4 * (10**+38)
double 64 bits 1.7 * (10**-308) to 1.7 * (10**+308)
long double 80 bits 3.4 * (10**-4932) to 1.1 * (10**+4932)
12. Lectures on Busy Bee Workshop 12
enum & typedef Typeenum & typedef Type
Enum
Defines a set of constants of type int.
Example:
enum modes { LASTMODE = -1, BW40 = 0, C40, BW80, C80,
MONO = 7 };
Here "modes" is the type tag. "LASTMODE", "BW40",
"C40", etc. are the constant names. The
value of C40 is 1 (BW40 + 1); BW80 = 2 (C40
+ 1), etc.
typedef
Define a new data type using existing types
Example :
typedef int Number;
typedef char String[20];
13. Lectures on Busy Bee Workshop 13
VariablesVariables
Naming a Variable
Must be a valid identifier.
Must not be a keyword
Names are case sensitive.
Variables are identified by only first 32 characters.
Library commonly uses names beginning with _.
Naming Styles: Uppercase style and Underscore style
lowerLimit lower_limit
incomeTax income_tax
14. Lectures on Busy Bee Workshop 14
DeclarationsDeclarations
Declaring a Variable
Each variable used must be declared.
A form of a declaration statement is
data-type var1, var2,…;
Declaration announces the data type of a variable and allocates
appropriate memory location. No initial value (like 0 for integers) should
be assumed.
It is possible to assign an initial value to a variable in the declaration
itself.
data-type var = expression;
Examples
int sum = 0;
char newLine = ‘n’;
float epsilon = 1.0e-6;
15. Lectures on Busy Bee Workshop 15
Global and Local VariablesGlobal and Local Variables
Global Variables
These variables are
declared outside all
functions.
Life time of a global
variable is the entire
execution period of the
program.
Can be accessed by any
function defined below the
declaration, in a file.
/* Compute Area and Perimeter of a
circle */
#include <stdio.h>
float pi = 3.14159; /* Global */
main() {
float rad; /* Local */
printf( “Enter the radius “ );
scanf(“%f” , &rad);
if ( rad > 0.0 ) {
float area = pi * rad * rad;
float peri = 2 * pi * rad;
printf( “Area = %fn” , area );
printf( “Peri = %fn” , peri );
}
else
printf( “Negative radiusn”);
//printf( “Area = %fn” , area );
}
/* Compute Area and Perimeter of a
circle */
#include <stdio.h>
float pi = 3.14159; /* Global */
main() {
float rad; /* Local */
printf( “Enter the radius “ );
scanf(“%f” , &rad);
if ( rad > 0.0 ) {
float area = pi * rad * rad;
float peri = 2 * pi * rad;
printf( “Area = %fn” , area );
printf( “Peri = %fn” , peri );
}
else
printf( “Negative radiusn”);
//printf( “Area = %fn” , area );
}
16. Lectures on Busy Bee Workshop 16
Global and Local VariablesGlobal and Local Variables
Local Variables
These variables are
declared inside some
functions.
Life time of a local
variable is the entire
execution period of the
function in which it is
defined.
Cannot be accessed by any
other function.
In general variables
declared inside a block
are accessible only in
that block.
/* Compute Area and Perimeter of a
circle */
#include <stdio.h>
float pi = 3.14159; /* Global */
main() {
float rad; /* Local */
printf( “Enter the radius “ );
scanf(“%f” , &rad);
if ( rad > 0.0 ) {
float area = pi * rad * rad;
float peri = 2 * pi * rad;
printf( “Area = %fn” , area );
printf( “Peri = %fn” , peri );
}
else
printf( “Negative radiusn”);
//printf( “Area = %fn” , area );
}
/* Compute Area and Perimeter of a
circle */
#include <stdio.h>
float pi = 3.14159; /* Global */
main() {
float rad; /* Local */
printf( “Enter the radius “ );
scanf(“%f” , &rad);
if ( rad > 0.0 ) {
float area = pi * rad * rad;
float peri = 2 * pi * rad;
printf( “Area = %fn” , area );
printf( “Peri = %fn” , peri );
}
else
printf( “Negative radiusn”);
//printf( “Area = %fn” , area );
}
17. Statement TypesStatement Types
Input Statements – scanf(), getchar(), gets() etc
Output Statements – printf(), putchar(), puts() etc
Declaration Statement – Datatype variablelist;
Assignment Statements - variable=expression;/(=,+=,-+,*=,/=)
Control statements – if, if …else, nested if, switch
Iteration statements – for, while, do while
Lectures on Busy Bee Workshop 17
18. Try this in lab sessionTry this in lab session
Program for print the memory allocation of all
data types.
Program for print your address label.
Program for add this two number 1,20,000 and
80,500.
Write a program to illustrate enum & typedef.
Rewrite Program 2 for statements illustration (i.e
Get any number <5, 1 time, or 2 time.
Lectures on Busy Bee Workshop 18
1. Know the date type size
2. Flow control, tokens
3. Size limit, control string
4. enum & typedef
5. Statements