際際滷

際際滷Share a Scribd company logo
Lectures on Numerical Methods 1
Tokens 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
Constants like 13, a, 1.3e-5 etc.
Lectures on Numerical Methods 2
Tokens 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,
kewords and constants.
Lectures on Numerical Methods 3
Basic Data Types
Integral Types
Integers are stored in various sizes. They can be signed or unsigned.
Example
Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign
bit. If the sign bit is 0, the number is treated as positive.
Bit pattern 01001011 = 75 (decimal).
The largest positive number is 01111111 = 27  1 = 127.
Negative numbers are stored as twos complement or as ones
complement.
-75 = 10110100 (ones complement).
-75 = 10110101 (twos complement).
Lectures on Numerical Methods 4
Basic Data Types
Integral Types
char Stored as 8 bits. Unsigned 0 to 255.
Signed -128 to 127.
short int Stored as 16 bits. Unsigned 0 to 65535.
Signed -32768 to 32767.
int Same as either short or long int.
long int Stored as 32 bits. Unsigned 0 to 4294967295.
Signed -2147483648 to 2147483647
Lectures on Numerical Methods 5
Basic Data Types
Floating Point Numbers
Floating point numbers are rational numbers. Always signed numbers.
float Approximate precision of 6 decimal digits .
 Typically stored in 4 bytes with 24 bits of signed mantissa and 8 bits
of signed exponent.
double Approximate precision of 14 decimal digits.
 Typically stored in 8 bytes with 56 bits of signed mantissa and 8 bits
of signed exponent.
One should check the file limits.h to what is implemented on a particular
machine.
Lectures on Numerical Methods 6
Constants
Numerical Constants
Constants like 12, 253 are stored as int type. No decimal point.
12L or 12l are stored as long int.
12U or 12u are stored as unsigned int.
12UL or 12ul are stored as unsigned long int.
Numbers with a decimal point (12.34) are stored as double.
Numbers with exponent (12e-3 = 12 x 10-3 ) are stored as double.
12.34f or 1.234e1f are stored as float.
These are not valid constants:
25,000 7.1e 4 $200 2.3e-3.4 etc.
Lectures on Numerical Methods 7
Constants
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
Lectures on Numerical Methods 8
Variables
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
Lectures on Numerical Methods 9
Declarations
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;
Lectures on Numerical Methods 10
Global 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 );
}
Lectures on Numerical Methods 11
Global 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 );
}
Lectures on Numerical Methods 12
Operators
Arithmetic Operators
+, - , *, / and the modulus operator %.
+ and  have the same precedence and associate left to right.
3  5 + 7 = ( 3  5 ) + 7  3  ( 5 + 7 )
3 + 7  5 + 2 = ( ( 3 + 7 )  5 ) + 2
*, /, % have the same precedence and associate left to right.
The +, - group has lower precendence than the *, / % group.
3  5 * 7 / 8 + 6 / 2
3  35 / 8 + 6 / 2
3  4.375 + 6 / 2
3  4.375 + 3
-1.375 + 3
1.625
Lectures on Numerical Methods 13
Operators
Arithmetic Operators
% is a modulus operator. x % y results in the remainder when x is divided
by y and is zero when x is divisible by y.
Cannot be applied to float or double variables.
Example
if ( num % 2 == 0 )
printf(%d is an even numbern, num);
else
printf(%d is an odd numbern, num);
Lectures on Numerical Methods 14
Type Conversions
The operands of a binary operator must have a the same type and the
result is also of the same type.
Integer division:
c = (9 / 5)*(f - 32)
The operands of the division are both int and hence the result also would
be int. For correct results, one may write
c = (9.0 / 5.0)*(f - 32)
In case the two operands of a binary operator are different, but
compatible, then they are converted to the same type by the compiler.
The mechanism (set of rules) is called Automatic Type Casting.
c = (9.0 / 5)*(f - 32)
It is possible to force a conversion of an operand. This is called Explicit
Type casting.
c = ((float) 9 / 5)*(f - 32)
Lectures on Numerical Methods 15
Automatic Type Casting
1. char and short operands are converted to int
2. Lower data types are converted to the higher data
types and result is of higher type.
3. The conversions between unsigned and signed types
may not yield intuitive results.
4. Example
float f; double d; long l;
int i; short s;
d + f f will be converted to double
i / s s will be converted to int
l / i i is converted to long; long result
Hierarchy
Double
float
long
Int
Short and
char
Lectures on Numerical Methods 16
Explicit Type Casting
The general form of a type casting operator is
(type-name) expression
It is generally a good practice to use explicit casts than to rely on
automatic type conversions.
Example
C = (float)9 / 5 * ( f  32 )
float to int conversion causes truncation of fractional part
double to float conversion causes rounding of digits
long int to int causes dropping of the higher order bits.
Lectures on Numerical Methods 17
Precedence and Order of
evaluation
Lectures on Numerical Methods 18
Precedence and Order of
evaluation
Lectures on Numerical Methods 19
Operators
Relational Operators
<, <=, > >=, ==, != are the relational operators. The expression
operand1 relational-operator operand2
takes a value of 1(int) if the relationship is true and 0(int) if relationship is
false.
Example
int a = 25, b = 30, c, d;
c = a < b;
d = a > b;
value of c will be 1 and that of d will be 0.
Lectures on Numerical Methods 20
Operators
Logical Operators
&&, || and ! are the three logical operators.
expr1 && expr2 has a value 1 if expr1 and expr2 both are nonzero.
expr1 || expr2 has a value 1 if expr1 and expr2 both are nonzero.
!expr1 has a value 1 if expr1 is zero else 0.
Example
if ( marks >= 40 && attendance >= 75 ) grade = P
If ( marks < 40 || attendance < 75 ) grade = N
Lectures on Numerical Methods 21
Operators
Assignment operators
The general form of an assignment operator is
v op= exp
Where v is a variable and op is a binary arithmetic operator. This
statement is equivalent to
v = v op (exp)
a = a + b can be written as a += b
a = a * b can be written as a *= b
a = a / b can be written as a /= b
a = a - b can be written as a -= b
Lectures on Numerical Methods 22
Operators
Increment and Decrement Operators
The operators ++ and - are called increment and decrement operators.
a++ and ++a are equivalent to a += 1.
a-- and --a are equivalent to a -= 1.
++a op b is equivalent to a ++; a op b;
a++ op b is equivalent to a op b; a++;
Example
Let b = 10 then
(++b)+b+b = 33
b+(++b)+b = 33
b+b+(++b) = 31
b+b*(++b) = 132
Lectures on Numerical Methods 23
Floating Point Arithmetic
Representation
All floating point numbers are stored as
such that d1 is nonzero. B is the base. p is the precision or number of
significant digits. e is the exponent. All these put together have finite
number of bits (usually 32 or 64 bits ) of storage.
Example
Assume B = 10 and p = 3.
23.7 = +0.237E2
23.74 = +0.237E2
37000 = +0.370E5
37028 = +0.370E5
-0.000124= -0.124E-4
e
p B
d
d
d 
 
