C Programming - PowerPoint PPT Presentation

1 / 106
About This Presentation
Title:

C Programming

Description:

C Programming Class I – PowerPoint PPT presentation

Number of Views:309
Avg rating:3.0/5.0
Slides: 107
Provided by: pals151
Category:

less

Transcript and Presenter's Notes

Title: C Programming


1
  • C Programming
  • Class I

2
Introduction to C
  • Generation of C Language
  • In 1967, Martin Richards developed a language
    called BCPL (Basic Combined Programming Language)
  • In 1970, Ken Thompson created a language using
    many features of BCPL and called it simply B.
  • In 1972, C is Introduced by Dennis Ritchie at
    Bell laboratories and in the UNIX operating
    system.

3
Why are using C
  • It is a Structured Programming Language
  • High Level Language
  • Machine Independent Language
  • It allows software developers to develop programs
    without worrying about the hardware platforms
    where they will be implemented

TYPES OF C COMPILER
1. Borland C Compiler 2. Turbo C
Compiler 3. Microsoft C Compiler 4. ANSI
C Compiler
4
Steps in Learning C
Character set
Files
Data Structures
Structures and Unions
Algorithms
Constants, variable And Data types
Control statements
Pointers
Programs
Functions
Arrays
5
CS Program Structure
Documentation section

Preprocessor section
Definition section
Global declaration section main()
Declaration part
Executable part
Sub program section
Body of the subprogram

6
Cs Character set
7
C TOKENS
C TOKENS
Strings
Constants
-15.5 100
ABC YEAR
Identifiers
Operators
Grant_total Amount a1
- /
Keywords
Special Symbols
float while

8
Cs keyword
  • Basic Building Block of the Program
  • This are the Reserved words
  • This words cant be changed

C keywords C keywords C keywords C keywords
autobreakcasecharconstcontinuedefaultdo doubleelseenumexternfloatforgotoif intlongregisterreturnshortsignedsizeofstatic structswitchtypedefunionunsignedvoidvolatilewhile
9
Cs Variables
  • A variable is a data name as well as identifier
    that may be used to store a data value.
  • Rules for Naming the Variables
  • A variable can be of any combination of
    alphabets, digits and underscore.
  • The first character of the variable cant be
    digits.
  • The length of the variable cant be exceeded by
    8.(ANSI C 32 Character)
  • No commas, blanks or special symbol are allowed
    within a variable name.
  • Uppercase and lowercase are significant. That is,
    the variable Total is not the same as total or
    TOTAL.
  • It should not be a keyword.
  • White space is not allowed.

10
Cs Variables cont.
Variable Declaration It tells the computer what the variable name and type of the data Variable Declaration It tells the computer what the variable name and type of the data
Syntax data_type a1,a2,a3..an
Description data_type is the type of the data. a1,a2,a3an are the list of variables
Example int number char alpha float price
11
Cs Variables cont.
Initializing Variables Initialization of variables can be done using assignment operator() Initializing Variables Initialization of variables can be done using assignment operator()
Syntax a1 c1 (or) data_type a1 c1
Description a1 is the variable c1 is the constant data_type is the type of the data
Example int a1 29 float f1 34.45 char c1 d
12
Cs constant
The item whose values cant be changed during
execution of program are called constants
13
Cs constant Conti
Integer constant eg roll_number 12345
Real Constant eg pi 3.14
Hexadecimal constant Eg. 0x23
Octal constant Eg. 043
Decimal Constant Eg. 35
Double Precision Constant
Single Precision Constant
14
Data Types
  • This are the type of the data that are going to
    access within the program.

Cs Data Type Cs Data Type Cs Data Type Cs Data Type
Primary User defined Derived Empty
Char Int Float Double typedef Arrays Pointers Structures Union Void
15
Cs Data types cont.
The primary data types are further classified as
below. Integers are the whole numbers, both
positive and negative.
16
Cs Data types cont.
Float are the numbers which contain fractional
parts, both Positive and Negative.
17
Cs Data types cont.
Char are the characters which contain
alpha-numeric character. Characters are usually
stored in 8 bits (one byte) of internal storage
The void is the Null Data type.
18
C Delimiters
Delimiters are the symbols, which has some
syntactic meaning and has got significance.
Symbol Name Meaning
Hash Pre-processor directive
, comma Variable delimiters (to separate list of variables)
colon Label delimiters
Semi colon Statement delimiters
() parenthesis Used in expressions or in functions
Curly braces Used in blocking C structure
Square braces Used along with arrays
19
C Statements
  • Statement can be defined as set of declarations
    (or) sequence of action
  • All statements in C ends with semicolon()
    except condition and
  • control statement

