Programming using a structural
language such as C
Programming in C Language
• Introduction to C
Language
• Symbols
• Keywords
• Identifiers
• Data Types
• Operators
• Various Statements
• Operator Precedence
• Type Conversion
• Conditional and Control
Structures
• Function
• Recursive Functions.
Introduction to C Language
• The C programming language was devised by Dennis Ritchie at Bell
labs in 1972.
• C is a high-level programming language, meaning that it is possible to
express several pages of machine code in just a few lines of C code.
• Other examples of high-level languages are BASIC, C++, Fortran and
Pascal.
• They are so called because they are closer to human language than
machine languages.
Introduction to C Language
• Such high-level languages allow a programmer to write
programs that are independent of particular types of
computer. This is called portability.
• Portability can be aided by using an agreed standard when
writing your program.
• A compiler is used to convert your high-level language
program into machine code that can be executed on a
computer.
Why Learn C Language
• Compact, fast, and powerful
• “Mid-level” Language
• Standard for program development (wide acceptance)
• It is everywhere! (portable)
• Supports modular programming style
• Useful for all applications
• C is the native language of UNIX
• Easy to interface with system devices/assembly routines
• C is terse
The components of a C program
• The #include directive tells the compiler to include other files
stored on your HDD into your C program. These files will include
information that does not change between programs that your
program can use. On the right we include the standard input and
output library.
• The main() function is the only component that has to be included
in every C program. It is followed by a pair of braces: { }
• The return() statement returns values from a function. Within the
main() function return()can be used to tell the operating system (in
our case Linux) whether our code completed successfully.
All C programs have some common elements.
Character Set
A character denotes any alphabet, digit or special symbol
used to represent information. Valid alphabets, numbers
and special symbols allowed in C are
• The alphabets, numbers and special symbols when properly combined form
constants, variables and keywords.
Keywords
There are certain words reserved for doing specific task,
these words are known as reserved word or keywords.
These words are predefined and always written in lower
case or small letter. These keywords can not be used as a
variable name as it assigned with fixed meaning. Some
examples:
• int
• short
• signed
• unsigne
d
• default
• volatile
• float
• while
• do
• extern
• register
• enum
• case
• long
• double
• break
• continue
• typedef
• static
• do
• for
• goto
• struct
• char
• auto
• union
• return
• const etc.
Identifiers
These are user defined word used to name of entities like variables, arrays,
functions, structures etc.
Rules for naming identifiers
 Name should only consists of alphabets (both upper and lower case),
digits and underscore (_) sign.
 First characters should be alphabet or underscore
 Name should not be a keyword
 Since C is a case sensitive, the upper case and lower case considered
differently, for example code, Code, CODE etc. are different identifiers.
 Identifiers are generally given in some meaningful name such as
value, net_salary, age, data etc. An identifier name may be long, some
implementation recognizes only first eight characters, most recognize
31 characters. ANSI standard compiler recognize 31 characters. Some
invalid identifiers are 5cb, int, res#, avg no etc.
Data Types
• Data types refer to an extensive system used for declaring
variables or functions of different types before its use. The
type of a variable determines how much space it occupies
in storage and how the bit pattern stored is interpreted.
The value of a variable can be changed any time
• Basic Built-in Data Types: int, float, double, char
• Enumeration Data Type: enum
• Derived Data Type: pointer, array, structure, union
• Void Data Type: void
Data Types
• A variable declared to be of type int can be used to contain integer values
only—that is, values that do not contain decimal places. A variable declared
to be of type float can be used for storing floating- point numbers (values
containing decimal places). The double type is the same as type float, only
with roughly twice the precision. The char data type can be used to store a
single character, such as the letter a, the digit character 6, or a semicolon
similarly A variable declared char can only store character type value.
• There are two types of type qualifier in c
• Size qualifier: short, long
• Sign qualifier: signed, unsigned
• When the qualifier unsigned is used the number is always positive, and when
signed is used number may be positive or negative. If the sign qualifier is not
mentioned, then by default sign qualifier is assumed. The range of values for
signed data types is less than that of unsigned data type. Because in signed
type, the left most bit is used to represent sign, while in unsigned type this bit
is also used to represent the value.
Data Types
• The size and range of the different data types on a 16 bit machine is
given below:
Constants
• Constant is a any value that cannot be changed during program
execution. In C, any number, single character, or character string is
known as a constant. A constant is an entity that doesn’t change whereas
a variable is an entity that may change. For example, the number 50
represents a constant integer value. The character string "Programming
in C is fun.n" is an example of a constant character string. C constants
can be divided into two major categories:
• Primary Constants
• Secondary Constants
• These constants are further categorized as
• Numeric constant
• Character constant
• String constant
Constants
• Numeric constant: Numeric constant consists of digits. It required
minimum size of 2 bytes and max 4 bytes. It may be positive or negative
but by default sign is always positive. No comma or space is allowed
within the numeric constant and it must have at least 1 digit. The
allowable range for integer constants is -32768 to 32767. Truly speaking
the range of an Integer constant depends upon the compiler. For a 16-bit
compiler like Turbo C or Turbo C++ the range is –32768 to 32767. For a
32-bit compiler the range would be even greater. Mean by a 16-bit or a 32
bit compiler, what range of an Integer constant has to do with the type of
compiler.
• It is categorized as
• integer constant
• real constant.
Constants
• Integer constants are whole number which have no decimal point.
Types of integer constants are:
 Decimal constant: 0 - 9 (base 10)
 Octal constant: 0 – 7 (base 8)
 Hexadecimal constant: 0 - 9, A – F (base 16)