2
1
.
0
Lectures on Numerical Methods 24
Floating Point Arithmetic
Representation
Sk = { x | Bk-1 <= x < Bk }. Number of elements in each Sk is same. In the
previous example it is 900.
Gap between seuccessive numbers of Sk is Bk-p.
B1-p is called machine epsilon. It is the gap between 1 and next
representable number.
Underflow and Overflow occur when number cannot be represented
because it is too small or too big.
Two floating points are added by aligning decimal points.
Floating point arithmetic is not associative and distributive.
Ad

Recommended

Chapter-2 is for tokens in C programming
Chapter-2 is for tokens in C programming
z9819898203
lecture2.ppt
lecture2.ppt
YashwanthMalviya
lecture-ON-C.ppt BASIC WITH DEPTH CONTENT
lecture-ON-C.ppt BASIC WITH DEPTH CONTENT
NagarathnaRajur2
basic of C programming (token, keywords)lecture2.ppt
basic of C programming (token, keywords)lecture2.ppt
Raglandroyal1
lecture2.ppt...............................................
lecture2.ppt...............................................
taywadebhagyashree2
C language
C language
vishnu kumar prajapati
c token used in mathemetical programming
c token used in mathemetical programming
ParamesswariNataraja
Token and operators
Token and operators
Samsil Arefin
Chapter 2: Elementary Programming
Chapter 2: Elementary Programming
Eric Chou
Introduction to C Programming -Lecture 2
Introduction to C Programming -Lecture 2
Faculty of Computers and Informatics, Suez Canal University, Ismailia, Egypt
lecture1.ppt
lecture1.ppt
MdMahediHasan54
Learn C LANGUAGE at ASIT
Learn C LANGUAGE at ASIT
ASIT
Cs1123 4 variables_constants
Cs1123 4 variables_constants
TAlha MAlik
Ch03
Ch03
Arriz San Juan
Mit6 087 iap10_lec02
Mit6 087 iap10_lec02
John Lawrence
C Language Part 1
C Language Part 1
Thapar Institute
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
anilcsbs
C++ Programming Basics.pptx
C++ Programming Basics.pptx
ZntalemAbebe
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
kiokocurtis
Basics of c
Basics of c
DebanjanSarkar11
Lab 4 reading material formatted io and arithmetic expressions
Lab 4 reading material formatted io and arithmetic expressions
AksharVaish2
C language Unit 2 際際滷s, UPTU C language
C language Unit 2 際際滷s, UPTU C language
Anurag University Hyderabad
C C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.in
TIB Academy
introduction to c programming and C History.pptx
introduction to c programming and C History.pptx
ManojKhadilkar1
C programming | Class 8 | III Term
C programming | Class 8 | III Term
Andrew Raj
C Session 2.pptx for engninering students
C Session 2.pptx for engninering students
nraj02252
C SLIDES PREPARED BY M V B REDDY
C SLIDES PREPARED BY M V B REDDY
Malikireddy Bramhananda Reddy
C language basics
C language basics
Milind Deshkar
McKinsey_Quantum-communication-trends-and-outlook.pdf
McKinsey_Quantum-communication-trends-and-outlook.pdf
Stoyan Tanev
Pushkar camel fest at college campus placement 2
Pushkar camel fest at college campus placement 2
nandanitiwari82528