20
Expression Statement
  • 1. An Expression is a combination of constant,
    variables, operators, and function calls written
    in any form as per the syntax of the C language.
  • 2. The values evaluated in these expressions can
    be stored in variables and used as a part for
    evaluating larger expressions.
  • 3. They are evaluated using an assignment
    statement of the form.
  • variable expression
  • 4. For Example,
  • age 21
  • result pow(2,2)
  • simple_interest (p n r) / 100

Algebraic Expression Equivalent C Expression
(mnp qr at) (mn pqr-st)
(abc) (xyz) (abc)(xyz)
abc / xy (abc) / (xy)
8a3 3a2 2a 8aaa3aa2a
(a-b)(x-y) / mn ((a-b)(x-y)) / (mn)
8.8(ab-c) c / pq 8.8 (ab-c) (c / (pq))
21
Compound Statements
  • 1. A group of valid C expression statements
    placed within an opening flower brace and
    closing flower brace is referred as a
    Compound Statements.
  • 2. For Example,
  • X (A (B 3) C)
  • Y A B 3
  • Z A (B 3 C)

Control Statements
1. This statement normally executed
sequentially as they appear in the program.
2. In some situations where we may have to change
the order of execution of statements until some
specified conditions are met. 3. The control
statement alter the execution of statements
depending upon the conditions specified inside
the parenthesis. 4. For Example, if (a
b) if ((x lt y) (y gt z))
-------- -----------
-------- -----------
22
Operators
  • An operator is a symbol that specifies an
    operation to be performed on the operands
  • Some operator needs two operands (binary)
  • Eg ab
  • is an operator and a and
    b are the operands
  • Some operator needs one operand (unary)
  • Eg a
  • is an operator and a is the operand

23
Types of Operators
24
Arithmetic Operators
  • This operators help us to carryout basic
    arithmetic operations such addition, subtraction,
    multiplication, division

Operator Meaning Examples
Addition 12 3
- Subtraction 3 -2 1
Multiplication 22 4
/ Division 2/2 1
Modulo division 10/3 1
Operation Result Examples
Int/int int 2/2 1
Real/int real 7.0/2 3.5
Int/real real 7/2.0 3.5
Real/real real 7.0/2.0 3.5
25
Relational Operator
  • This are used to compare two or more operands.
  • Operands can be variables, constants or
    expression.
  • eg comparison of two marks or two values.

Operator Meaning Example Return value
lt is less than 5lt6 1
lt is less than or equal to 4lt4 1
gt is greater than 5gt7 0
gt is greater than or equal to 7gt5 0
equal to 66 1
! not equal to 5!5 0
26
Logical Operator
  • This operators are used to combine the results of
    two or more conditions.

Operator Meaning Example Return value
Logical And (9gt2) (6gt4) 1
Logical OR (9gt2) (3.4) 1
! Logical Not 4 ! 4 0
AND truth table AND truth table AND truth table
True True True
True False False
False True False
False False False
OR truth table OR truth table OR truth table
True True True
True False True
False True True
False False False
27
Assignment Operator
  • This are used to assign a value or an expression
    or a variable to another variable
  • eg a 10 n1 20
  • Syntax
  • identifier expression
  • Compound Assignment
  • This operator are used to assign a value to a
    variable in order to assign a new value to a
    variable after performing a specified operation.
  • eg a10,n1-20
  • Nested Assignment (Multiple)
  • This operator are used to assign a single
    value to multiple variables
  • eg abcde10

28
List of Shorthand or Compound Assignment Operator
Operator Meaning
Assign Sum
- Assign Difference
Assign Product
/ Assign Quotient
Assign Remainder
Assign Ones Complement
ltlt Assign Left Shift
gtgt Assign Right Shift
Assign Bitwise AND
! Assign Bitwise OR
Assign Bitwise X - OR
29
Increment and Decrement operator
  • C provide two operator for incrementing a value
    or decrementing a value
  • a) Increment operator (adds one to
    the variable)
  • b) -- Decrement operator (Minus one
    to the variable)
  • eg a (if a 10 then the output
    would be 11)

Operator Meaning
X Pre increment
X Post increment
--X Pre decrement
X-- Post decrement
30
Increment and Decrement operator Conti
If the value of the operand x is 3 then the
various expressions and their results are
Expression Result
X 4
X 3
- - X 2
X - - 3
The pre increment operation (X) increments x
by 1 and then assign the value to x. The post
increment operation (X) assigns the value to x
and then increments 1. The pre-decrement
operation ( --X) decrements 1 and then assigns to
x. The post decrement operation (x--) assigns
the value to x and then decrements 1. These
operators are usually very efficient, but causes
confusion if your try to use too many evaluations
in a single statement.
31
Conditional Operator
  • It is used check the condition and execute the
    statement depending upon the condition