In decimal constant first digit should not be zero unlike octal constant
first digit must be zero (as 076, 0127) and in hexadecimal constant first
two digit should be 0x/ 0X (such as 0x24, 0x87A).
By default type of integer constant is integer but if the value of
integer constant exceeds the range then the value represented by
integer type is taken to be unsigned integer or long integer. It can also
explicitly mention integer and unsigned integer type by suffix l/L and
u/U.
Constants
• Real constants: This can also be regarded as Floating Point Constants. To
construct real constant we must follow the rule of ,
• Real constant must have at least one digit.
• It must have a decimal point.
• It could be either positive or negative.
• Default sign is positive.
• No commas or blanks are allowed within a real constant.
• Example.: +325.34
• 426.0
• -32.76
• To express small/large real constant exponent(scientific) form is used where number is
written in mantissa and exponent form separated by e/E. Exponent can be positive or
negative integer but mantissa can be real/integer type, for example 3.6*105
=3.6e+5. By
default type of floating point constant is double, it can also be explicitly defined it by
suffix of f/F.
Constants
• Character constants: Character constant represented as
a single character enclosed within a single quote. These
can be single digit, single special symbol or white spaces
such as ‘9’,’c’,’$’, ‘ ’ etc. Every character constant has a
unique integer like value in machine’s character code as if
machine using ASCII (American standard code for
information interchange). Some numeric value associated
with each upper and lower case alphabets and decimal
integers are as:
• A - Z ASCII value (65-90)
• a - z ASCII value (97-122)
• 0 - 9 ASCII value (48-59)
• ; ASCII value (59)
Constants
• String constants: Set of characters are called string and
when sequence of characters are enclosed within a double
quote (it may be combination of all kind of symbols) is a
string constant. String constant has zero, one or more than
one character and at the end of the string null character(
0) is automatically placed by compiler. Some examples are
“,sarathina” , “908”, “3”,” ”, “A” etc. In C although same
characters are enclosed within single and double quotes it
represents different meaning such as “A” and ‘A’ are
different because first one is string attached with null
character at the end but second one is character constant
with its corresponding ASCII value is 65.
Constants
•Symbolic constants: Symbolic constant is a
name that substitute for a sequence of
characters and, characters may be numeric,
character or string constant. These constant
are generally defined at the beginning of the
program as #define name value , here name
generally written in upper case for example
• #define MAX 10
• #define CH ‘b’
• #define NAME “sony”
Variables
• Variable is a data name which is used to store some data
value or symbolic names for storing program
computations and results. The value of the variable can
be change during the execution. The rule for naming the
variables is same as the naming identifier. Before used in
the program it must be declared. Declaration of variables
specify its name, data types and range of the value that
variables can store depends upon its data types.
Syntax
• int a;
• char c;
• float f;
Variables
• Variable initialization
When we assign any initial value to variable during the
declaration, is called initialization of variables. When
variable is declared but contain undefined value then it is
called garbage value. The variable is initialized with the
assignment operator such as
Data type variable name=constant;
Example:
int a=20;
Or int a;
a=20;
Expressions
• An expression is a combination of variables, constants, operators and
function call.
• It can be arithmetic, logical and relational for example:-
• int z = x + y // arithmetic expression
• a > b //relational
• a == b // logical
• func (a, b) // function call
Expressions consisting entirely of constant values are called constant
expressions.
So, the expression 121 + 17 – 110 is a constant expression because each of the
terms of the expression is a constant value. But if J was declared to be an
integer variable, the expression
180 + 2 – J would not represent a constant expression.
Operator
• This is a symbol use to perform some operation on variables,
operands or with the constant. Some operator required 2 operand
to perform operation or Some required single operation.
• Arithmetic Operator: Operators used for numeric calculation. Could be Uniary or
Binary Arithmetic Operator. Unary operator require only one operand as “+, -, ++. –”
(Addition, Subtraction, Multiplication, division)
Binary Operation require two operands and its operators are +(addition) –
(subtraction), * (multiplication), / (division), % (modulus)
Modulus cannot applied with floating point operand as well as there are no exponent
operator in c.
Unary (+) and Unary (-) is different from addition and subtraction
When both the operand are integer then it is called integer arithmetic and the result
is always integer. When both the operand are floating point then it is called floating
arithmetic and when operand is of integer and floating point then it is called mix type
or mixed mode arithmetic . And the result is in float type.
Operator
• Assignment Operator: A value can be stored in a variable
with the use of assignment operator. The assignment
operator(=) is used in assignment statement and
assignment expression. Operand on the left hand side
should be variable and the operand on the right hand
side should be variable or constant or any expression.
When variable on the left and side is occur on the right
hand side then we can avoid by writing the compound
statement. For example
• Int x = y
• Int sum = x +y + z
Operator
• Increment and Decrement Operator: The
Unary operator ++, --, is used as increment
and decrement which acts upon single
operand. Increment operator increases the
value of variable by one. Similarly
decrement operator decrease the value of
the variable by one. And these operator can
only used with the variable, but can't use
with expression and constant such as ++6 or
Operator
• Increment and Decrement Operator (cntd): It is categorized into prefix & postfix . In the
prefix the value of the variable is incremented 1st, then the new value is used(such as +
+m, --m), where as in postfix the operator is written after the operand (such as m++,m--).
EXAMPLE
• let y = 12;
• z= ++y;
• y = y + 1;
• z = y;
• Similarly in the postfix increment and decrement operator is used in the operation. And
then increment and decrement is perform.
EXAMPLE
• let x= 5;
• y= x++;
• y=x;
• x= x+1
Operator
• Relational Operator: It is use to compared
value of two expressions depending on their
relation. Expression that contain relational
operator is called relational expression.
Here the value is assign according to true or
false value.
• (a>=b) || (b>20)
• (b>a) && (e>b)
• 0&&(b!=7)
Operator
• Conditional Operator: It sometimes called as ternary operator. Since it required
three expressions as operand and it is represented as (? , :).
• SYNTAX
exp1 ? exp2 :exp3
Here exp1 is first evaluated. It is true then value return will be exp2 . If false then
exp3.
EXAMPLE
void main()
{
int a=10, b=2
int s= (a>b) ? a:b;
printf(“value is:%d”);
}
Output:
Value is:10
Operator
• Comma Operator: Comma operator is used to
permit different expression to appear in a
situation where only one expression would be
used. All the expression are separator by comma
and are evaluated from left to right.
EXAMPLE
int i, j;
for (i = 1, j = 2; i <= 5 && j <= 10; i++, j++)
Operator
• Size of Operator: Size of operator is a Unary operator, which gives size of
operand in terms of byte that occupied in the memory. An operand may be
variable, constant or data type qualifier.
Generally it is used make portable program(program that can be run on different
machine). It determines the length of entities, arrays and structures when their size
are not known to the programmer. It is also use to allocate size of memory dynamically
during execution of the program.
• EXAMPLE
#include <stdio.h>
int main() {
int sum;
float f;
printf("%zu%zu", sizeof(f),
sizeof(sum));
printf("%zu%zu", sizeof(235L),
sizeof('A'));
return 0;
}
Operator
• Bitwise Operator: Bitwise operator permit programmer to access and manipulate data at bit
level. Various bitwise operator enlisted are
one's complement (~)
bitwise AND (&)
bitwise OR (|)
bitwise XOR (^)
left shift (<<)
right shift (>>)
These operator can operate on integer and character value but not on float and double. In
bitwise operator the function showbits( ) function is used to display the binary representation
of any integer or character value.
In one's complement all 0 changes to 1 and all 1 changes to 0. In the bitwise OR its value would
obtaining by 0 to 2 bits.
As the bitwise OR operator is used to set on a particular bit in a number. Bitwise AND the logical
AND. It operate on 2 operands and operands are compared on bit by bit basic. And hence both
the operands are of same type.
Operator
• Logical or Boolean Operator: Operator used with one or more operand and
return either value zero (for false) or one (for true). The operand may be
constant, variables or expressions. And the expression that combines two or
more expressions is termed as logical expression. C language has three logical
operators :
Operator Meaning
&& AND
|| OR
! NOT
Where logical NOT is a unary operator and other two are binary
operator. Logical AND gives result true if both the conditions are true,
otherwise result is false. And logical OR gives result false if both the
condition false, otherwise result is true.
Operator Precedence and Associativity
Operators Description Precedence Level Associativity
()
[]
→
.
function call
array subscript
arrow operator
dot operator
1 left to right
+
-
++
--
!
~
*
&
(data type)
sizeof
unary plus
unary minus
Increment
decrement
logical not
1’s complement
Indirection
Address
type cast
size in byte
2 right to left
Operator Precedence and Associativity
Operators Description Precedence Level Associativity
*
/
%
multiplication
Division
modulus
3 left to right
+
-
Addition
Subtraction
4 left to right
<<
>>
left shift
right shift
5 left to right
<=
>=
<
>
less than equal to
greater than equal to
less than
greater than
6 left to right
==
!=
equal to
not equal to
7 left to right
Operator Precedence and Associativity
Operators Description Precedence Level Associativity
& bitwise XOR 9 left to right
| left to
right
&&
||
?:
bitwise OR
logical AND
logical OR
conditional operator
10
11
12
13
left to right
=, *=,
/=, %=
&=, ^=,
<<=
>>=
assignment operator 14 right to left
comma operator 15