More Related Content

Similar to lec1).pdfbjkbvvttytxtyvkuvvtryccjbvuvibu (20)

Chapter 2: Elementary Programming
Chapter 2: Elementary Programming
Eric Chou
Introduction to C Programming -Lecture 2
Introduction to C Programming -Lecture 2
Faculty of Computers and Informatics, Suez Canal University, Ismailia, Egypt
lecture1.ppt
lecture1.ppt
MdMahediHasan54
Learn C LANGUAGE at ASIT
Learn C LANGUAGE at ASIT
ASIT
Cs1123 4 variables_constants
Cs1123 4 variables_constants
TAlha MAlik
Ch03
Ch03
Arriz San Juan
Mit6 087 iap10_lec02
Mit6 087 iap10_lec02
John Lawrence
C Language Part 1
C Language Part 1
Thapar Institute
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
anilcsbs
C++ Programming Basics.pptx
C++ Programming Basics.pptx
ZntalemAbebe
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
kiokocurtis
Basics of c
Basics of c
DebanjanSarkar11
Lab 4 reading material formatted io and arithmetic expressions
Lab 4 reading material formatted io and arithmetic expressions
AksharVaish2
C language Unit 2 際際滷s, UPTU C language
C language Unit 2 際際滷s, UPTU C language
Anurag University Hyderabad
C C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.in
TIB Academy
introduction to c programming and C History.pptx
introduction to c programming and C History.pptx
ManojKhadilkar1
C programming | Class 8 | III Term
C programming | Class 8 | III Term
Andrew Raj
C Session 2.pptx for engninering students
C Session 2.pptx for engninering students
nraj02252
C SLIDES PREPARED BY M V B REDDY
C SLIDES PREPARED BY M V B REDDY
Malikireddy Bramhananda Reddy
C language basics
C language basics
Milind Deshkar
Chapter 2: Elementary Programming
Chapter 2: Elementary Programming
Eric Chou
Learn C LANGUAGE at ASIT
Learn C LANGUAGE at ASIT
ASIT
Cs1123 4 variables_constants
Cs1123 4 variables_constants
TAlha MAlik
Mit6 087 iap10_lec02
Mit6 087 iap10_lec02
John Lawrence
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
Module 2_PPT_P1 POP Notes module 2 fdfd.pdf
anilcsbs
C++ Programming Basics.pptx
C++ Programming Basics.pptx
ZntalemAbebe
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
chap-3-operators.ppt it has all maths problems as comp operation is concerned...
kiokocurtis
Lab 4 reading material formatted io and arithmetic expressions
Lab 4 reading material formatted io and arithmetic expressions
AksharVaish2
C language Unit 2 際際滷s, UPTU C language
C language Unit 2 際際滷s, UPTU C language
Anurag University Hyderabad
C C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.in
TIB Academy
introduction to c programming and C History.pptx
introduction to c programming and C History.pptx
ManojKhadilkar1
C programming | Class 8 | III Term
C programming | Class 8 | III Term
Andrew Raj
C Session 2.pptx for engninering students
C Session 2.pptx for engninering students
nraj02252

