SlideShare une entreprise Scribd logo
1  sur  48
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

Contenu connexe

Tendances

Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Alpana Gupta
 

Tendances (20)

Operators in C Programming
Operators in C ProgrammingOperators in C Programming
Operators in C Programming
 
Operator in c programming
Operator in c programmingOperator in c programming
Operator in c programming
 
Data types
Data typesData types
Data types
 
C by balaguruswami - e.balagurusamy
C   by balaguruswami - e.balagurusamyC   by balaguruswami - e.balagurusamy
C by balaguruswami - e.balagurusamy
 
Data types and Operators
Data types and OperatorsData types and Operators
Data types and Operators
 
Data types in C
Data types in CData types in C
Data types in C
 
C language ppt
C language pptC language ppt
C language ppt
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
 
Presentation on Function in C Programming
Presentation on Function in C ProgrammingPresentation on Function in C Programming
Presentation on Function in C Programming
 
Functions in C
Functions in CFunctions in C
Functions in C
 
Operator.ppt
Operator.pptOperator.ppt
Operator.ppt
 
Data Types and Variables In C Programming
Data Types and Variables In C ProgrammingData Types and Variables In C Programming
Data Types and Variables In C Programming
 
C++ programming function
C++ programming functionC++ programming function
C++ programming function
 
Pointer in c
Pointer in cPointer in c
Pointer in c
 
Chapter1 fundamentals of computers by reema thareja
Chapter1 fundamentals of computers by reema tharejaChapter1 fundamentals of computers by reema thareja
Chapter1 fundamentals of computers by reema thareja
 
Programming in C Presentation upto FILE
Programming in C Presentation upto FILEProgramming in C Presentation upto FILE
Programming in C Presentation upto FILE
 
C program
C programC program
C program
 
Storage classes in C
Storage classes in CStorage classes in C
Storage classes in C
 
Datatypes in c
Datatypes in cDatatypes in c
Datatypes in c
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 

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

Chapter 3.3
Chapter 3.3Chapter 3.3
Chapter 3.3
sotlsoc
 
data type.pptxddddswwyertr hai na ki extend kr de la
data type.pptxddddswwyertr hai na ki extend kr de ladata type.pptxddddswwyertr hai na ki extend kr de la
data type.pptxddddswwyertr hai na ki extend kr de la
LEOFAKE
 
Operator & Expression in c++
Operator & Expression in c++Operator & Expression in c++
Operator & Expression in c++
bajiajugal
 
Dti2143 chapter 3 arithmatic relation-logicalexpression
Dti2143 chapter 3 arithmatic relation-logicalexpressionDti2143 chapter 3 arithmatic relation-logicalexpression
Dti2143 chapter 3 arithmatic relation-logicalexpression
alish sha
 
component of c language.pptx
component of c language.pptxcomponent of c language.pptx
component of c language.pptx
AnisZahirahAzman
 

Similaire à Variables, Data Types, Operator & Expression in c in detail (20)

Coper in C
Coper in CCoper in C
Coper in C
 
C++ revision add on till now
C++ revision add on till nowC++ revision add on till now
C++ revision add on till now
 
C++ revision add on till now
C++ revision add on till nowC++ revision add on till now
C++ revision add on till now
 
Chapter 3.3
Chapter 3.3Chapter 3.3
Chapter 3.3
 
data type.pptxddddswwyertr hai na ki extend kr de la
data type.pptxddddswwyertr hai na ki extend kr de ladata type.pptxddddswwyertr hai na ki extend kr de la
data type.pptxddddswwyertr hai na ki extend kr de la
 
Theory3
Theory3Theory3
Theory3
 
additional.pptx
additional.pptxadditional.pptx
additional.pptx
 
Operators inc c language
Operators inc c languageOperators inc c language
Operators inc c language
 
Operators and expressions in c language
Operators and expressions in c languageOperators and expressions in c language
Operators and expressions in c language
 
Python
PythonPython
Python
 
Operators in C Programming
Operators in C ProgrammingOperators in C Programming
Operators in C Programming
 
Operator & Expression in c++
Operator & Expression in c++Operator & Expression in c++
Operator & Expression in c++
 
Programming presentation
Programming presentationProgramming presentation
Programming presentation
 
Overview of C Language
Overview of C LanguageOverview of C Language
Overview of C Language
 
Dti2143 chapter 3 arithmatic relation-logicalexpression
Dti2143 chapter 3 arithmatic relation-logicalexpressionDti2143 chapter 3 arithmatic relation-logicalexpression
Dti2143 chapter 3 arithmatic relation-logicalexpression
 
component of c language.pptx
component of c language.pptxcomponent of c language.pptx
component of c language.pptx
 
C++ Expressions Notes
C++ Expressions NotesC++ Expressions Notes
C++ Expressions Notes
 
1 Revision Tour
1 Revision Tour1 Revision Tour
1 Revision Tour
 
C fundamental
C fundamentalC fundamental
C fundamental
 
Verilog operators.pptx
Verilog  operators.pptxVerilog  operators.pptx
Verilog operators.pptx
 

Plus de gourav kottawar

Plus de gourav kottawar (20)

operator overloading & type conversion in cpp
operator overloading & type conversion in cppoperator overloading & type conversion in cpp
operator overloading & type conversion in cpp
 
constructor & destructor in cpp
constructor & destructor in cppconstructor & destructor in cpp
constructor & destructor in cpp
 
classes & objects in cpp
classes & objects in cppclasses & objects in cpp
classes & objects in cpp
 
expression in cpp
expression in cppexpression in cpp
expression in cpp
 
basics of c++
basics of c++basics of c++
basics of c++
 
working file handling in cpp overview
working file handling in cpp overviewworking file handling in cpp overview
working file handling in cpp overview
 
pointers, virtual functions and polymorphisms in c++ || in cpp
pointers, virtual functions and polymorphisms in c++ || in cpppointers, virtual functions and polymorphisms in c++ || in cpp
pointers, virtual functions and polymorphisms in c++ || in cpp
 
exception handling in cpp
exception handling in cppexception handling in cpp
exception handling in cpp
 
cpp input & output system basics
cpp input & output system basicscpp input & output system basics
cpp input & output system basics
 
operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++
 
constructor & destructor in cpp
constructor & destructor in cppconstructor & destructor in cpp
constructor & destructor in cpp
 
basics of c++
basics of c++basics of c++
basics of c++
 
classes & objects in cpp overview
classes & objects in cpp overviewclasses & objects in cpp overview
classes & objects in cpp overview
 
expression in cpp
expression in cppexpression in cpp
expression in cpp
 
SQL || overview and detailed information about Sql
SQL || overview and detailed information about SqlSQL || overview and detailed information about Sql
SQL || overview and detailed information about Sql
 
SQL querys in detail || Sql query slides
SQL querys in detail || Sql query slidesSQL querys in detail || Sql query slides
SQL querys in detail || Sql query slides
 
Rrelational algebra in dbms overview
Rrelational algebra in dbms overviewRrelational algebra in dbms overview
Rrelational algebra in dbms overview
 
overview of database concept
overview of database conceptoverview of database concept
overview of database concept
 
Relational Model in dbms & sql database
Relational Model in dbms & sql databaseRelational Model in dbms & sql database
Relational Model in dbms & sql database
 
DBMS information in detail || Dbms (lab) ppt
DBMS information in detail || Dbms (lab) pptDBMS information in detail || Dbms (lab) ppt
DBMS information in detail || Dbms (lab) ppt
 

Dernier

The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Dernier (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 

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