Syntax Condition?exp1exp2
Description The ? operator act as ternary operator, it first evaluate the condition, if it is true then exp1 is evaluated if the condition is false then exp2 is evaluated
Example a 2 b3 ans agtb?ab printf (ans)
32
Bitwise Operator
  • This are used to manipulate the data at bit level
  • It operates only on integers

Operator Meaning
Bitwise AND
Bitwise OR
Bitwise XOR
ltlt Shift left
gtgt Shift right
Ones complement
33
Bitwise Operator cont.
  • The truth table for Bitwise AND,OR and XOR

Bitwise AND (both the operand should be high for 1) Bitwise AND (both the operand should be high for 1) Bitwise AND (both the operand should be high for 1)
0 0 0
1 1 1
Eg x 3 0000 0011 y 4 0000
0100 xy 0000 0000
Bitwise OR (either of the operand should be high for 1) Bitwise OR (either of the operand should be high for 1) Bitwise OR (either of the operand should be high for 1)
0 0 0
1 1 1
Eg x 3 0000 0011 y 4 0000 0100
xy 0000 0111
Bitwise XOR (the two operands should be different for 1) Bitwise XOR (the two operands should be different for 1) Bitwise XOR (the two operands should be different for 1)
0 0 1
1 1 0
Eg x 3 0000 0011 y 4 0000 0100
x y 0000 0111
34
Bitwise Operator cont.
Bitwise Ones Complement The ones complement
operator () is a unary operator, which causes
the bits of the operand to be inverted (i.e.,
ones becomes zeros and zeros become
ones) For Example, if x 7 i.e 8 bit
binary digit is 0 0 0 0 0 1 1 1 The Ones
Complement is 1 1 1 1 1 0 0 0 Bitwise Left Shift
Operator The Left shift operator (ltlt) shifts
each bit of the operand to its Left. The general
form or the syntax of Left shift operator
is variable ltlt no. of bits positions if x 7
(i.e., 0 0 0 0 0 1 1 1) the value of y in the
expression y x ltlt1 is 14 0 0 0 0 1 1 1 0 14
since it shifts the bit position to its left by
one bit. The value stored in x is multiplied by
2N (where n is the no of bit positions) to get
the required value. For example, if x 7 the
result of the expression y x ltlt 2 is y x 22
(i.e. 28)
35
Bitwise Operator cont.
Bitwise Right Shift Operator The Right shift
operator (gtgt) shifts each bit of the operand to
its Right. The general form or the syntax of
Right shift operator is variable gtgt no. of
bits positions if x 7 (i.e., 0 0 0 0 0 1 1 1)
the value of y in the expression y x gtgt 1 is
3 0 0 0 0 0 0 1 1 3 since it shifts the bit
position to its right by one bit. The value
stored in x is divided by 2N (where n is the no
of bit positions) to get the required value. For
example, if x 7 the result of the expression y
x ltlt 2 is y x / 22 (i.e. 1). If you use the
left shift operator i.e. x x ltlt 1 the value of
x will be equal to 2 (i.e., 0 0 0 0 0 0 1 0)
since the lost bit cannot be taken back.
36
Operator Precedence and Associativity of Operator
37
What is Precedence Rule and Associative Rule
  • Each operator in C has a precedence associated
    with it.
  • This precedence is used to determine how an
    expression involving more than one operator is
    evaluated.
  • These are distinct levels of precedence and an
    operator may belong to one of these levels.
  • The operators at the higher level of precedence
    are evaluated first.
  • The operators of the same precedence are
    evaluated either from left to right or from
    right to left, depending on the level.
  • That is known as the associativity property of an
    operator.

38
Arithmetic operators precedence
  • The precedence of an operator gives the order in
    which operators are applied in expressions the
    highest precedence operator is applied first,
    followed by the next highest, and so on.
  • eg Arithmetic operator precedence

Precedence operator
High ,/,
Low ,-
The arithmetic expression evaluation is carried
out using two phases from left to right through
the expressions
39
Relational operators precedence
Example if (x 10 15 y lt10) The
precedence rules say that the addition operator
has a higher priority than the logical operator
() and the relational operators ( and lt).
Therefore, the addition of 10 and 15 is executed
first. This is equivalent to if (x 25 y
lt 10) The next step is to determine whether x
is equal to 25 and y is less than 10, if we
assume a value of 20 for x and 5 for y, then x
25 is FALSE (0) y lt10 is TRUE (1) Note
that since the operator lt enjoys a higher
priority compared to , y lt 10 is tested first
and then x 25 is tested. Finally we
get, if (FALSE TRUE) Because one of the
conditions is FALSE, the complex condition is
FALSE. In the case of , it is guaranteed that
the second operand will not be evaluated if the
first is zero and in the case of , the second
operand will not be evaluated if the first is non
zero.
40
Precedence and Associativity Table
  • The following table lists all the operators, in
    order of precedence, with their associativity

