SlideShare a Scribd company logo
VARIABLES, DATA
TYPES, OPERATOR &
EXPRESSION
Chap 23/8/2016
1
Contents
 2.1 Character Set
 2.2 C Tokens
 Keywords & Identifiers
 Constants
 Integer, Floating Point,
Character, String,
 Enumeration
 2.3 Backslash characters /
Escape sequences
 2.4 Data Types in C
 2.5 Variables
 2.6 Declaration & Definition
 2.7 User-Defined Type
declarations
2.8 Operators & Expressions
Arithmetic, Relational, Logical,
Increment
Decrement , Bit wise,
Assignment,
Conditional
2.9 Type conversions in
Expressions
2.10 Implicit Type Conversion
2.11 Explicit Type Conversions
2.12 Precedence &
Associability of Operators.
3/8/2016
2
2.1 character set in c
3
3/8/2016
2.1 character set in c
3/8/2016
4
2.2 C tokens
3/8/2016
5
 Smallest individual units is called as ‘Tokens ‘
Keywords And Identifiers
3/8/2016
6
 Every C word is classified either “Keyword” or
“Identifier “.
Rules for Keywords
 Has fixed meaning
 Meaning can not be changed
 Served as basic building block for program
statement.
 Must be written in lower case
Keywords and Identifiers
3/8/2016
7
Keywords and Identifiers
3/8/2016
8
 Identifiers
Refer to names of variables , functions and arrays
Rules for identifiers
1. First character must be an alphabet (or
underscore)
2. Must consist of only letters, digits or
underscore.
3. Only first 31 characters are significant.
4. Cannot use a keyword
5. Must not contain white space
Constants
3/8/2016
9
Constants
Numeric
Constants
Integer
Constants
Real
Constants
Character
constants
Single
Character
Constants
String
Constants
Constants in C refers to fixed values and do not change during the
execution of a program
constants
3/8/2016
10
 Integer Constants
 Real Constants
can be represented as exponential format.
mantissa e exponent
Mantissa is either a real number expressed in
decimal notation or integer
The exponent is an integer number with an
optional plus or minus sign
The letter e can be written in lowercase or
uppercase.
constants
11
 Single character constants
 String constants
 Backslash Character constants – useful in output
functions
 also known as escape sequences
3/8/2016
Escape seqence
3/8/2016
12
Variables
3/8/2016
13
 A data name used to store data values
 May take different values at different times of
program execution
 Rules for variable
1. Should not be keyword
2. Should not contain white space
3. Uppercase and lower case are significant
4. Must begin with letter ( or underscore)
5. Normally should not be more than eight
characters.
Data Transformation
 Programs transform data from one form to
another
 Input data  Output data
 Stimulus  Response
 Programming languages store and process data
in various ways depending on the type of the
data; consequently, all data read, processed, or
written by a program must have a type
 Two distinguishing characteristics of a
programming language are the data types it
supports and the operations on those data types
2.4 Data types
3/8/2016
15
 C is rich in its data type.
 Variety of data type allows programmer to
select appropriate data type as per need
 ANSI supports 3 classes of data type