Recently uploaded (20)

McKinsey_Quantum-communication-trends-and-outlook.pdf
McKinsey_Quantum-communication-trends-and-outlook.pdf
Stoyan Tanev
Pushkar camel fest at college campus placement 2
Pushkar camel fest at college campus placement 2
nandanitiwari82528
Death in Sleep Apnea: Who and How It Kills
Death in Sleep Apnea: Who and How It Kills
Richard Castriotta
Gas Exchange in Insects and structures 01
Gas Exchange in Insects and structures 01
PhoebeAkinyi1
Deconstruction Analysis The adventure of devil's foot by Sir Arthur Conan Doyle
Deconstruction Analysis The adventure of devil's foot by Sir Arthur Conan Doyle
staverechard
CULTIVATION - HARVESTING - PROCESSING - STORAGE -.pdf
CULTIVATION - HARVESTING - PROCESSING - STORAGE -.pdf
Nistarini College, Purulia (W.B) India
HOW TO FACE THREATS FROM THE FORCES OF NATURE EXISTING ON PLANET EARTH.pdf
HOW TO FACE THREATS FROM THE FORCES OF NATURE EXISTING ON PLANET EARTH.pdf
Faga1939
Introduction to solar panel and about solar on grid
Introduction to solar panel and about solar on grid
vardhanreddypuli06
Citizen Science and Science communication
Citizen Science and Science communication
tarhanhatice0101
Introduction to Microbiology and Microscope
Introduction to Microbiology and Microscope
vaishrawan1
Aquatic ecosystem and its biomes involved.pdf
Aquatic ecosystem and its biomes involved.pdf
camillemaguid53
Science Holiday Homework (interesting slide )
Science Holiday Homework (interesting slide )
aryanxkohli88
Synthesis and characterization of Thiazole derivatives of N-substituted lsatin
Synthesis and characterization of Thiazole derivatives of N-substituted lsatin
Professional Content Writing's
BP_MXene_Project_Proposal_Presentation.pptx
BP_MXene_Project_Proposal_Presentation.pptx
RoccoHunter8
SCIENCE-G7-Quarter1-Week1-Day5.matatagptx
SCIENCE-G7-Quarter1-Week1-Day5.matatagptx
Pyumpyum
Pushkar camel fest at college campus placement
Pushkar camel fest at college campus placement
nandanitiwari82528
Cryptocurrency and cyber crime Presentation
Cryptocurrency and cyber crime Presentation
IqraRehaman
Pathophysiology_Unit1_BPharm CELL INJURY
Pathophysiology_Unit1_BPharm CELL INJURY
KRUTIKA CHANNE
GBSN_ Unit 1 - Introduction to Microbiology
GBSN_ Unit 1 - Introduction to Microbiology
Areesha Ahmad
Pneumonia Presentation for CPG Review and Mastery
Pneumonia Presentation for CPG Review and Mastery
JayricDepalobos
McKinsey_Quantum-communication-trends-and-outlook.pdf
McKinsey_Quantum-communication-trends-and-outlook.pdf
Stoyan Tanev
Pushkar camel fest at college campus placement 2
Pushkar camel fest at college campus placement 2
nandanitiwari82528
Death in Sleep Apnea: Who and How It Kills
Death in Sleep Apnea: Who and How It Kills
Richard Castriotta
Gas Exchange in Insects and structures 01
Gas Exchange in Insects and structures 01
PhoebeAkinyi1
Deconstruction Analysis The adventure of devil's foot by Sir Arthur Conan Doyle
Deconstruction Analysis The adventure of devil's foot by Sir Arthur Conan Doyle
staverechard
HOW TO FACE THREATS FROM THE FORCES OF NATURE EXISTING ON PLANET EARTH.pdf
HOW TO FACE THREATS FROM THE FORCES OF NATURE EXISTING ON PLANET EARTH.pdf
Faga1939
Introduction to solar panel and about solar on grid
Introduction to solar panel and about solar on grid
vardhanreddypuli06
Citizen Science and Science communication
Citizen Science and Science communication
tarhanhatice0101
Introduction to Microbiology and Microscope
Introduction to Microbiology and Microscope
vaishrawan1
Aquatic ecosystem and its biomes involved.pdf
Aquatic ecosystem and its biomes involved.pdf
camillemaguid53
Science Holiday Homework (interesting slide )
Science Holiday Homework (interesting slide )
aryanxkohli88
Synthesis and characterization of Thiazole derivatives of N-substituted lsatin
Synthesis and characterization of Thiazole derivatives of N-substituted lsatin
Professional Content Writing's
BP_MXene_Project_Proposal_Presentation.pptx
BP_MXene_Project_Proposal_Presentation.pptx
RoccoHunter8
SCIENCE-G7-Quarter1-Week1-Day5.matatagptx
SCIENCE-G7-Quarter1-Week1-Day5.matatagptx
Pyumpyum
Pushkar camel fest at college campus placement
Pushkar camel fest at college campus placement
nandanitiwari82528
Cryptocurrency and cyber crime Presentation
Cryptocurrency and cyber crime Presentation
IqraRehaman
Pathophysiology_Unit1_BPharm CELL INJURY
Pathophysiology_Unit1_BPharm CELL INJURY
KRUTIKA CHANNE
GBSN_ Unit 1 - Introduction to Microbiology
GBSN_ Unit 1 - Introduction to Microbiology
Areesha Ahmad
Pneumonia Presentation for CPG Review and Mastery
Pneumonia Presentation for CPG Review and Mastery
JayricDepalobos
Ad