Operators Operations Associativity priority
() Function call Left to Right 1
Square brackets Left to Right 1
-gt Structure operator Left to Right 1
. Dot operator Left to Right 1
Unary plus Right to Left 2
- Unary minus Right to Left 2
Increment Right to Left 2
-- Decrement Right to Left 2
! Not Right to Left 2
41
Precedence and Associativity Table cont.
Operators Operations Associativity priority
Complement Right to Left 2
Pointer operation Right to Left 2
Address operator Right to Left 2
Sizeof Size of operator Right to Left 2
type Type cast Right to Left 2
Multiplication Left to Right 3
/ Division Left to Right 3
Modulo Left to Right 3
Addition Left to Right 4
- Subtraction Left to Right 4
42
Precedence and Associativity Table cont.
Operators Operations Associativity priority
ltlt Left shift Left to Right Left to Right 5 6
gtgt Right shift Left to Right Left to Right 5 6
lt is less than Left to Right Left to Right 5 6
lt is less than or equal to Left to Right Left to Right 5 6
gt is greater than Left to Right Left to Right 5 6
gt is greater than or equal to Left to Right Left to Right 5 6
equal to Left to Right Left to Right 5 6
! not equal to Left to Right Left to Right 5 6
Bitwise AND Left to Right 7
Bitwise OR Left to Right 7
Bitwise XOR Left to Right 7
43
Precedence and Associativity Table cont.
Operators Operations Associativity priority
Logical And Left to Right 8
Logical OR Left to Right 8
? Conditional Right to Left 9
,,-,,,,!,ltlt,gtgt Assignment Right to Left 10
, comma Left to Right 11
44
Sample Expression
  • Exp a - 2 a b b / 4
  • Let us have a10,b20
  • exp 10 - 2 10 20 20 / 4
  • Phase I exp 21020 , 20/4 will be evaluated.
  • phase II exp 10-4005 will be evaluated.
  • Result exp -395.

45
Expression Evaluation
  • Let us see some examples for evaluating
    expression.
  • Let a 5, b 8, c 2.
  • x b / c a c

10
4
14
46
Expression Evaluation
  • Let us see some examples for evaluating
    expression.
  • Let a 5, b 8, c 2.
  • y a (b 3) - c

24
29
27
47
TYPE CONVERSION OR TYPE CASTING
48
What is Type Conversion or Type Casting
Type Casting means One data type converted into
another data type. This is called Type conversion
or Type casting. Example 1. Integer into
floating point number 2. Character into
integer 3. Floating point number into Integer
Number Type conversion is classified into two
types. 1. Implicit Type Conversion (Automatic
Type Conversion) 2. Explicit Type Conversion
(Manual Type Conversion)
Type Conversion
Implicit Conversion
Explicit Conversion
Automatic Conversion
Casting Operation
49
Type Conversion Hierarchy
long double
Implicit Type Conversion
double
float
unsigned long int
long int
unsigned int
int
Explicit Type Conversion
short
char
50
Implicit Type Conversion
  • The Implicit Type Conversion is known as
    Automatic Type Conversion.
  • C automatically converts any intermediate values
    to the proper type so that the expression can be
    evaluated without loosing any significance.
  • Implicit type Conversion also known as Converted
    Lower order data type into Higher order data
    type.
  • Implicit Type Conversion also known as Widening.
  • Example
  • int a, b
  • float c
  • c a b
  • Print c
  • float a,b
  • int c
  • c a b // This is Wrong
  • Print c

51
Explicit Type Conversion
  1. The Explicit Type Conversion is, there are
    instances when we want to force a type conversion
    in a way that is different from the automatic
    conversion.
  2. The Explicit Type Conversion is Converted Higher
    order data type into Lower order data type.
  3. The Explicit type Conversion is also known as
    borrowing.
  4. The Explicit type conversion forces by a casting
    operator.

Disadvantage of Explicit Type Conversion
  1. float to int causes truncation of the fractional
    part.
  2. double to float causes rounding of digits.
  3. Long int to int causes dropping of the excess
    higher order bits.