1. Primary or fundamental data type
2. Derived data type
3. User defined data type.
Data types in C
3/8/2016
16
Data types in C
3/8/2016
17
3/8/2016
18
19
2.8 OPERATORS AND
EXPRESSIONS
Expressions
Combination of Operators and Operands
Example 2 * y + 5
Operands
Operators
Definition
“An operator is a symbol (+,-,*,/) that directs the computer
to perform certain mathematical or logical manipulations
and is usually used to manipulate data and variables”
Ex: a+b
Operators in C
1. Arithmetic operators
2. Relational operators
3. Logical operators
4. Assignment operators
5. Increment and decrement operators
6. Conditional operators
7. Bitwise operators
8. Special operators
Arithmetic operators
Operator example Meaning
+ a + b Addition –unary
- a – b Subtraction- unary
* a * b Multiplication
/ a / b Division
% a % b Modulo division- remainder
Relational Operators
Operator Meaning
< Is less than
<= Is less than or equal to
> Is greater than
>= Is greater than or equal to
== Equal to
!= Not equal to
Logical Operators
Operator Meaning
&& Logical AND
|| Logical OR
! Logical NOT
Logical expression or a compound relational
expression-
An expression that combines two or more
relational expressions
Ex: if (a==b && b==c)
Truth Table
a b
Value of the expression
a && b a || b
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
Assignment operators
Syntax:
v op = exp;
Where v = variable,
op = shorthand assignment operator
exp = expression
Ex: x=x+3
x+=3
Shorthand Assignment operators
Simple assignment
operator
Shorthand operator
a = a+1 a + =1
a = a-1 a - =1
a = a* (m+n) a * = m+n
a = a / (m+n) a / = m+n
a = a %b a %=b
Increment & Decrement Operators
C supports 2 useful operators namely
1. Increment ++
2. Decrement – operators
The ++ operator adds a value 1 to the operand
The – operator subtracts 1 from the operand
++a or a++
--a or a--
Rules for ++ & -- operators
1. These require variables as their operands
2. When postfix either ++ or – is used with the
variable in a given expression, the expression
is evaluated first and then it is incremented or
decremented by one
3. When prefix either ++ or – is used with the
variable in a given expression, it is
incremented or decremented by one first and
then the expression is evaluated with the new
value
Examples for ++ & -- operators
Let the value of a =5 and b=++a then
a = b =6
Let the value of a = 5 and b=a++ then
a =5 but b=6
i.e.:
1. a prefix operator first adds 1 to the operand and
then the result is assigned to the variable on the
left
2. a postfix operator first assigns the value to the
variable on left and then increments the
operand.
Conditional operators
Syntax:
exp1 ? exp2 : exp3
Where exp1,exp2 and exp3 are expressions
Working of the ? Operator:
Exp1 is evaluated first, if it is nonzero(1/true) then the expression2 is
evaluated and this becomes the value of the expression,
If exp1 is false(0/zero) exp3 is evaluated and its value becomes the
value of the expression
Ex: m=2;
n=3
r=(m>n) ? m : n;
Bitwise operators
These operators allow manipulation of data at the bit level
Operator Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
<< Shift left
>> Shift right
Special operators
1. Comma operator ( ,)
2. sizeof operator – sizeof( )
3. Pointer operators – ( & and *)
4. Member selection operators – ( . and ->)
Arithmetic Expressions
Algebraic expression C expression
axb-c a*b-c
(m+n)(x+y) (m+n)*(x+y)
a*b/c
3x2+2x+1 3*x*x+2*x+1
a/b
S=(a+b+c)/2
c
ab
b
a
2
cba 
S=
Arithmetic Expressions
Algebraic expression C expression
area= area=sqrt(s*(s-a)*(s-b)*(s-c))
sin(b/sqrt(a*a+b*b))
tow1=sqrt((rowx-rowy)/2+tow*x*y*y)
tow1=sqrt(pow((rowx-rowy)/2,2)+tow*x*y*y)
y=(alpha+beta)/sin(theta*3.1416/180)+abs(x)
))()(( csbsass 
Sin








 22
ba
b
2
1
2
xy
yx


 





 

2
2
1
2
xy
yx


 





 

xy 




sin
Precedence of operators
BODMAS RULE-
Brackets of Division Multiplication Addition Subtraction
Brackets will have the highest precedence and have to be
evaluated first, then comes of , then comes
division, multiplication, addition and finally subtraction.
C language uses some rules in evaluating the expressions
and they r called as precedence rules or sometimes also
referred to as hierarchy of operations, with some operators
with highest precedence and some with least.
The 2 distinct priority levels of arithmetic operators in c are-
Highest priority : * / %
Lowest priority : + -
Rules for evaluation of expression
1. First parenthesized sub expression from left to right are
evaluated.
2. If parentheses are nested, the evaluation begins with the
innermost sub expression
3. The precedence rule is applied in determining the order of
application of operators in evaluating sub expressions
4. The associatively rule is applied when 2 or more operators of the
same precedence level appear in a sub expression.
5. Arithmetic expressions are evaluated from left to right using the
rules of precedence
6. When parentheses are used, the expressions within parentheses
assume highest priority
Hierarchy of operators
Operator Description Associativity
( ), [ ] Function call, array
element reference
Left to Right
+, -, ++, - -
,!,~,*,&
Unary plus, minus,
increment, decrement,
logical negation, 1’s
complement, pointer
reference, address
Right to Left
*, / , % Multiplication,
division, modulus
Left to Right
Example 1
Evaluate x1=(-b+ sqrt (b*b-4*a*c))/(2*a) @ a=1, b=-5, c=6
=(-(-5)+sqrt((-5)(-5)-4*1*6))/(2*1)
=(5 + sqrt((-5)(-5)-4*1*6))/(2*1)
=(5 + sqrt(25 -4*1*6))/(2*1)
=(5 + sqrt(25 -4*6))/(2*1)
=(5 + sqrt(25 -24))/(2*1)
=(5 + sqrt(1))/(2*1)
=(5 + 1.0)/(2*1)
=(6.0)/(2*1)
=6.0/2 = 3.0
Example 2
Evaluate the expression when a=4
b=a- ++a
=a – 5
=5-5
=0
Order of evaluation
3/8/2016
42
Highest () [] ->
! ~ ++ -- (type *) & sizeof
* / %
+ -
<< >>
< <= > >=
== !=
&
^
|
&&
||
? :
= += -= *= /=
Lowest ,
43
2.9 Type conversions in
expressions
 1. Implicit Type Conversion
 C permits mixing of constants and variables of
different types in an expression. C
automatically converts any intermediate values
to the proper type so that the expression can
be evaluated without loosing any significance.
This automatic conversion is known as implicit
type conversion.
 The rule of type conversion: the lower type is
automatically converted to the higher type.
44
2.14 Type conversions in
expressions for example,
 int i, x;
 float f;
 double d;
 long int li ;
 The final result of an expression is converted to the
type of the variable on the left of the assignment.
long
long
float
float
float
float
double
doubleint
x = li / i + i * f –
d
45
3.14 Type conversions in
expressions
 Conversion Hierarchy is given below
long int
Conversion
hierarchy
charshort
float
double
long double
int
unsigned long int
46
3.14 Type conversions in
expressions
 2. Explicit conversion
 We can force a type conversion in a way .
 The general form of explicit conversion is
( type-name ) expression
 for example
 x = ( int ) 7.5 ;
 a = ( int ) 21.3 / (int) 4.5;
 a = ( float ) 3 / 2 ;
 a = float ( 3 / 2 ) ;
47
2.15 Operator precedence and
Associativity
 Rules of Precedence and Associativity
 (1)Precedence rules decides the order in which
different operators are applied.
 (2)Associativity rule decide the order in which multiple
occurrences of the same level operator are applied.
 Table3.8 on page71 shows the summary of C Operators.
 for example,
 a = i +1== j || k and 3 != x
Variables, Data Types, Operator & Expression in c in detail

More Related Content

What's hot (20)

PPT
Data types and Operators
raksharao
 
PPTX
Introduction to C programming
Rokonuzzaman Rony
 
PPT
How to execute a C program
Leela Koneru
 
PPTX
Pointers in c++
Vineeta Garg
 
PPT
Lecture 1- History of C Programming
Md. Imran Hossain Showrov
 
PDF
Introduction to c++ ppt 1
Prof. Dr. K. Adisesha
 
PDF
Control Structures in Python
Sumit Satam
 
PPTX
Functions in C
Kamal Acharya
 
PPT
Python Control structures
Siddique Ibrahim
 
PPTX
Introduction to c++
Himanshu Kaushik
 
PPTX
Basic programming concepts
salmankhan570
 
PPTX
COMPUTER PROGRAMMING
imtiazalijoono
 
PPT
Chap 1-language processor
shindept123
 
PPTX
Introduction to c programming
Manoj Tyagi
 
PPTX
Introduction of c programming
Tarun Sharma
 
PDF
C notes.pdf
Durga Padma
 
PDF
10. switch case
Way2itech
 
PPTX
Functions in c language
tanmaymodi4
 
PPTX
Decision Making Statement in C ppt
MANJUTRIPATHI7
 
PDF
Pointers and call by value, reference, address in C
Syed Mustafa
 
Data types and Operators
raksharao
 
Introduction to C programming
Rokonuzzaman Rony
 
How to execute a C program
Leela Koneru
 
Pointers in c++
Vineeta Garg
 
Lecture 1- History of C Programming
Md. Imran Hossain Showrov
 
Introduction to c++ ppt 1
Prof. Dr. K. Adisesha
 
Control Structures in Python
Sumit Satam
 
Functions in C
Kamal Acharya
 
Python Control structures
Siddique Ibrahim
 
Introduction to c++
Himanshu Kaushik
 
Basic programming concepts
salmankhan570
 
COMPUTER PROGRAMMING
imtiazalijoono
 
Chap 1-language processor
shindept123
 
Introduction to c programming
Manoj Tyagi
 
Introduction of c programming
Tarun Sharma
 
C notes.pdf
Durga Padma
 
10. switch case
Way2itech
 
Functions in c language
tanmaymodi4
 
Decision Making Statement in C ppt
MANJUTRIPATHI7
 
Pointers and call by value, reference, address in C
Syed Mustafa
 

Similar to Variables, Data Types, Operator & Expression in c in detail (20)

PPTX
3. C_OperatorsExpressions on c languyage.pptx
iramulittihad
 
PDF
Unit ii chapter 1 operator and expressions in c
Sowmya Jyothi
 
PDF
Coper in C
thirumalaikumar3
 
PPTX
C++ revision add on till now
AmAn Singh
 
PPTX
C++ revision add on till now
AmAn Singh
 
PPTX
Precedence of operators IN C PROGRAMMING
GayathriShiva4
 
PPTX
Basic operators and it's types in c languages
BalaKrishnan466
 
PPT
operator
aamirsahito
 
PPTX
c programming2.pptx
YuvarajuCherukuri
 
PDF
C Operators and Control Structures.pdf
MaryJacob24
 
PPTX
Operators in C programming language.pptx
b221382
 
PPTX
COM1407: C Operators
Hemantha Kulathilake
 
PPTX
C Operators and Control Structures.pptx
ramanathan2006
 
PDF
introduction to c programming - Topic 3.pdf
rajd20284
 
PDF
Programming for Problem Solving
Kathirvel Ayyaswamy
 
PPTX
Operators inc c language
Tanmay Modi
 
PPTX
Operators in C Programming
Jasleen Kaur (Chandigarh University)
 
PDF
Types of Operators in C
Thesis Scientist Private Limited
 
PPTX
PROGRAMMING IN C - Operators.pptx
Nithya K
 
PPTX
Operators-computer programming and utilzation
Kaushal Patel
 
3. C_OperatorsExpressions on c languyage.pptx
iramulittihad
 
Unit ii chapter 1 operator and expressions in c
Sowmya Jyothi
 
Coper in C
thirumalaikumar3
 
C++ revision add on till now
AmAn Singh
 
C++ revision add on till now
AmAn Singh
 
Precedence of operators IN C PROGRAMMING
GayathriShiva4
 
Basic operators and it's types in c languages
BalaKrishnan466
 
operator
aamirsahito
 
c programming2.pptx
YuvarajuCherukuri
 
C Operators and Control Structures.pdf
MaryJacob24
 
Operators in C programming language.pptx
b221382
 
COM1407: C Operators
Hemantha Kulathilake
 
C Operators and Control Structures.pptx
ramanathan2006
 
introduction to c programming - Topic 3.pdf
rajd20284
 
Programming for Problem Solving
Kathirvel Ayyaswamy
 
Operators inc c language
Tanmay Modi
 
Operators in C Programming
Jasleen Kaur (Chandigarh University)
 
Types of Operators in C
Thesis Scientist Private Limited
 
PROGRAMMING IN C - Operators.pptx
Nithya K
 
Operators-computer programming and utilzation
Kaushal Patel
 
Ad

More from gourav kottawar (20)

PPTX
operator overloading & type conversion in cpp
gourav kottawar
 
PPTX
constructor & destructor in cpp
gourav kottawar
 
PPTX
classes & objects in cpp
gourav kottawar
 
PPTX
expression in cpp
gourav kottawar
 
PPTX
basics of c++
gourav kottawar
 
PPT
working file handling in cpp overview
gourav kottawar
 
PPT
pointers, virtual functions and polymorphisms in c++ || in cpp
gourav kottawar
 
PPTX
exception handling in cpp
gourav kottawar
 
PPT
cpp input & output system basics
gourav kottawar
 
PPTX
operator overloading & type conversion in cpp over view || c++
gourav kottawar
 
PPTX
constructor & destructor in cpp
gourav kottawar
 
PPTX
basics of c++
gourav kottawar
 
PPTX
classes & objects in cpp overview
gourav kottawar
 
PPTX
expression in cpp
gourav kottawar
 
PPT
SQL || overview and detailed information about Sql
gourav kottawar
 
PPT
SQL querys in detail || Sql query slides
gourav kottawar
 
PPT
Rrelational algebra in dbms overview
gourav kottawar
 
PPT
overview of database concept
gourav kottawar
 
PPT
Relational Model in dbms & sql database
gourav kottawar
 
PPTX
DBMS information in detail || Dbms (lab) ppt
gourav kottawar
 
operator overloading & type conversion in cpp
gourav kottawar
 
constructor & destructor in cpp
gourav kottawar
 
classes & objects in cpp
gourav kottawar
 
expression in cpp
gourav kottawar
 
basics of c++
gourav kottawar
 
working file handling in cpp overview
gourav kottawar
 
pointers, virtual functions and polymorphisms in c++ || in cpp
gourav kottawar
 
exception handling in cpp
gourav kottawar
 
cpp input & output system basics
gourav kottawar
 
operator overloading & type conversion in cpp over view || c++
gourav kottawar
 
constructor & destructor in cpp
gourav kottawar
 
basics of c++
gourav kottawar
 
classes & objects in cpp overview
gourav kottawar
 
expression in cpp
gourav kottawar
 
SQL || overview and detailed information about Sql
gourav kottawar
 
SQL querys in detail || Sql query slides
gourav kottawar
 
Rrelational algebra in dbms overview
gourav kottawar
 
overview of database concept
gourav kottawar
 
Relational Model in dbms & sql database
gourav kottawar
 
DBMS information in detail || Dbms (lab) ppt
gourav kottawar
 
Ad

Recently uploaded (20)

PDF
Indian National movement PPT by Simanchala Sarab, Covering The INC(Formation,...
Simanchala Sarab, BABed(ITEP Secondary stage) in History student at GNDU Amritsar
 
PDF
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
PDF
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
PPTX
How to Create & Manage Stages in Odoo 18 Helpdesk
Celine George
 
PDF
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
PPTX
The Gift of the Magi by O Henry-A Story of True Love, Sacrifice, and Selfless...
Beena E S
 
PPTX
week 1-2.pptx yueojerjdeiwmwjsweuwikwswiewjrwiwkw
rebznelz
 
PDF
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
 
PDF
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
PPTX
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
PDF
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
 
PPTX
Parsing HTML read and write operations and OS Module.pptx
Ramakrishna Reddy Bijjam
 
PDF
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
PDF
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
trjnesjnqg7801
 
PPTX
Urban Hierarchy and Service Provisions.pptx
Islamic University of Bangladesh
 
PPTX
PLANNING A HOSPITAL AND NURSING UNIT.pptx
PRADEEP ABOTHU
 
DOCX
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
PPTX
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
 
DOCX
MUSIC AND ARTS 5 DLL MATATAG LESSON EXEMPLAR QUARTER 1_Q1_W1.docx
DianaValiente5
 
PPTX
How Physics Enhances Our Quality of Life.pptx
AngeliqueTolentinoDe
 
Indian National movement PPT by Simanchala Sarab, Covering The INC(Formation,...
Simanchala Sarab, BABed(ITEP Secondary stage) in History student at GNDU Amritsar
 
CAD25 Gbadago and Fafa Presentation Revised-Aston Business School, UK.pdf
Kweku Zurek
 
Free eBook ~100 Common English Proverbs (ebook) pdf.pdf
OH TEIK BIN
 
How to Create & Manage Stages in Odoo 18 Helpdesk
Celine George
 
Gladiolous Cultivation practices by AKL.pdf
kushallamichhame
 
The Gift of the Magi by O Henry-A Story of True Love, Sacrifice, and Selfless...
Beena E S
 
week 1-2.pptx yueojerjdeiwmwjsweuwikwswiewjrwiwkw
rebznelz
 
Rapid Mathematics Assessment Score sheet for all Grade levels
DessaCletSantos
 
Our Guide to the July 2025 USPS® Rate Change
Postal Advocate Inc.
 
PLANNING FOR EMERGENCY AND DISASTER MANAGEMENT ppt.pptx
PRADEEP ABOTHU
 
The Power of Compound Interest (Stanford Initiative for Financial Decision-Ma...
Stanford IFDM
 
Parsing HTML read and write operations and OS Module.pptx
Ramakrishna Reddy Bijjam
 
Genomics Proteomics and Vaccines 1st Edition Guido Grandi (Editor)
kboqcyuw976
 
Public Health For The 21st Century 1st Edition Judy Orme Jane Powell
trjnesjnqg7801
 
Urban Hierarchy and Service Provisions.pptx
Islamic University of Bangladesh
 
PLANNING A HOSPITAL AND NURSING UNIT.pptx
PRADEEP ABOTHU
 
Lesson 1 - Nature and Inquiry of Research
marvinnbustamante1
 
How to Configure Refusal of Applicants in Odoo 18 Recruitment
Celine George
 
MUSIC AND ARTS 5 DLL MATATAG LESSON EXEMPLAR QUARTER 1_Q1_W1.docx
DianaValiente5
 
How Physics Enhances Our Quality of Life.pptx
AngeliqueTolentinoDe
 

Variables, Data Types, Operator & Expression in c in detail

  • 1. VARIABLES, DATA TYPES, OPERATOR & EXPRESSION Chap 23/8/2016 1
  • 2. Contents  2.1 Character Set  2.2 C Tokens  Keywords & Identifiers  Constants  Integer, Floating Point, Character, String,  Enumeration  2.3 Backslash characters / Escape sequences  2.4 Data Types in C  2.5 Variables  2.6 Declaration & Definition  2.7 User-Defined Type declarations 2.8 Operators & Expressions Arithmetic, Relational, Logical, Increment Decrement , Bit wise, Assignment, Conditional 2.9 Type conversions in Expressions 2.10 Implicit Type Conversion 2.11 Explicit Type Conversions 2.12 Precedence & Associability of Operators. 3/8/2016 2
  • 3. 2.1 character set in c 3 3/8/2016
  • 4. 2.1 character set in c 3/8/2016 4
  • 5. 2.2 C tokens 3/8/2016 5  Smallest individual units is called as ‘Tokens ‘
  • 6. Keywords And Identifiers 3/8/2016 6  Every C word is classified either “Keyword” or “Identifier “. Rules for Keywords  Has fixed meaning  Meaning can not be changed  Served as basic building block for program statement.  Must be written in lower case
  • 8. Keywords and Identifiers 3/8/2016 8  Identifiers Refer to names of variables , functions and arrays Rules for identifiers 1. First character must be an alphabet (or underscore) 2. Must consist of only letters, digits or underscore. 3. Only first 31 characters are significant. 4. Cannot use a keyword 5. Must not contain white space
  • 10. constants 3/8/2016 10  Integer Constants  Real Constants can be represented as exponential format. mantissa e exponent Mantissa is either a real number expressed in decimal notation or integer The exponent is an integer number with an optional plus or minus sign The letter e can be written in lowercase or uppercase.
  • 11. constants 11  Single character constants  String constants  Backslash Character constants – useful in output functions  also known as escape sequences 3/8/2016
  • 13. Variables 3/8/2016 13  A data name used to store data values  May take different values at different times of program execution  Rules for variable 1. Should not be keyword 2. Should not contain white space 3. Uppercase and lower case are significant 4. Must begin with letter ( or underscore) 5. Normally should not be more than eight characters.
  • 14. Data Transformation  Programs transform data from one form to another  Input data  Output data  Stimulus  Response  Programming languages store and process data in various ways depending on the type of the data; consequently, all data read, processed, or written by a program must have a type  Two distinguishing characteristics of a programming language are the data types it supports and the operations on those data types
  • 15. 2.4 Data types 3/8/2016 15  C is rich in its data type.  Variety of data type allows programmer to select appropriate data type as per need  ANSI supports 3 classes of data type 1. Primary or fundamental data type 2. Derived data type 3. User defined data type.
  • 16. Data types in C 3/8/2016 16
  • 17. Data types in C 3/8/2016 17
  • 20. Expressions Combination of Operators and Operands Example 2 * y + 5 Operands Operators
  • 21. Definition “An operator is a symbol (+,-,*,/) that directs the computer to perform certain mathematical or logical manipulations and is usually used to manipulate data and variables” Ex: a+b
  • 22. Operators in C 1. Arithmetic operators 2. Relational operators 3. Logical operators 4. Assignment operators 5. Increment and decrement operators 6. Conditional operators 7. Bitwise operators 8. Special operators
  • 23. Arithmetic operators Operator example Meaning + a + b Addition –unary - a – b Subtraction- unary * a * b Multiplication / a / b Division % a % b Modulo division- remainder
  • 24. Relational Operators Operator Meaning < Is less than <= Is less than or equal to > Is greater than >= Is greater than or equal to == Equal to != Not equal to
  • 25. Logical Operators Operator Meaning && Logical AND || Logical OR ! Logical NOT Logical expression or a compound relational expression- An expression that combines two or more relational expressions Ex: if (a==b && b==c)
  • 26. Truth Table a b Value of the expression a && b a || b 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1
  • 27. Assignment operators Syntax: v op = exp; Where v = variable, op = shorthand assignment operator exp = expression Ex: x=x+3 x+=3
  • 28. Shorthand Assignment operators Simple assignment operator Shorthand operator a = a+1 a + =1 a = a-1 a - =1 a = a* (m+n) a * = m+n a = a / (m+n) a / = m+n a = a %b a %=b
  • 29. Increment & Decrement Operators C supports 2 useful operators namely 1. Increment ++ 2. Decrement – operators The ++ operator adds a value 1 to the operand The – operator subtracts 1 from the operand ++a or a++ --a or a--
  • 30. Rules for ++ & -- operators 1. These require variables as their operands 2. When postfix either ++ or – is used with the variable in a given expression, the expression is evaluated first and then it is incremented or decremented by one 3. When prefix either ++ or – is used with the variable in a given expression, it is incremented or decremented by one first and then the expression is evaluated with the new value
  • 31. Examples for ++ & -- operators Let the value of a =5 and b=++a then a = b =6 Let the value of a = 5 and b=a++ then a =5 but b=6 i.e.: 1. a prefix operator first adds 1 to the operand and then the result is assigned to the variable on the left 2. a postfix operator first assigns the value to the variable on left and then increments the operand.
  • 32. Conditional operators Syntax: exp1 ? exp2 : exp3 Where exp1,exp2 and exp3 are expressions Working of the ? Operator: Exp1 is evaluated first, if it is nonzero(1/true) then the expression2 is evaluated and this becomes the value of the expression, If exp1 is false(0/zero) exp3 is evaluated and its value becomes the value of the expression Ex: m=2; n=3 r=(m>n) ? m : n;
  • 33. Bitwise operators These operators allow manipulation of data at the bit level Operator Meaning & Bitwise AND | Bitwise OR ^ Bitwise exclusive OR << Shift left >> Shift right
  • 34. Special operators 1. Comma operator ( ,) 2. sizeof operator – sizeof( ) 3. Pointer operators – ( & and *) 4. Member selection operators – ( . and ->)
  • 35. Arithmetic Expressions Algebraic expression C expression axb-c a*b-c (m+n)(x+y) (m+n)*(x+y) a*b/c 3x2+2x+1 3*x*x+2*x+1 a/b S=(a+b+c)/2 c ab b a 2 cba  S=
  • 36. Arithmetic Expressions Algebraic expression C expression area= area=sqrt(s*(s-a)*(s-b)*(s-c)) sin(b/sqrt(a*a+b*b)) tow1=sqrt((rowx-rowy)/2+tow*x*y*y) tow1=sqrt(pow((rowx-rowy)/2,2)+tow*x*y*y) y=(alpha+beta)/sin(theta*3.1416/180)+abs(x) ))()(( csbsass  Sin          22 ba b 2 1 2 xy yx             2 2 1 2 xy yx             xy      sin
  • 37. Precedence of operators BODMAS RULE- Brackets of Division Multiplication Addition Subtraction Brackets will have the highest precedence and have to be evaluated first, then comes of , then comes division, multiplication, addition and finally subtraction. C language uses some rules in evaluating the expressions and they r called as precedence rules or sometimes also referred to as hierarchy of operations, with some operators with highest precedence and some with least. The 2 distinct priority levels of arithmetic operators in c are- Highest priority : * / % Lowest priority : + -
  • 38. Rules for evaluation of expression 1. First parenthesized sub expression from left to right are evaluated. 2. If parentheses are nested, the evaluation begins with the innermost sub expression 3. The precedence rule is applied in determining the order of application of operators in evaluating sub expressions 4. The associatively rule is applied when 2 or more operators of the same precedence level appear in a sub expression. 5. Arithmetic expressions are evaluated from left to right using the rules of precedence 6. When parentheses are used, the expressions within parentheses assume highest priority
  • 39. Hierarchy of operators Operator Description Associativity ( ), [ ] Function call, array element reference Left to Right +, -, ++, - - ,!,~,*,& Unary plus, minus, increment, decrement, logical negation, 1’s complement, pointer reference, address Right to Left *, / , % Multiplication, division, modulus Left to Right
  • 40. Example 1 Evaluate x1=(-b+ sqrt (b*b-4*a*c))/(2*a) @ a=1, b=-5, c=6 =(-(-5)+sqrt((-5)(-5)-4*1*6))/(2*1) =(5 + sqrt((-5)(-5)-4*1*6))/(2*1) =(5 + sqrt(25 -4*1*6))/(2*1) =(5 + sqrt(25 -4*6))/(2*1) =(5 + sqrt(25 -24))/(2*1) =(5 + sqrt(1))/(2*1) =(5 + 1.0)/(2*1) =(6.0)/(2*1) =6.0/2 = 3.0
  • 41. Example 2 Evaluate the expression when a=4 b=a- ++a =a – 5 =5-5 =0
  • 42. Order of evaluation 3/8/2016 42 Highest () [] -> ! ~ ++ -- (type *) & sizeof * / % + - << >> < <= > >= == != & ^ | && || ? : = += -= *= /= Lowest ,
  • 43. 43 2.9 Type conversions in expressions  1. Implicit Type Conversion  C permits mixing of constants and variables of different types in an expression. C automatically converts any intermediate values to the proper type so that the expression can be evaluated without loosing any significance. This automatic conversion is known as implicit type conversion.  The rule of type conversion: the lower type is automatically converted to the higher type.
  • 44. 44 2.14 Type conversions in expressions for example,  int i, x;  float f;  double d;  long int li ;  The final result of an expression is converted to the type of the variable on the left of the assignment. long long float float float float double doubleint x = li / i + i * f – d
  • 45. 45 3.14 Type conversions in expressions  Conversion Hierarchy is given below long int Conversion hierarchy charshort float double long double int unsigned long int
  • 46. 46 3.14 Type conversions in expressions  2. Explicit conversion  We can force a type conversion in a way .  The general form of explicit conversion is ( type-name ) expression  for example  x = ( int ) 7.5 ;  a = ( int ) 21.3 / (int) 4.5;  a = ( float ) 3 / 2 ;  a = float ( 3 / 2 ) ;
  • 47. 47 2.15 Operator precedence and Associativity  Rules of Precedence and Associativity  (1)Precedence rules decides the order in which different operators are applied.  (2)Associativity rule decide the order in which multiple occurrences of the same level operator are applied.  Table3.8 on page71 shows the summary of C Operators.  for example,  a = i +1== j || k and 3 != x