lec1).pdfbjkbvvttytxtyvkuvvtryccjbvuvibu

  • 1. Lectures on Numerical Methods 1 Tokens 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 Constants like 13, a, 1.3e-5 etc.
  • 2. Lectures on Numerical Methods 2 Tokens 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, kewords and constants.
  • 3. Lectures on Numerical Methods 3 Basic Data Types Integral Types Integers are stored in various sizes. They can be signed or unsigned. Example Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign bit. If the sign bit is 0, the number is treated as positive. Bit pattern 01001011 = 75 (decimal). The largest positive number is 01111111 = 27 1 = 127. Negative numbers are stored as twos complement or as ones complement. -75 = 10110100 (ones complement). -75 = 10110101 (twos complement).
  • 4. Lectures on Numerical Methods 4 Basic Data Types Integral Types char Stored as 8 bits. Unsigned 0 to 255. Signed -128 to 127. short int Stored as 16 bits. Unsigned 0 to 65535. Signed -32768 to 32767. int Same as either short or long int. long int Stored as 32 bits. Unsigned 0 to 4294967295. Signed -2147483648 to 2147483647
  • 5. Lectures on Numerical Methods 5 Basic Data Types Floating Point Numbers Floating point numbers are rational numbers. Always signed numbers. float Approximate precision of 6 decimal digits . Typically stored in 4 bytes with 24 bits of signed mantissa and 8 bits of signed exponent. double Approximate precision of 14 decimal digits. Typically stored in 8 bytes with 56 bits of signed mantissa and 8 bits of signed exponent. One should check the file limits.h to what is implemented on a particular machine.
  • 6. Lectures on Numerical Methods 6 Constants Numerical Constants Constants like 12, 253 are stored as int type. No decimal point. 12L or 12l are stored as long int. 12U or 12u are stored as unsigned int. 12UL or 12ul are stored as unsigned long int. Numbers with a decimal point (12.34) are stored as double. Numbers with exponent (12e-3 = 12 x 10-3 ) are stored as double. 12.34f or 1.234e1f are stored as float. These are not valid constants: 25,000 7.1e 4 $200 2.3e-3.4 etc.
  • 7. Lectures on Numerical Methods 7 Constants 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
  • 8. Lectures on Numerical Methods 8 Variables 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
  • 9. Lectures on Numerical Methods 9 Declarations 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;
  • 10. Lectures on Numerical Methods 10 Global 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 ); }
  • 11. Lectures on Numerical Methods 11 Global 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 ); }
  • 12. Lectures on Numerical Methods 12 Operators Arithmetic Operators +, - , *, / and the modulus operator %. + and have the same precedence and associate left to right. 3 5 + 7 = ( 3 5 ) + 7 3 ( 5 + 7 ) 3 + 7 5 + 2 = ( ( 3 + 7 ) 5 ) + 2 *, /, % have the same precedence and associate left to right. The +, - group has lower precendence than the *, / % group. 3 5 * 7 / 8 + 6 / 2 3 35 / 8 + 6 / 2 3 4.375 + 6 / 2 3 4.375 + 3 -1.375 + 3 1.625
  • 13. Lectures on Numerical Methods 13 Operators Arithmetic Operators % is a modulus operator. x % y results in the remainder when x is divided by y and is zero when x is divisible by y. Cannot be applied to float or double variables. Example if ( num % 2 == 0 ) printf(%d is an even numbern, num); else printf(%d is an odd numbern, num);
  • 14. Lectures on Numerical Methods 14 Type Conversions The operands of a binary operator must have a the same type and the result is also of the same type. Integer division: c = (9 / 5)*(f - 32) The operands of the division are both int and hence the result also would be int. For correct results, one may write c = (9.0 / 5.0)*(f - 32) In case the two operands of a binary operator are different, but compatible, then they are converted to the same type by the compiler. The mechanism (set of rules) is called Automatic Type Casting. c = (9.0 / 5)*(f - 32) It is possible to force a conversion of an operand. This is called Explicit Type casting. c = ((float) 9 / 5)*(f - 32)
  • 15. Lectures on Numerical Methods 15 Automatic Type Casting 1. char and short operands are converted to int 2. Lower data types are converted to the higher data types and result is of higher type. 3. The conversions between unsigned and signed types may not yield intuitive results. 4. Example float f; double d; long l; int i; short s; d + f f will be converted to double i / s s will be converted to int l / i i is converted to long; long result Hierarchy Double float long Int Short and char
  • 16. Lectures on Numerical Methods 16 Explicit Type Casting The general form of a type casting operator is (type-name) expression It is generally a good practice to use explicit casts than to rely on automatic type conversions. Example C = (float)9 / 5 * ( f 32 ) float to int conversion causes truncation of fractional part double to float conversion causes rounding of digits long int to int causes dropping of the higher order bits.
  • 17. Lectures on Numerical Methods 17 Precedence and Order of evaluation
  • 18. Lectures on Numerical Methods 18 Precedence and Order of evaluation
  • 19. Lectures on Numerical Methods 19 Operators Relational Operators <, <=, > >=, ==, != are the relational operators. The expression operand1 relational-operator operand2 takes a value of 1(int) if the relationship is true and 0(int) if relationship is false. Example int a = 25, b = 30, c, d; c = a < b; d = a > b; value of c will be 1 and that of d will be 0.
  • 20. Lectures on Numerical Methods 20 Operators Logical Operators &&, || and ! are the three logical operators. expr1 && expr2 has a value 1 if expr1 and expr2 both are nonzero. expr1 || expr2 has a value 1 if expr1 and expr2 both are nonzero. !expr1 has a value 1 if expr1 is zero else 0. Example if ( marks >= 40 && attendance >= 75 ) grade = P If ( marks < 40 || attendance < 75 ) grade = N
  • 21. Lectures on Numerical Methods 21 Operators Assignment operators The general form of an assignment operator is v op= exp Where v is a variable and op is a binary arithmetic operator. This statement is equivalent to v = v op (exp) a = a + b can be written as a += b a = a * b can be written as a *= b a = a / b can be written as a /= b a = a - b can be written as a -= b
  • 22. Lectures on Numerical Methods 22 Operators Increment and Decrement Operators The operators ++ and - are called increment and decrement operators. a++ and ++a are equivalent to a += 1. a-- and --a are equivalent to a -= 1. ++a op b is equivalent to a ++; a op b; a++ op b is equivalent to a op b; a++; Example Let b = 10 then (++b)+b+b = 33 b+(++b)+b = 33 b+b+(++b) = 31 b+b*(++b) = 132
  • 23. Lectures on Numerical Methods 23 Floating Point Arithmetic Representation All floating point numbers are stored as such that d1 is nonzero. B is the base. p is the precision or number of significant digits. e is the exponent. All these put together have finite number of bits (usually 32 or 64 bits ) of storage. Example Assume B = 10 and p = 3. 23.7 = +0.237E2 23.74 = +0.237E2 37000 = +0.370E5 37028 = +0.370E5 -0.000124= -0.124E-4 e p B d d d 2 1 . 0
  • 24. Lectures on Numerical Methods 24 Floating Point Arithmetic Representation Sk = { x | Bk-1 <= x < Bk }. Number of elements in each Sk is same. In the previous example it is 900. Gap between seuccessive numbers of Sk is Bk-p. B1-p is called machine epsilon. It is the gap between 1 and next representable number. Underflow and Overflow occur when number cannot be represented because it is too small or too big. Two floating points are added by aligning decimal points. Floating point arithmetic is not associative and distributive.