The general form of the casting is (type_name)
expression Where type_name is one of the
standard C data type. The expression may be a
constant, variables or an expression. For
Example float a, b int c c (int) a
(int) b Print c
52
Use of Casts
Example Action
x (int) 7.5 7.5 is converted to integer by truncation.
a (int) 21.3 / (int) 4.5 Evaluated as 21 / 4 and the result would be 5.
b (double) sum / n Division is done in floating point mode.
y (int) (a b) The result of a b is converted to integer.
z (int) a b a is converted to integer and then added to b.
p cos ((double) x) Converts x to double before using it.
53
Input And Output Functions
54
Ip / Op Statements
  • We have two methods for providing data to the
    program.
  • a) Assigning the data to the variables
    in a program.
  • b) By using the input/output
    statements.
  • c language supports two types of Ip / Op
    statements
  • This operations are carried out through function
    calls.
  • Those function are collectively known as standard
    I / O library

55
Ip / Op Statements cont.
56
Unformatted Ip / Op statements
  • These statements are used to input / output a
    single / group of characters from / to the input
    / output device.
  • Single character Input/output function

getch() function getch() function
Syntax char variable getch()
Description char is the data type of the variable getch() is the function
Example char x getch() putch (x)
putch() function putch() function
Syntax putch (character variable)
Description char variable is the valid c variable of the type of char data type.
Example char x putch (x)
57
Unformatted Ip / Op statements cont.
  • Group of character Input / output function.
  • Gets() and puts are used to read / display the
    string from / to the standard input / output
    device.

gets() function gets() function
Syntax gets (char type of array variable)
Description valid c variable declared as one dimensional array.
Example char s10 gets (s)
puts() function puts() function
Syntax puts (char type of array variable)
Description valid c variable declared as one dimensional array.
Example char s10 gets (s) puts (s)
58
Unformatted Ip / Op statements cont.
  • Single character Input / output function with
    files.
  • Gets() and puts are used to read / display the
    string from / to the standard input / output
    device.

getc() function getc() function
Syntax getc(char type of variable, file pointer)
Description The getc function returns the next character from the input stream pointed to by stream
Example int getc(FILE stream )
putc() function putc() function
Syntax putc (char type of variable, file pointer)
Description The putc function returns the character written .
Example int putc(int c , FILE stream )
59
Sample Program
  • includeltstdio.hgt
  • Void main()
  • char name10
  • char address20
  • Puts(Enter the name )
  • gets(name)
  • puts(Enter the address )
  • gets(address)
  • puts(Name )
  • puts(name)
  • puts(Address )
  • puts(address)

60
Formatted Ip / Op statements
  • It refers to Input / Output that has been
    arranged in a particular format.
  • Using this statements, the user must specify the
    type of data, that is going to be accessed.

scanf() (This function is used to enter any combination of input). scanf() (This function is used to enter any combination of input).
Syntax scanf (control strings,var1,var2..var n)
Description control strings is the type of data that user going to access via the input statements. var1,var2 are the variables in which the datas are stored.
Example int n scanf (d, n)
61
Formatted Ip / Op statements
  • Control strings
  • i) It is the type of data that user is going
    to access via the input statement
  • ii) These can be formatted . iii) Always
    preceded with a symbol.

Format code Variable type Display
c Char Single character
d Int Decimal integer -32768 to 32768
s Array of char Print a Strings
f Float or double Float point value without exponent
ld Long int Long integer -65536 to 65535
u Int Unsigned decimal integer
e Float or double Float point values in exponent form
h int Short integer
62
Printf()
printf() (This function is used to display the result or the output data on to screen) printf() (This function is used to display the result or the output data on to screen)
Syntax printf (control strings,var1,var2..var n)
Description Control strings can be anyone of the following Format code character code Execution character set Character/strings to be displayed Var1,var2 are the variables in which the datas are stored.
Example printf (this is computer fundamental class) printf (\n Total is d and average is f,sum,avg)
63
Control Statements(Decision Making)
64
Control Statements
65
Types of Selection Statement
  1. Simple if Selection statement
  2. if else Selection statement
  3. Nested if else Selection statement
  4. else if ladder Selection statement

66
Simple if Selection statement
  • It is used to control the flow of execution of
    the statements and also to
  • test logically whether the condition is true or
    false.
  • if the condition is true then the statement
    following the if is executed if
  • it is false then the statement is skipped.

Syntax if ( condition )
statement
Test Condition
True
Executable X - Statement
67
  • //Biggest of Two Numbers
  • include ltstdio.hgt
  • void main()
  • int a, b
  • clrscr()
  • printf(Enter the A and B Value\n)
  • scanf(d, a)
  • if (a gt b)
  • printf(A is Big)
  • getch()