Introduction to C language programming.pptx

  • 1.
    Programming using astructural language such as C
  • 2.
    Programming in CLanguage • Introduction to C Language • Symbols • Keywords • Identifiers • Data Types • Operators • Various Statements • Operator Precedence • Type Conversion • Conditional and Control Structures • Function • Recursive Functions.
  • 3.
    Introduction to CLanguage • The C programming language was devised by Dennis Ritchie at Bell labs in 1972. • C is a high-level programming language, meaning that it is possible to express several pages of machine code in just a few lines of C code. • Other examples of high-level languages are BASIC, C++, Fortran and Pascal. • They are so called because they are closer to human language than machine languages.
  • 4.
    Introduction to CLanguage • Such high-level languages allow a programmer to write programs that are independent of particular types of computer. This is called portability. • Portability can be aided by using an agreed standard when writing your program. • A compiler is used to convert your high-level language program into machine code that can be executed on a computer.
  • 5.
    Why Learn CLanguage • Compact, fast, and powerful • “Mid-level” Language • Standard for program development (wide acceptance) • It is everywhere! (portable) • Supports modular programming style • Useful for all applications • C is the native language of UNIX • Easy to interface with system devices/assembly routines • C is terse
  • 6.
    The components ofa C program • The #include directive tells the compiler to include other files stored on your HDD into your C program. These files will include information that does not change between programs that your program can use. On the right we include the standard input and output library. • The main() function is the only component that has to be included in every C program. It is followed by a pair of braces: { } • The return() statement returns values from a function. Within the main() function return()can be used to tell the operating system (in our case Linux) whether our code completed successfully. All C programs have some common elements.
  • 7.
    Character Set A characterdenotes any alphabet, digit or special symbol used to represent information. Valid alphabets, numbers and special symbols allowed in C are • The alphabets, numbers and special symbols when properly combined form constants, variables and keywords.
  • 8.
    Keywords There are certainwords reserved for doing specific task, these words are known as reserved word or keywords. These words are predefined and always written in lower case or small letter. These keywords can not be used as a variable name as it assigned with fixed meaning. Some examples: • int • short • signed • unsigne d • default • volatile • float • while • do • extern • register • enum • case • long • double • break • continue • typedef • static • do • for • goto • struct • char • auto • union • return • const etc.
  • 9.
    Identifiers These are userdefined word used to name of entities like variables, arrays, functions, structures etc. Rules for naming identifiers  Name should only consists of alphabets (both upper and lower case), digits and underscore (_) sign.  First characters should be alphabet or underscore  Name should not be a keyword  Since C is a case sensitive, the upper case and lower case considered differently, for example code, Code, CODE etc. are different identifiers.  Identifiers are generally given in some meaningful name such as value, net_salary, age, data etc. An identifier name may be long, some implementation recognizes only first eight characters, most recognize 31 characters. ANSI standard compiler recognize 31 characters. Some invalid identifiers are 5cb, int, res#, avg no etc.
  • 10.
    Data Types • Datatypes refer to an extensive system used for declaring variables or functions of different types before its use. The type of a variable determines how much space it occupies in storage and how the bit pattern stored is interpreted. The value of a variable can be changed any time • Basic Built-in Data Types: int, float, double, char • Enumeration Data Type: enum • Derived Data Type: pointer, array, structure, union • Void Data Type: void
  • 11.
    Data Types • Avariable declared to be of type int can be used to contain integer values only—that is, values that do not contain decimal places. A variable declared to be of type float can be used for storing floating- point numbers (values containing decimal places). The double type is the same as type float, only with roughly twice the precision. The char data type can be used to store a single character, such as the letter a, the digit character 6, or a semicolon similarly A variable declared char can only store character type value. • There are two types of type qualifier in c • Size qualifier: short, long • Sign qualifier: signed, unsigned • When the qualifier unsigned is used the number is always positive, and when signed is used number may be positive or negative. If the sign qualifier is not mentioned, then by default sign qualifier is assumed. The range of values for signed data types is less than that of unsigned data type. Because in signed type, the left most bit is used to represent sign, while in unsigned type this bit is also used to represent the value.
  • 12.
    Data Types • Thesize and range of the different data types on a 16 bit machine is given below:
  • 13.
    Constants • Constant isa any value that cannot be changed during program execution. In C, any number, single character, or character string is known as a constant. A constant is an entity that doesn’t change whereas a variable is an entity that may change. For example, the number 50 represents a constant integer value. The character string "Programming in C is fun.n" is an example of a constant character string. C constants can be divided into two major categories: • Primary Constants • Secondary Constants • These constants are further categorized as • Numeric constant • Character constant • String constant
  • 14.
    Constants • Numeric constant:Numeric constant consists of digits. It required minimum size of 2 bytes and max 4 bytes. It may be positive or negative but by default sign is always positive. No comma or space is allowed within the numeric constant and it must have at least 1 digit. The allowable range for integer constants is -32768 to 32767. Truly speaking the range of an Integer constant depends upon the compiler. For a 16-bit compiler like Turbo C or Turbo C++ the range is –32768 to 32767. For a 32-bit compiler the range would be even greater. Mean by a 16-bit or a 32 bit compiler, what range of an Integer constant has to do with the type of compiler. • It is categorized as • integer constant • real constant.
  • 15.
    Constants • Integer constantsare whole number which have no decimal point. Types of integer constants are:  Decimal constant: 0 - 9 (base 10)  Octal constant: 0 – 7 (base 8)  Hexadecimal constant: 0 - 9, A – F (base 16) In decimal constant first digit should not be zero unlike octal constant first digit must be zero (as 076, 0127) and in hexadecimal constant first two digit should be 0x/ 0X (such as 0x24, 0x87A). By default type of integer constant is integer but if the value of integer constant exceeds the range then the value represented by integer type is taken to be unsigned integer or long integer. It can also explicitly mention integer and unsigned integer type by suffix l/L and u/U.
  • 16.
    Constants • Real constants:This can also be regarded as Floating Point Constants. To construct real constant we must follow the rule of , • Real constant must have at least one digit. • It must have a decimal point. • It could be either positive or negative. • Default sign is positive. • No commas or blanks are allowed within a real constant. • Example.: +325.34 • 426.0 • -32.76 • To express small/large real constant exponent(scientific) form is used where number is written in mantissa and exponent form separated by e/E. Exponent can be positive or negative integer but mantissa can be real/integer type, for example 3.6*105 =3.6e+5. By default type of floating point constant is double, it can also be explicitly defined it by suffix of f/F.
  • 17.
    Constants • Character constants:Character constant represented as a single character enclosed within a single quote. These can be single digit, single special symbol or white spaces such as ‘9’,’c’,’$’, ‘ ’ etc. Every character constant has a unique integer like value in machine’s character code as if machine using ASCII (American standard code for information interchange). Some numeric value associated with each upper and lower case alphabets and decimal integers are as: • A - Z ASCII value (65-90) • a - z ASCII value (97-122) • 0 - 9 ASCII value (48-59) • ; ASCII value (59)
  • 18.
    Constants • String constants:Set of characters are called string and when sequence of characters are enclosed within a double quote (it may be combination of all kind of symbols) is a string constant. String constant has zero, one or more than one character and at the end of the string null character( 0) is automatically placed by compiler. Some examples are “,sarathina” , “908”, “3”,” ”, “A” etc. In C although same characters are enclosed within single and double quotes it represents different meaning such as “A” and ‘A’ are different because first one is string attached with null character at the end but second one is character constant with its corresponding ASCII value is 65.
  • 19.
    Constants •Symbolic constants: Symbolicconstant is a name that substitute for a sequence of characters and, characters may be numeric, character or string constant. These constant are generally defined at the beginning of the program as #define name value , here name generally written in upper case for example • #define MAX 10 • #define CH ‘b’ • #define NAME “sony”
  • 20.
    Variables • Variable isa data name which is used to store some data value or symbolic names for storing program computations and results. The value of the variable can be change during the execution. The rule for naming the variables is same as the naming identifier. Before used in the program it must be declared. Declaration of variables specify its name, data types and range of the value that variables can store depends upon its data types. Syntax • int a; • char c; • float f;
  • 21.
    Variables • Variable initialization Whenwe assign any initial value to variable during the declaration, is called initialization of variables. When variable is declared but contain undefined value then it is called garbage value. The variable is initialized with the assignment operator such as Data type variable name=constant; Example: int a=20; Or int a; a=20;
  • 22.
    Expressions • An expressionis a combination of variables, constants, operators and function call. • It can be arithmetic, logical and relational for example:- • int z = x + y // arithmetic expression • a > b //relational • a == b // logical • func (a, b) // function call Expressions consisting entirely of constant values are called constant expressions. So, the expression 121 + 17 – 110 is a constant expression because each of the terms of the expression is a constant value. But if J was declared to be an integer variable, the expression 180 + 2 – J would not represent a constant expression.
  • 23.
    Operator • This isa symbol use to perform some operation on variables, operands or with the constant. Some operator required 2 operand to perform operation or Some required single operation. • Arithmetic Operator: Operators used for numeric calculation. Could be Uniary or Binary Arithmetic Operator. Unary operator require only one operand as “+, -, ++. –” (Addition, Subtraction, Multiplication, division) Binary Operation require two operands and its operators are +(addition) – (subtraction), * (multiplication), / (division), % (modulus) Modulus cannot applied with floating point operand as well as there are no exponent operator in c. Unary (+) and Unary (-) is different from addition and subtraction When both the operand are integer then it is called integer arithmetic and the result is always integer. When both the operand are floating point then it is called floating arithmetic and when operand is of integer and floating point then it is called mix type or mixed mode arithmetic . And the result is in float type.
  • 24.
    Operator • Assignment Operator:A value can be stored in a variable with the use of assignment operator. The assignment operator(=) is used in assignment statement and assignment expression. Operand on the left hand side should be variable and the operand on the right hand side should be variable or constant or any expression. When variable on the left and side is occur on the right hand side then we can avoid by writing the compound statement. For example • Int x = y • Int sum = x +y + z
  • 25.
    Operator • Increment andDecrement Operator: The Unary operator ++, --, is used as increment and decrement which acts upon single operand. Increment operator increases the value of variable by one. Similarly decrement operator decrease the value of the variable by one. And these operator can only used with the variable, but can't use with expression and constant such as ++6 or
  • 26.
    Operator • Increment andDecrement Operator (cntd): It is categorized into prefix & postfix . In the prefix the value of the variable is incremented 1st, then the new value is used(such as + +m, --m), where as in postfix the operator is written after the operand (such as m++,m--). EXAMPLE • let y = 12; • z= ++y; • y = y + 1; • z = y; • Similarly in the postfix increment and decrement operator is used in the operation. And then increment and decrement is perform. EXAMPLE • let x= 5; • y= x++; • y=x; • x= x+1
  • 27.
    Operator • Relational Operator:It is use to compared value of two expressions depending on their relation. Expression that contain relational operator is called relational expression. Here the value is assign according to true or false value. • (a>=b) || (b>20) • (b>a) && (e>b) • 0&&(b!=7)
  • 28.
    Operator • Conditional Operator:It sometimes called as ternary operator. Since it required three expressions as operand and it is represented as (? , :). • SYNTAX exp1 ? exp2 :exp3 Here exp1 is first evaluated. It is true then value return will be exp2 . If false then exp3. EXAMPLE void main() { int a=10, b=2 int s= (a>b) ? a:b; printf(“value is:%d”); } Output: Value is:10
  • 29.
    Operator • Comma Operator:Comma operator is used to permit different expression to appear in a situation where only one expression would be used. All the expression are separator by comma and are evaluated from left to right. EXAMPLE int i, j; for (i = 1, j = 2; i <= 5 && j <= 10; i++, j++)
  • 30.
    Operator • Size ofOperator: Size of operator is a Unary operator, which gives size of operand in terms of byte that occupied in the memory. An operand may be variable, constant or data type qualifier. Generally it is used make portable program(program that can be run on different machine). It determines the length of entities, arrays and structures when their size are not known to the programmer. It is also use to allocate size of memory dynamically during execution of the program. • EXAMPLE #include <stdio.h> int main() { int sum; float f; printf("%zu%zu", sizeof(f), sizeof(sum)); printf("%zu%zu", sizeof(235L), sizeof('A')); return 0; }
  • 31.
    Operator • Bitwise Operator:Bitwise operator permit programmer to access and manipulate data at bit level. Various bitwise operator enlisted are one's complement (~) bitwise AND (&) bitwise OR (|) bitwise XOR (^) left shift (<<) right shift (>>) These operator can operate on integer and character value but not on float and double. In bitwise operator the function showbits( ) function is used to display the binary representation of any integer or character value. In one's complement all 0 changes to 1 and all 1 changes to 0. In the bitwise OR its value would obtaining by 0 to 2 bits. As the bitwise OR operator is used to set on a particular bit in a number. Bitwise AND the logical AND. It operate on 2 operands and operands are compared on bit by bit basic. And hence both the operands are of same type.
  • 32.
    Operator • Logical orBoolean Operator: Operator used with one or more operand and return either value zero (for false) or one (for true). The operand may be constant, variables or expressions. And the expression that combines two or more expressions is termed as logical expression. C language has three logical operators : Operator Meaning && AND || OR ! NOT Where logical NOT is a unary operator and other two are binary operator. Logical AND gives result true if both the conditions are true, otherwise result is false. And logical OR gives result false if both the condition false, otherwise result is true.
  • 33.
    Operator Precedence andAssociativity Operators Description Precedence Level Associativity () [] → . function call array subscript arrow operator dot operator 1 left to right + - ++ -- ! ~ * & (data type) sizeof unary plus unary minus Increment decrement logical not 1’s complement Indirection Address type cast size in byte 2 right to left
  • 34.
    Operator Precedence andAssociativity Operators Description Precedence Level Associativity * / % multiplication Division modulus 3 left to right + - Addition Subtraction 4 left to right << >> left shift right shift 5 left to right <= >= < > less than equal to greater than equal to less than greater than 6 left to right == != equal to not equal to 7 left to right
  • 35.
    Operator Precedence andAssociativity Operators Description Precedence Level Associativity & bitwise XOR 9 left to right | left to right && || ?: bitwise OR logical AND logical OR conditional operator 10 11 12 13 left to right =, *=, /=, %= &=, ^=, <<= >>= assignment operator 14 right to left comma operator 15