68
The if else statement
  • It is used to execute some statements when
    the condition is true and execute some other
    statements when the condition is false depending
    on the logical test.

Syntax if ( condition )
statement 1 (if the condition is true
this statement will be executed)
else statement 2 (if
the condition is false this statement will be
executed)
Test Condition
True
False
Executable X - Statement
Executable Y - Statement
69
  • // Biggest of Two Numbers
  • include ltstdio.hgt
  • void main()
  • int a, b
  • clrscr()
  • printf(Enter the A and B Value\n)
  • scanf(dd, a,b)
  • if (a gt b)
  • printf(A is Big)
  • else
  • printf(B is Big)

70
  • // Given Number is ODD or EVEN Number
  • include ltstdio.hgt
  • void main()
  • int n
  • clrscr()
  • printf(Enter the Number\n)
  • scanf(d, n)
  • if (n 2 0)
  • printf(Given Number is Even Number)
  • else
  • printf(Given Number is Odd Number)

71
  • Nested if.. else statement

when a series of ifelse statements are occurred
in a program, we can write an entire ifelse
statement in another ifelse statement called
nesting
Syntax if ( condition 1) if ( condition
2) statement 1 else statement 2
else if (condition 3) statement
3 else statement 4
72
Test Condition_1
TRUE
FALSE
Test Condition_2
TRUE
FALSE
Executable X2 - Statement
Executable X1 - Statement
Test Condition_3
TRUE
FALSE
Executable X4 - Statement
Executable X3 - Statement
73
  • else if Ladder or Multiple if else Statements

When a series of decisions are involved we have
to use more than one if else statement called
as multiple ifs. Multiple if else statements
are much faster than a series of if else
statements, since theif structure is exited when
any one of the condition is satisfied.
Syntax if (condition_1) executed statement_1
else if (condition_2)
executed statement_2 else
if (condition_3) executed statement_3 ---
------------------- ----------------------
else if (condition_n) executed
statement_n else executed
statement_x
74
Test Condition_1
TRUE
FALSE
Exec. Stat_1
Test Condition_2
TRUE
FALSE
Exec. Stat_2
Test Condition_3
TRUE
FALSE
Exec. Stat_3
Test Condition_n
TRUE
FALSE
Exec. Stat_n
Exec. Stat_X
75
else if Ladder
  • if (result gt 75)
  • printf ( Passed Grade A\n )
  • else if (result gt 60)
  • printf ( Passed Grade B\n )
  • else if (result gt 45)
  • printf ( Passed Grade C\n )
  • else
  • printf ( Failed\n )

76
THE SWITCH STATEMENT
  • The control statements which allow us to make a
    decision from the number of choices is called
    switch (or) Switch-case statement.
  • It is a multi way decision statement, it test the
    given variable (or) expression against a list of
    case value.

switch (expression) case constant 1
simple statement (or)
compound statement case constant 2
simple statement (or)
compound statement case constant 3
simple statement (or)
compound statement
switch (expression) case constant 1
simple statement (or)
compound statement case constant 2
simple statement (or)
compound statement default
simple statement (or)
compound statement
77
Example Without Break Statement
Example With Break Statement
  • includeltstdio.hgt
  • void main ()
  • int num1,num2,choice
  • printf(Enter the Two Numbers\n)
  • scanf(dd,num1,num2)
  • printf(1 -gt Addition\n)
  • printf(2-gtSubtraction\n)
  • printf(3-gtMultiplication\n)
  • printf(4-gtDivision\n)
  • printf(Enter your Choice\n)
  • scanf(d,choice)
  • switch(choice)
  • case 1
  • Printf(Sum is d\n, num1num2)
  • case 2

includeltstdio.hgt void main () int
num1,num2,choice printf(Enter the Two
Numbers\n) scanf(dd,num1,num2) printf(
1 -gt Addition\n) printf(2-gtSubtraction\n)
printf(3-gtMultiplication\n) printf(4-gtDivisi
on\n) printf(Enter your Choice\n) scanf(
d,choice) switch(choice) case 1
printf(Sum is d\n, num1num2)
break case 2
printf(Diif. is d\n, num1-num2)
break case 3
printf(Product is d\n, num1num2)
break case 4
printf(Division is d\n, num1/num2)
break default printf
(Invalid Choice..\n) getch()
78
Rules for Switch
  • The expression in the switch statement must be an
    integer or character constant.
  • No real numbers are used in an expression.
  • The default is optional and can be placed
    anywhere, but usually placed at end.
  • The case keyword must be terminated with colon
    ()
  • No two case constant are identical.
  • The values of switch expression is compared with
    case constant in the order specified i.e from top
    to bottom.
  • A switch may occur within another switch, but it
    is rarely done. Such statements are called as
    nested switch statements.
  • The switch statement is very useful while writing
    menu driven programs.

79
Iteration Statements
  • Iteration statements is also known as Looping
    statement.
  • A segment of the program that is executed
    repeatedly is called as a loop.
  • Some portion of the program has to be specified
    several number of times or until a particular
    condition is satisfied.
  • Such repetitive operation is done through a loop
    structure.
  • The Three methods by which you can repeat a part
    of a program are,
  • 1. while Loops
  • 2. do.while loops
  • 3. for Loop
  • Loops generally consist of two parts
  • Control expressions One or more control
    expressions which control the execution of the
  • loop,
  • Body which is the statement or set of
    statements which is executed over and
  • over

80
  • Any looping statement , would include the
    following steps
  • Initialization of a condition variable
  • Test the control statement.
  • Executing the body of the loop depending on the
    condition.
  • Updating the condition variable.

81
While Loop
  • A while loop has one control expression, and
    executes as long as that expression is true. The
    general syntax of a while loop is
  • A while loop is an entry controlled loop
    statement.

initialize loop counter while (condition) stat
ement (s) increment or decrement loop counter
82
Start
Initialize
Test Condition
False
Stop
True
Body of Loop
Increment or Decrement
83
Example
// Summation of the series 1 2 3 4
. include ltstdio.hgt void main() int i, sum
clrscr() i 1 sum 0 while(ilt10)
sum sum i printf(The Sum Value
isd\n,i)
i getch()
// Print the I Values include ltstdio.hgt void
main() int i clrscr() i
0 while(ilt10) printf(The I Value
is d\n,i) i getch()
84
THE do-while LOOP
  • The body of the loop may not be executed if the
    condition is not satisfied in while loop.
  • Since the test is done at the end of the loop,
    the statements in the braces will always be
    executed at least once.
  • The statements in the braces are executed
    repeatedly as long as the expression in the
    parentheses is true.
  • Make a note that do while ends in a (semicolon)
  • Note that Do While Looping statement is Exit
    Controlled Looping statement

initialize loop counter do statement
(s) increment or decrement loop counter while
(condition)
85
Start
Initialize
Body of Loop
Increment or Decrement
Test Condition
True
False
Stop
86
Difference Between While Loop and Do While Loop
Sl.No. while loop do-while loop
1. The while loop tests the condition before each iteration. The do while loop tests the condition after the first iteration.
2. If the condition fails initially the loop is Skipped entirely even in the first iteration. Even if the condition fails initially the loop is executed once.
87
Example
// Print the I Values include ltstdio.hgt void
main() int i clrscr() i
1 while(ilt10) printf(The I Value
is d\n,i) i getch()
// Print the I Values include ltstdio.hgt void
main() int i clrscr() i 1 do
printf(The I Value is d\n,i)
i while(ilt10) getch()
88
for Loop
  • The for loop is another repetitive control
    structure, and is used to execute set of
    instruction repeatedly until the condition
    becomes false.
  • To set up an initial condition and then modify
    some value to perform each succeeding loop as
    long as some condition is true.
  • The syntax of a for loop is
  • The three expressions
  • expr1 - sets up the initial condition,
  • expr2 - tests whether another trip through the
    loop should be taken,
  • expr3 - increments or updates things after each
    trip.

for( expr1 expr2 expr3) Body of the loop
89
Start
Initialize test_condition Increment / Decrement
Body of Loop
Stop
90
Example
Given example will print the values from 1 to 10.
  • includeltstdio.hgt
  • void main()
  • for (int i 1 i lt 10 i)
  • printf("i is d\n", i)
  • There is no need of braces for single
    line statement and for multiple line it is
  • essential else it will consider only next line of
    for statement.

91
Additional Features of for Loop
  • Case 1
  • The statement
  • p 1
  • for (n 0 n lt 17 n)
  • can be rewritten as
  • for (p 1, n 0 n lt 17n)
  • Case 2
  • The second feature is that the test condition
    may have any compound relation and
  • the testing need not be limited
    only to the loop control variable.
  • sum 0
  • for (i 1 i lt 20 sum lt 100 i)
  • sum sum i
  • printf(d d\n, i, sum)

92
Additional Features of for Loop Conti
  • Case 3
  • It also permissible to use expressions in the
    assignment statements of initialization
  • and increments sections.
  • For Example
  • for (x (m n) / 2 x gt 0 x x / 2)
  • Case 4
  • Another unique aspect of for loop is that one
    or more sections can be omitted, if
  • necessary.
  • For Example
  • m 5
  • for ( m ! 100 )
  • printf(d\n,m)
  • m m 5
  • Both the initialization and increment sections
    are omitted in the for statement. The
    initialization has been done before the for
    statement and the control variable is incremented
    inside the loop. In such cases, the sections are
    left blank. However, the semicolons separating
    the sections must remain. If the test condition
    is not present, the for statement sets up an
    infinite loop. Such loops can be broken using
    break or goto statements in the loop.

93
Additional Features of for Loop Conti
  • Case 5
  • We can set up time delay loops using the null
    statement as follows
  • for ( j 1000 j gt 0 j j 1)
  • 1. This is loop is executed 1000 times without
    producing any output it simply causes a
  • time delay.
  • 2. Notice that the body of the loop contains
    only a semicolon, known as a null statement.

94
Nesting of for Loop
The One for statement within another for
statement is called Nesting for Loop. Syntax
for (initialize test_condi incre. /
decre.) --------------- --------------- for
(initialize test_condi incre. /
decre.) ----------- ----------- -------
-------- --------------- ----------------- ----
-------------
Outer for Loop
Inner for Loop
95
Example
  • // Print the I and J Value
  • includeltstdio.hgt
  • includeltconio.hgt
  • void main()
  • int I, j
  • clrscr()
  • for (i 1 I lt 10 I )
  • printf (The I Value is d \n", i)
  • for (j 1 j lt 10 j )
  • printf (The J Value is d \n", j)
  • getch()

96
JUMPS IN LOOPS
97
  • Loops perform a set of operations repeatedly
    until the control variable fails to satisfy the
    test condition.
  • The number of times a loop is repeated is decided
    in advance and the test condition is written to
    achieve this.
  • Sometimes, when executing a loop it becomes
    desirable to skip a part of the loop or to leave
    the loop as soon as a certain condition occurs.
  • Jumps out of a Loop is Classified into three
    types
  • 1. break
  • 2. continue
  • 3. goto

98
  • The break Statement
  • A break statement is used to terminate of to exit
    a for, switch, while or do while statements and
    the execution continues following the break
    statement.
  • The general form of the break statement is
  • The break statement does not have any embedded
    expression or arguments.
  • The break statement is usually used at the end of
    each case and before the start of the next case
    statement.
  • The break statement causes the control to
    transfer out of the entire switch statement.

break
99
include ltstdio.hgt void main() int
i clrscr() i 1 while (i lt
10) printf (The I Value is d \n,
i) if (i 6) printf (The I value
is Reached 6, So break of the programs\n) bre
ak i
100
  • The continue Statement
  • The continue statement is used to transfer the
    control to the beginning of the loop, there by
    terminating the current iteration of the loop and
    starting again from the next iteration of the
    same loop.
  • The continue statement can be used within a while
    or a do while or a for loop.
  • The general form or the syntax of the continue
    statement is
  • The continue statement does not have any
    expressions or arguments.
  • Unlike break, the loop does not terminate when a
    continue statement is encountered, but it
    terminates the current iteration of the loop by
    skipping the remaining part of the loop and
    resumes the control tot the start of the loop for
    the next iteration.

continue
101
include ltstdio.hgt void main() int
i clrscr() i 1 while (i lt
10) printf (The I Value is d \n,
i) if (i 6) printf (The I value
is Reached 6, But Continue this
Programs\n) continue i
102
Differences Between Break and Continue Statement
Sl.No. break continue
1. Used to terminate the loops or to exit loop from a switch. Used to transfer the control to the start of loop.
2. The break statement when executed causes immediate termination of loop containing it. Continue statement when executed causes Immediate termination of the current iteration of the loop.
103
  • The goto Statement
  • The goto statement is used to transfer the
    control in a loop or a function from one point to
    any other portion in that program.
  • If misused the goto statement can make a program
    impossible to understand.
  • The general form or the syntax of goto statement
    is
  • The goto statement is classified into two types
  • a. Unconditional goto
  • b. Conditional goto

goto label Statement (s) . label statem
ent (s)
104
Unconditional Goto The Unconditional goto means
the control transfer from one block to another
block without checking the test
condition. Example include ltstdio.hgt void
main() clrscr() Start printf(Welcome\
n) goto Start getch()
105
Conditional Goto The Conditional goto means the
control transfer from one block to another block
with checking the test condition.
include ltstdio.hgt void main() int a,
b clrscr() printf (Enter the Two
Value\n) scanf (d, a, b) if (a gt
b) goto output_1 else goto
output_2 output_1 printf (A is Biggest
Number) goto Stop output_2 printf (B is
Biggest Number) goto Stop
Stop getch()
106
Thank You!
Write a Comment
User Comments (0)
About PowerShow.com