SlideShare une entreprise Scribd logo
1  sur  36
© Oxford University Press 2011. All rights reserved.
Data Structures Using CData Structures Using C
Reema TharejaReema Thareja, Assistant Professor, Institute of
Information Technology and Management,
New Delhi
© Oxford University Press 2011. All rights reserved.
CHAPTER 1
INTRODUCTION TO C
© Oxford University Press 2011. All rights reserved.
INTRODUCTION
• C was developed in the early 1970s by Dennis Ritchie at Bell Laboratories
• C was initially developed for writing system software
• Today, C has become a popular language and various software programs are written
using this language.
• Many other commonly used programming languages such as C++ and Java are also
based on C
Characteristics of C
• A high level programming language
• Small size. C has only 32 keywords. This makes it relatively easy to learn
• Makes extensive use of function calls
• C is well suited for structured programming. In this programming approach,
• Unlike PASCAL it supports loose typing (as a character can be treated as an integer and vice
versa)
• Stable language.
• Quick language
• Facilitates low level (bitwise) programming
• Supports pointers to refer computer memory, array, structures and functions.
• C is a core language
• C is a portable language.
• C is an extensible language
© Oxford University Press 2011. All rights reserved.
USES OF C
• C language is primarily used for system programming. The
portability, efficiency, the ability to access specific hardware
addresses and low runtime demand on system resources makes it
a good choice for implementing operating systems and embedded
system applications.
• C has been so widely accepted by professionals that compilers,
libraries, and interpreters of other programming languages are
often implemented in C.
• For portability and convenience reasons, C is sometimes used as
an intermediate language by implementations of other languages.
Example of compilers which use C this way are BitC, Gambit, the
Glasgow Haskell Compiler, Squeak, and Vala.
• C is widely used to implement end-user applications
STRUCTURE OF A C PROGRAM
main()
{
Statement 1;
Statement 2;
……………
……………
Statement N;
}
Function1()
{
Statement 1;
Statement 2;
……………
……………
Statement N;
}
Function2()
{
Statement 1;
Statement 2;
……………
……………
Statement N;
}
………………….
………………….
FunctionN()
{
Statement 1;
Statement 2;
……………
……………
Statement N;
}
A C program contains one or more functions
The statements in a C program are written in a logical sequence to perform a specific task.
Execution of a C program begins at the main() function
You can choose any name for the functions. Every program must contain one function that has
its name as main().
© Oxford University Press 2011. All rights reserved.
YOUR FIRST C PROGRAM
// This is my first program in C
#include<stdio.h>
int main()
{
printf("n Welcome to the world of C ");
return 0;
}
© Oxford University Press 2011. All rights reserved.
FILES USED IN A C PROGRAM
Source code file
• The source code file contains the source code of the program. The file extension of any C
source code file is “.c”. This file contains C source code that defines the main function and
maybe other functions. The main() is the starting point of execution when you successfully
compile and run the program. A C program in general may include even other source code files
(with the file extension .c).
Header Files
• When working with large projects, it is often desirable to make sub-routines and store them in a
different file known as header file. The advantage of header files can be realized when
a) The programmer wants to use the same subroutines in different programs.
b) The programmer wants to change, or add, subroutines, and have those changes be reflected
in all other programs.
• Conventionally, header files names ends with a “.h” extension and its name can use only letters,
digits, dashes, and underscores.
• While some standard header files are available in C, but the programmer may also create his
own user defined header files
Files in a C program
Source File Header File Object File Executable File
© Oxford University Press 2011. All rights reserved.
FILES USED IN A C PROGRAM contd.
Object Files
• Object files are generated by the compiler as a result of processing the source code file. Object
files contain compact binary code of the function definitions. Linker uses this object file to
produce an executable file (.exe file) by combining the of object files together. Object files have
a “.o” extension, although some operating systems including Windows and MS-DOS have a
“.obj” extension for the object file.
Binary Executable File
• The binary executable file is generated by the linker. The linker links the various object files to
produce a binary file that can be directly executed. On Windows operating system, the
executable files have “.exe” extension.
COMPILING AND EXECUTING C PROGRAMS
The compilation process in the figure 2.5 is done in two steps. In the first step, the preprocessor
program reads the source file as text, and produces another text file as output. Source code
lines which begin with the hash symbol are actually not written in C but in the preprocessor
language. The output of the preprocessor is a text file which does not contain any preprocessor
statements. This file is ready to be processed by the compiler. The linker combines the object
file with library routines (supplied with the compiler) to produce the final executable file.
Source
File
Library
Files
Source
File
Pre-
proces
s
Pre-
proces
Compil
er
Compil
er
Object
Files
Object
Files
Library
Files
Linke
r
Executabl
e Files
© Oxford University Press 2011. All rights reserved.
USING COMMENTS
• It is a good programming practice to place some comments in the code to help the reader
understand the code clearly.
• Comments are just a way of explaining what a program does. It is merely an internal program
documentation.
• The compiler ignores the comments when forming the object file. This means that the
comments are non-executable statements.
C supports two types of commenting.
• // is used to comment a single statement. This is known as a line comment. A line comment can
be placed anywhere on the line and it does not require to be specifically ended as the end of the
line automatically ends the line.
• /* is used to comment multiple statements. A /* is ended with */ and all statements that lie within
these characters are commented.
KEYWORDS
• C has a set of 32 reserved words often known as keywords. All keywords are basically a
sequence of characters that have a fixed meaning. By convention all keywords must be written
in lowercase (small) letters.
• Example: for, while, do-while, auto break, case, char, continue, do, double,
else, enum, extern, float, goto, if, int, long, register, return, short, signed,
sizeof, static, struct, switch, typedef, union, unsigned, void, volatile
© Oxford University Press 2011. All rights reserved.
IDENTIFIERS
• Identifiers are names given to program
elements such as variables, arrays and
functions.
Rules for forming identifier name
 it cannot include any special characters or
punctuation marks (like #, $, ^, ?, ., etc)
except the underscore"_".
 There cannot be two successive
underscores
 Keywords cannot be used as identifiers
 The names are case sensitive. So,
example, “FIRST” is different from “first”
and “First”.
 It must begin with an alphabet or an
underscore.
 It can be of any reasonable length. Though
it should not contain more than 31
characters.
Example: roll_number, marks, name,
emp_number, basic_pay, HRA, DA,
dept_code
DATA TYPE
SIZE IN
BYTES
RANGE
char 1 -128 to 127
unsigned char 1 0 to 255
signed char 1 -128 to 127
int 2 -32768 to 32767
unsigned int 2 0 to 65535
signed short int 2 -32768 to 32767
signed int 2 -32768 to 32767
short int 2 -32768 to 32767
unsigned short
int 2
0 to 65535
long int
4
-2147483648 to
2147483647
unsigned long
int
4
0 to 4294967295
signed long int
4
-2147483648 to
2147483647
float 4 3.4E-38 to 3.4E+38
double 8 1.7E-308 to 1.7E+308
long double
10
3.4E-4932 to
1.1E+4932
DATA TYPES IN C
© Oxford University Press 2011. All rights reserved.
VARIABLES IN C
• A variable is defined as a meaningful name given to the data storage location in computer
memory.
• When using a variable, we actually refer to address of the memory where the data is stored. C
language supports two basic kinds of variables.
• Numeric variables can be used to store either integer values or floating point values.
• While an integer value is a whole numbers without a fraction part or decimal point, a floating
point number, can have a decimal point in them.
• Numeric values may also be associated with modifiers like short, long, signed and unsigned.
• By default, C automatically a numeric variable signed..
• Character variables can include any letter from the alphabet or from the ASCII chart and
numbers 0 – 9 that are put between single quotes.
Variables
Numeric Variable Character Variables
To declare a variable specify data type of the variable followed
by its name.
Variable names should always be meaningful and must reflect
the purpose of their usage in the program.
Variable declaration always ends with a semicolon. Example,
int emp_num;
float salary;
char grade;
double balance_amount;
unsigned short int acc_no;
© Oxford University Press 2011. All rights reserved.
CONSTANTS
• Constants are identifiers whose value does not change.
• Constants are used to define fixed values like PI or the charge on an electron so that their value
does not get changed in the program even by mistake.
• To declare a constant, precede the normal variable declaration with const keyword and assign it
a value. For example,
const float pi = 3.14;
• Another way to designate a constant is to use the pre-processor command define.
#define PI 3.14159
When the preprocessor reformats the program to be compiled by the compiler, it replaces each
defined name with its corresponding value wherever it is found in the source program. Hence, it
just works like the Find and Replace command available in a text editor.
Rules that needs to be applied to a #define statement which defines a constant.
• Constant names are usually written in capital letters to visually distinguish them from other
variable names which are normally written in lower case characters. Note that this is just a
convention and not a rule.
• No blank spaces are permitted in between the # symbol and define keyword
• Blank space must be used between #define and constant name and between constant name
and constant value
• #define is a pre-processor compiler directive and not a statement. Therefore, it does not end
with a semi-colon.
© Oxford University Press 2011. All rights reserved.
STREAMS
• A stream acts in two ways. It is the source of data as well as the destination of data.
• C programs input data and output data from a stream. Streams are associated with a physical
device such as the monitor or with a file stored on the secondary memory.
• In a text stream, sequence of characters is divided into lines with each line being terminated
with a new-line character (n). On the other hand, a binary stream contains data values using
their memory representation.
• Although, we can do input/output from the keyboard/monitor or from any file but in this chapter
we will assume that the source of data is the keyboard and destination of the data is the
monitor.
Streams in a C
program
Text Stream Binary Stream
Keyboard Data
Monitor Data
© Oxford University Press 2011. All rights reserved.
THE PRINTF() FUNCTION
• The printf function is used to display information required to the user and also prints the values
of the variables. Its syntax can be given as
printf (“conversion string”, variable list);
• The parameter control string is a C string that contains the text that has to be written on to the
standard output device. The prototype of the control string can be given as below
%[flags][width][.precision][length]specifier
flag description
-
Left-justify within the data given field
width
+
Displays the data with its numeric sign
(either + or -)
#
Used to provide additional specifiers
like o, x, X, 0, 0x or 0X for octal and
hexa decimal values respectively for
values different than zero.
0
The number is left-padded with zeroes
(0) instead of spaces
length Description
h
When the argument is a short int or unsigned short
int.
l
When the argument is a long int or unsigned long int
for integer specifiers.
L
When the argument is a long double (used for floating
point specifiers)
specifier Qualifying Input
c For single character
d For decimal values
F For floating point numbers
E, e Floating point numbers in exponential format
G, G Floating point numbers in the shorter of e format
o For Octal number.
s For a sequence of (string of) characters
u For Unsigned decimal value
x,X For Hexadecimal value.
© Oxford University Press 2011. All rights reserved.
THE SCANF() FUNCTION
• The scanf() is used to read formatted data from the keyboard. The syntax of the scanf() can be
given as,
scanf (“control string”, arg1, arg2, ………….argn);
• The control string specifies the type and format of the data that has to be obtained from the
keyboard and stored in the memory locations pointed by the arguments arg1, arg2,…, argn. The
prototype of the control string can be give as:
[=%[*][width][modifiers]type=]
• * is an optional argument that suppresses assignment of the input field. That is, it indicates that
data should be read from the stream but ignored (not stored in the memory location).
• width is an optional argument that specifies the maximum number of characters to be read.
• modifiers is an optional argument that can be h, l or L for the data pointed by the corresponding
additional arguments. Modifier h is used for short int or unsigned short int, l is used for long int,
unsigned long int or double values. Finally, L is used long double data values.
• Type is same as specifier in printf()
• EXAMPLE OF printf() and scanf():
• int num;
• float fnum;
• char ch, str[10];
• double dnum;
• short snum;
• long int lnum;
• printf(“n Enter the values : “);
• scanf("%d %f %c %s %e %hd %ld", &num, &fnum, &ch, str, &dnum, &snum, &lnum);
• printf("n num = %d n fnum = %.2f n ch = %c n str = %s n dnum = %e n snum = %hd n lnum = %ld", num, fnum, ch,
© Oxford University Press 2011. All rights reserved.
OPERATORS IN C
• C language supports a lot of operators to be used in expressions. These operators can be
categorized into the following major groups:
• Arithmetic operators
• Relational Operators
• Equality Operators
• Logical Operators
• Unary Operators
• Conditional Operators
• Bitwise Operators
• Assignment operators
• Comma Operator
• Sizeof Operator
OPERATION OPERATOR SYNTAX COMMENT RESULT
Multiply * a * b result = a * b 27
Divide / a / b result = a / b 3
Addition + a + b result = a + b 12
Subtraction - a - b result = a – b 6
Modulus % a % b result = a % b 0
ARITHMETIC
OPERATORS
© Oxford University Press 2011. All rights reserved.
RELATIONAL OPERATORS
Also known as a comparison operator, it is an operator that compares two values. Expressions that
contain relational operators are called relational expressions. Relational operators return true or
false value, depending on whether the conditional relationship between the two operands holds or
not.
OPERATOR MEANING EXAMPLE
< LESS THAN 3 < 5 GIVES 1
> GREATER THAN 7 > 9 GIVES 0
>= LESS THAN OR EQUAL TO 100 >= 100 GIVES 1
<= GREATER THAN EQUAL TO 50 >=100 GIVES 0
EQUALITY OPERATORS
• C language supports two kinds of equality operators to compare their operands for strict
equality or inequality. They are equal to (==) and not equal to (!=) operator.
• The equality operators have lower precedence than the relational operators.
OPERATOR MEANING
== RETURNS 1 IF BOTH OPERANDS ARE EQUAL, 0 OTHERWISE
!= RETURNS 1 IF OPERANDS DO NOT HAVE THE SAME VALUE, 0 OTHERWISE
© Oxford University Press 2011. All rights reserved.
LOGICAL OPERATORS
• C language supports three logical operators. They are- Logical AND (&&), Logical OR (||) and
Logical NOT (!).
• As in case of arithmetic expressions, the logical expressions are evaluated from left to right.
A B A &&B
0 0 0
0 1 0
1 0 0
1 1 1
A B A || B
0 0 0
0 1 1
1 0 1
1 1 1
A ! A
0 1
1 0
UNARY OPERATORS
Unary operators act on single operands. C language supports three unary operators. They are
unary minus, increment and decrement operators.
When an operand is preceded by a minus sign, the unary operator negates its value.
The increment operator is a unary operator that increases the value of its operand by 1. Similarly,
the decrement operator decreases the value of its operand by 1. For example,
int x = 10, y;
y = x++;
is equivalent to writing
y = x;
x = x + 1; whereas, y = ++x;
is equivalent to writing
x = x + 1;
y = x;
© Oxford University Press 2011. All rights reserved.
CONDITIONAL OPERATOR
• The conditional operator operator (?:) is just like an if .. else statement that can be written within
expressions.
• The syntax of the conditional operator is
exp1 ? exp2 : exp3
Here, exp1 is evaluated first. If it is true then exp2 is evaluated and becomes the result of the
expression, otherwise exp3 is evaluated and becomes the result of the expression. For
example,
large = ( a > b) ? a : b
• Conditional operators make the program code more compact, more readable, and safer to use
as it is easier both to check and guarantee that the arguments that are used for evaluation.
• Conditional operator is also known as ternary operator as it is neither a unary nor a binary
operator; it takes three operands.
© Oxford University Press 2011. All rights reserved.
BITWISE OPERATORS
• Bitwise operators perform operations at bit level. These operators include: bitwise AND, bitwise
OR, bitwise XOR and shift operators.
• The bitwise AND operator (&) is a small version of the boolean AND (&&) as it performs
operation on bits instead of bytes, chars, integers, etc.
• The bitwise OR operator (|) is a small version of the boolean OR (||) as it performs operation on
bits instead of bytes, chars, integers, etc.
• The bitwise NOT (~), or complement, is a unary operation that performs logical negation on
each bit of the operand. By performing negation of each bit, it actually produces the ones'
complement of the given binary value.
• The bitwise XOR operator (^) performs operation on individual bits of the operands. The result
of XOR operation is shown in the table
A B A ^ B
0 0 0
0 1 1
1 0 1
1 1 0
BITWISE SHIFT OPERATORS
In bitwise shift operations, the digits are moved, or shifted, to the left or right. The CPU
registers have a fixed number of available bits for storing numerals, so when we
perform shift operations; some bits will be "shifted out" of the register at one end, while
the same number of bits are "shifted in" from the other end.
In a left arithmetic shift, zeros are shifted in on the right. For example;
unsigned int x = 11000101;
Then x << 2 = 00010100
If a right arithmetic shift is performed on an unsigned integer then zeros are shifted on
the left.
unsigned int x = 11000101;
Then x >> 2 = 00110001
© Oxford University Press 2011. All rights reserved.
ASSIGNMENT OPERATORS
• The assignment operator is responsible for assigning values to the variables. While the equal sign (=) is the
fundamental assignment operator, C also supports other assignment operators that provide shorthand ways
to represent common variable assignments. They are shown in the table.
OPERATOR SYNTAX EQUIVALENT TO
/= variable /= expression variable = variable / expression
= variable = expression variable = variable  expression
*= variable *= expression variable = variable * expression
+= variable += expression variable = variable + expression
-= variable -= expression variable = variable - expression
&= variable &= expression variable = variable & expression
^= variable ^= expression variable = variable ^ expression
<<= variable <<= amount variable = variable << amount
>>= variable >>= amount variable = variable >> amount
© Oxford University Press 2011. All rights reserved.
COMMA OPERATOR
• The comma operator in C takes two operands. It works by evaluating the first and discarding its
value, and then evaluates the second and returns the value as the result of the expression.
• Comma separated operands when chained together are evaluated in left-to-right sequence with
the right-most value yielding the result of the expression.
• Among all the operators, the comma operator has the lowest precedence. For example,
int a=2, b=3, x=0;
x = (++a, b+=a);
Now, the value of x = 6.
SIZEOF OPERATOR
• sizeof is a unary operator used to calculate the sizes of data types.
• It can be applied to all data types.
• The operator returns the size of the variable, data type or expression in bytes.
• 'sizeof' operator is used to determine the amount of memory space that the
variable/expression/data type will take. For example,
• sizeof(char) returns 1, that is the size of a character data type. If we have,
int a = 10;
unsigned int result;
result = sizeof(a);
then result = 2,
© Oxford University Press 2011. All rights reserved.
TYPE CONVERSION AND TYPE CASTING
• Type conversion and type casting of variables refers to changing a variable of one data type
into another.
• While type conversion is done implicitly, casting has to be done explicitly by the programmer.
We will discuss both of them here.
• Type conversion is done when the expression has variables of different data types. So to
evaluate the expression, the data type is promoted from lower to higher level where the
hierarchy of data types can be given as: double, float, long, int, short and char.
• For example, type conversion is automatically done when we assign an integer value to a
floating point variable. For ex,
float x;
int y = 3;
x = y;
Now, x = 3.0,
• Type casting is also known as forced conversion. It is done when the value of a higher data type
has to be converted in to the value of a lower data type. For example, we need to explicitly type
cast an integer variable into a floating point variable.
float salary = 10000.00;
int sal;
sal = (int) salary;
• Typecasting can be done by placing the destination data type in parentheses followed by the
variable name that has to be converted.
© Oxford University Press 2011. All rights reserved.
DECISION CONTROL STATEMENTS
• Decision control statements are used to alter the flow of a sequence of instructions.
• These statements help to jump from one part of the program to another depending on whether a
particular condition is satisfied or not.
• These decision control statements include:
If statement
If else statement
If else if statement
Switch statement
© Oxford University Press 2011. All rights reserved.
IF STATEMENT
• If statement is the simplest form of decision control statements that is frequently used in
decision making. The general form of a simple if statement is shown in the figure.
• First the test expression is evaluated. If the test expression is true, the statement of if block
(statement 1 to n) are executed otherwise these statements will be skipped and the execution
will jump to statement x.
SYNTAX OF IF STATEMENT
if (test expression)
{
statement 1;
..............
statement n;
}
statement x;
Test
Expression
Statement Block 1
TRUE
Statement x
FALSE
© Oxford University Press 2011. All rights reserved.
IF ELSE STATEMENT
• In the if-else construct, first the test expression is evaluated. If the expression is true, statement
block 1 is executed and statement block 2 is skipped. Otherwise, if the expression is false,
statement block 2 is executed and statement block 1 is ignored. In any case after the statement
block 1 or 2 gets executed the control will pass to statement x. Therefore, statement x is
executed in every case.
SYNTAX OF IF STATEMENT
if (test expression)
{
statement_block 1;
}
else
{
statement_block 2;
}
statement x;
Test
Expression
Statement Block 1
TRUE
Statement x
FALSE
Statement Block 2
© Oxford University Press 2011. All rights reserved.
// Program to demonstrate the use of if-statement
#include<stdio.h>
int main()
{
int x=10;
if ( x>0)
x++;
printf("n x = %d", x);
return 0;
}
// PROGRAM TO FIND WHETHER A NUMBER IS EVEN OR ODD
#include<stdio.h>
main()
{
int a;
printf("n Enter the value of a : ");
scanf("%d", &a);
if(a%2==0)
printf("n %d is even", a);
else
printf("n %d is odd", a);
return 0;
}
PROGRAMS TO DEMONSTRATE THE USE OF IF AND IF-ELSE
STATEMENTS
© Oxford University Press 2011. All rights reserved.
IF ELSE IF STATEMENT
• C language supports if else if statements to test additional conditions apart from the initial test
expression. The if-else-if construct works in the same way as a normal if statement.
SYNTAX OF IF-ELSE STATEMENT
if ( test expression 1)
{
statement block 1;
}
else if ( test expression 2)
{
statement block 2;
}
...........................
else if (test expression N)
{
statement block N;
}
else
{
Statement Block X;
}
Statement Y;
Test
Expression
1
Statement Block 1
TRUE FALSE
Test
Expression
2
Statement Block 2
TRUE
FALSE
Statement Block X
Statement Y
© Oxford University Press 2011. All rights reserved.
SWITCH CASE
• A switch case statement is a multi-way decision statement. Switch statements are used:
When there is only one variable to evaluate in the expression
When many conditions are being tested for
• Switch case statement advantages include:
Easy to debug, read, understand and maintain
Execute faster than its equivalent if-else construct
switch(grade)
{
case 'A':
printf("n Excellent");
break;
case 'B':
printf("n Good");
break;
case 'C':
printf("n Fair");
break;
default:
printf("n Invalid Grade");
break;
}
© Oxford University Press 2011. All rights reserved.
// PROGRAM TO CLASSIFY A NUMBER AS POSITIVE, NEGATIVE OR ZERO
#include<stdio.h>
main()
{
int num;
printf("n Enter any number : ");
scanf("%d", &num);
if(num==0)
printf("n The value is equal to zero");
else if(num>0)
printf("n The number is positive");
else
printf("n The number is negative");
return 0;
}
// PROGRAM TO PRINT THE DAY OF THE WEEK
#include<stdio.h>
int main()
{
int day;
printf(“n Enter any number from 1 to 7 : “);
scanf(“%d”,&day);
switch(day)
{
case 1: printf(“n SUNDAY”); break;
case 2 : printf(“n MONDAY”); break;
case 3 : printf(“n TUESDAY”); break;
case 4 : printf(“n WEDNESDAY”); break;
case 5 : printf(“n THURSDAY”); break;
case 6 : printf(“n FRIDAY”); break;
case 7 : printf(“n SATURDAY”); break;
default: printf(“n Wrong Number”);
}
return 0;
}
© Oxford University Press 2011. All rights reserved.
ITERATIVE STATEMENTS
• Iterative statements are used to repeat the execution of a list of statements, depending on the
value of an integer expression. In this section, we will discuss all these statements.
While loop
Do-while loop
For loop
WHILE LOOP
• The while loop is used to repeat one or more statements while a particular condition is true.
• In the while loop, the condition is tested before any of the statements in the statement block is
executed.
• If the condition is true, only then the statements will be executed otherwise the control will jump
to the immediate statement outside the while loop block.
• We must constantly update the condition of the while loop.
while (condition)
{
statement_block;
}
statement x;
Statement x
Conditio
n
Statement y
FALSE
Update the
condition
expression
Statement Block
TRUE
© Oxford University Press 2011. All rights reserved.
DO WHILE LOOP
• The do-while loop is similar to the while loop. The only difference is that in a do-while loop, the
test condition is tested at the end of the loop.
• The body of the loop gets executed at least one time (even if the condition is false).
• The do while loop continues to execute whilst a condition is true. There is no choice whether to
execute the loop or not. Hence, entry in the loop is automatic there is only a choice to continue
it further or not.
• The major disadvantage of using a do while loop is that it always executes at least once, so
even if the user enters some invalid data, the loop will execute.
• Do-while loops are widely used to print a list of options for a menu driven program.
Statement x;
do
{
statement_block;
} while (condition);
statement y;
Statement x
Statement y
Statement Block
Update the condition expression
Condition
FALSE
TRUE
© Oxford University Press 2011. All rights reserved.
// PROGRAM TO PRINT NUMBERS FROM 0 TO 10 USING WHILE LOOP
#include<stdio.h>
int main()
{
int i = 0;
while(i<=10)
{
printf(“n %d”, i);
i = i + 1; // condition updated
}
return 0;
}
// PROGRAM TO PRINT NUMBERS FROM 0-10 USING DO-WHILE LOOP
#include<stdio.h>
int main()
{
int i = 0;
do
{
printf(“n %d”, i);
i = i + 1;
} while(i<=10);
return 0;
}
Program to demonstrate the use of while
loop and do while loop
© Oxford University Press 2011. All rights reserved.
FOR LOOP
• For loop is used to repeat a task until a particular condition is true.
• The syntax of a for loop
for (initialization; condition; increment/decrement/update)
{
statement block;
}
Statement Y;
• When a for loop is used, the loop variable is initialized only once.
• With every iteration of the loop, the value of the loop variable is updated and the condition is
checked. If the condition is true, the statement block of the loop is executed else, the
statements comprising the statement block of the for loop are skipped and the control jumps to
the immediate statement following the for loop body.
• Updating the loop variable may include incrementing the loop variable, decrementing the loop
variable or setting it to some other value like, i +=2, where i is the loop variable.
© Oxford University Press 2011. All rights reserved.
PROGRAM FOR FOR-LOOP
Look at the code given below which print first n numbers using a for
loop.
#include<stdio.h>
int main()
{
int i, n;
printf(“n Enter the value of n :”);
scanf(“%d”, &n);
for(i=0; i<= n; i++)
printf(“n %d”, i);
return 0;
}
© Oxford University Press 2011. All rights reserved.
BREAK STATEMENT
• The break statement is used to terminate the execution of the nearest enclosing loop in which it
appears.
• When compiler encounters a break statement, the control passes to the statement that follows
the loop in which the break statement appears. Its syntax is quite simple, just type keyword
break followed with a semi-colon.
break;
• In switch statement if the break statement is missing then every case from the matched case
label to the end of the switch, including the default, is executed.
CONTINUE STATEMENT
• The continue statement can only appear in the body of a loop.
• When the compiler encounters a continue statement then the rest of the statements in the loop
are skipped and the control is unconditionally transferred to the loop-continuation portion of the
nearest enclosing loop. Its syntax is quite simple, just type keyword continue followed with a
semi-colon.
continue;
• If placed within a for loop, the continue statement causes a branch to the code that updates the
loop variable. For example,
int i;
for(i=0; i<= 10; i++)
{ if (i==5)
continue;
printf(“t %d”, i);
© Oxford University Press 2011. All rights reserved.
GOTO STATEMENT
• The goto statement is used to transfer control to a specified label.
• Here label is an identifier that specifies the place where the branch is to be made. Label can be
any valid variable name that is followed by a colon (:).
• Note that label can be placed anywhere in the program either before or after the goto statement.
Whenever the goto statement is encountered the control is immediately transferred to the
statements following the label.
• Goto statement breaks the normal sequential execution of the program.
• If the label is placed after the goto statement then it is called a forward jump and in case it is
located before the goto statement, it is said to be a backward jump.
• int num, sum=0;
• read: // label for go to statement
• printf("n Enter the number. Enter 999 to end : ");
• scanf("%d", &num);
• if (num != 999)
• {
• if(num < 0)
• goto read; // jump to label- read
• sum += num;
• goto read; // jump to label- read
• }
• printf("n Sum of the numbers entered by the user is = %d", sum);

Contenu connexe

Tendances

INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGAbhishek Dwivedi
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C ProgrammingQazi Shahzad Ali
 
Enumerated data types in C
Enumerated data types in CEnumerated data types in C
Enumerated data types in CArpana shree
 
358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3sumitbardhan
 
Data types in python
Data types in pythonData types in python
Data types in pythonRaginiJain21
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programmingTarun Sharma
 
ITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaAtul Sehdev
 
Loops in C Programming Language
Loops in C Programming LanguageLoops in C Programming Language
Loops in C Programming LanguageMahantesh Devoor
 
Modular Programming in C
Modular Programming in CModular Programming in C
Modular Programming in Cbhawna kol
 
C formatted and unformatted input and output constructs
C  formatted and unformatted input and output constructsC  formatted and unformatted input and output constructs
C formatted and unformatted input and output constructsGopikaS12
 
Call by value
Call by valueCall by value
Call by valueDharani G
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programmingavikdhupar
 
11 lec 11 storage class
11 lec 11 storage class11 lec 11 storage class
11 lec 11 storage classkapil078
 

Tendances (20)

INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Structure in C
Structure in CStructure in C
Structure in C
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C Programming
 
Enumerated data types in C
Enumerated data types in CEnumerated data types in C
Enumerated data types in C
 
358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3358 33 powerpoint-slides_3-pointers_chapter-3
358 33 powerpoint-slides_3-pointers_chapter-3
 
Data types in C
Data types in CData types in C
Data types in C
 
Data types in python
Data types in pythonData types in python
Data types in python
 
Strings in C
Strings in CStrings in C
Strings in C
 
Functions in C
Functions in CFunctions in C
Functions in C
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programming
 
ITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in javaITFT-Constants, variables and data types in java
ITFT-Constants, variables and data types in java
 
Loops in C Programming Language
Loops in C Programming LanguageLoops in C Programming Language
Loops in C Programming Language
 
Modular Programming in C
Modular Programming in CModular Programming in C
Modular Programming in C
 
C formatted and unformatted input and output constructs
C  formatted and unformatted input and output constructsC  formatted and unformatted input and output constructs
C formatted and unformatted input and output constructs
 
Call by value
Call by valueCall by value
Call by value
 
Type conversion
Type conversionType conversion
Type conversion
 
Basics of C programming
Basics of C programmingBasics of C programming
Basics of C programming
 
11 lec 11 storage class
11 lec 11 storage class11 lec 11 storage class
11 lec 11 storage class
 
Introduction to c++ ppt 1
Introduction to c++ ppt 1Introduction to c++ ppt 1
Introduction to c++ ppt 1
 
Function in C program
Function in C programFunction in C program
Function in C program
 

Similaire à 358 33 powerpoint-slides_1-introduction-c_chapter-1

490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.pptManiMala75
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.pptManiMala75
 
Chapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptChapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptANISHYAPIT
 
Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)mujeeb memon
 
Unit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxUnit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxsaivasu4
 
Introduction of c programming unit-ii ppt
Introduction of  c programming unit-ii pptIntroduction of  c programming unit-ii ppt
Introduction of c programming unit-ii pptJStalinAsstProfessor
 
unit2.pptx
unit2.pptxunit2.pptx
unit2.pptxsscprep9
 
C programming language Reference Note
C programming language Reference NoteC programming language Reference Note
C programming language Reference NoteChetan Thapa Magar
 

Similaire à 358 33 powerpoint-slides_1-introduction-c_chapter-1 (20)

8844632.ppt
8844632.ppt8844632.ppt
8844632.ppt
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.ppt
 
490450755-Chapter-2.ppt
490450755-Chapter-2.ppt490450755-Chapter-2.ppt
490450755-Chapter-2.ppt
 
Chapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this pptChapter-2 edited on Programming in Can refer this ppt
Chapter-2 edited on Programming in Can refer this ppt
 
Rr
RrRr
Rr
 
Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)Introduction to the c programming language (amazing and easy book for beginners)
Introduction to the c programming language (amazing and easy book for beginners)
 
C pdf
C pdfC pdf
C pdf
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
history of c.ppt
history of c.ppthistory of c.ppt
history of c.ppt
 
C language ppt
C language pptC language ppt
C language ppt
 
Unit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptxUnit-1 (introduction to c language).pptx
Unit-1 (introduction to c language).pptx
 
Introduction of c programming unit-ii ppt
Introduction of  c programming unit-ii pptIntroduction of  c programming unit-ii ppt
Introduction of c programming unit-ii ppt
 
C language unit-1
C language unit-1C language unit-1
C language unit-1
 
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDYC LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
C LANGUAGE UNIT-1 PREPARED BY M V BRAHMANANDA REDDY
 
C languaGE UNIT-1
C languaGE UNIT-1C languaGE UNIT-1
C languaGE UNIT-1
 
Unit 2 ppt
Unit 2 pptUnit 2 ppt
Unit 2 ppt
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
unit2.pptx
unit2.pptxunit2.pptx
unit2.pptx
 
C programming language Reference Note
C programming language Reference NoteC programming language Reference Note
C programming language Reference Note
 
SPC Unit 2
SPC Unit 2SPC Unit 2
SPC Unit 2
 

Plus de sumitbardhan

358 33 powerpoint-slides_15-hashing-collision_chapter-15
358 33 powerpoint-slides_15-hashing-collision_chapter-15358 33 powerpoint-slides_15-hashing-collision_chapter-15
358 33 powerpoint-slides_15-hashing-collision_chapter-15sumitbardhan
 
358 33 powerpoint-slides_14-sorting_chapter-14
358 33 powerpoint-slides_14-sorting_chapter-14358 33 powerpoint-slides_14-sorting_chapter-14
358 33 powerpoint-slides_14-sorting_chapter-14sumitbardhan
 
358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13sumitbardhan
 
358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12sumitbardhan
 
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11sumitbardhan
 
358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10sumitbardhan
 
358 33 powerpoint-slides_9-stacks-queues_chapter-9
358 33 powerpoint-slides_9-stacks-queues_chapter-9358 33 powerpoint-slides_9-stacks-queues_chapter-9
358 33 powerpoint-slides_9-stacks-queues_chapter-9sumitbardhan
 
358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8sumitbardhan
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7sumitbardhan
 
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4358 33 powerpoint-slides_4-introduction-data-structures_chapter-4
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4sumitbardhan
 
358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16sumitbardhan
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysissumitbardhan
 

Plus de sumitbardhan (12)

358 33 powerpoint-slides_15-hashing-collision_chapter-15
358 33 powerpoint-slides_15-hashing-collision_chapter-15358 33 powerpoint-slides_15-hashing-collision_chapter-15
358 33 powerpoint-slides_15-hashing-collision_chapter-15
 
358 33 powerpoint-slides_14-sorting_chapter-14
358 33 powerpoint-slides_14-sorting_chapter-14358 33 powerpoint-slides_14-sorting_chapter-14
358 33 powerpoint-slides_14-sorting_chapter-14
 
358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13358 33 powerpoint-slides_13-graphs_chapter-13
358 33 powerpoint-slides_13-graphs_chapter-13
 
358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12358 33 powerpoint-slides_12-heaps_chapter-12
358 33 powerpoint-slides_12-heaps_chapter-12
 
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
 
358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10358 33 powerpoint-slides_10-trees_chapter-10
358 33 powerpoint-slides_10-trees_chapter-10
 
358 33 powerpoint-slides_9-stacks-queues_chapter-9
358 33 powerpoint-slides_9-stacks-queues_chapter-9358 33 powerpoint-slides_9-stacks-queues_chapter-9
358 33 powerpoint-slides_9-stacks-queues_chapter-9
 
358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8358 33 powerpoint-slides_8-linked-lists_chapter-8
358 33 powerpoint-slides_8-linked-lists_chapter-8
 
358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7358 33 powerpoint-slides_7-structures_chapter-7
358 33 powerpoint-slides_7-structures_chapter-7
 
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4358 33 powerpoint-slides_4-introduction-data-structures_chapter-4
358 33 powerpoint-slides_4-introduction-data-structures_chapter-4
 
358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16358 33 powerpoint-slides_16-files-their-organization_chapter-16
358 33 powerpoint-slides_16-files-their-organization_chapter-16
 
Algorithm analysis
Algorithm analysisAlgorithm analysis
Algorithm analysis
 

Dernier

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 

Dernier (20)

What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 

358 33 powerpoint-slides_1-introduction-c_chapter-1

  • 1. © Oxford University Press 2011. All rights reserved. Data Structures Using CData Structures Using C Reema TharejaReema Thareja, Assistant Professor, Institute of Information Technology and Management, New Delhi
  • 2. © Oxford University Press 2011. All rights reserved. CHAPTER 1 INTRODUCTION TO C
  • 3. © Oxford University Press 2011. All rights reserved. INTRODUCTION • C was developed in the early 1970s by Dennis Ritchie at Bell Laboratories • C was initially developed for writing system software • Today, C has become a popular language and various software programs are written using this language. • Many other commonly used programming languages such as C++ and Java are also based on C Characteristics of C • A high level programming language • Small size. C has only 32 keywords. This makes it relatively easy to learn • Makes extensive use of function calls • C is well suited for structured programming. In this programming approach, • Unlike PASCAL it supports loose typing (as a character can be treated as an integer and vice versa) • Stable language. • Quick language • Facilitates low level (bitwise) programming • Supports pointers to refer computer memory, array, structures and functions. • C is a core language • C is a portable language. • C is an extensible language
  • 4. © Oxford University Press 2011. All rights reserved. USES OF C • C language is primarily used for system programming. The portability, efficiency, the ability to access specific hardware addresses and low runtime demand on system resources makes it a good choice for implementing operating systems and embedded system applications. • C has been so widely accepted by professionals that compilers, libraries, and interpreters of other programming languages are often implemented in C. • For portability and convenience reasons, C is sometimes used as an intermediate language by implementations of other languages. Example of compilers which use C this way are BitC, Gambit, the Glasgow Haskell Compiler, Squeak, and Vala. • C is widely used to implement end-user applications STRUCTURE OF A C PROGRAM main() { Statement 1; Statement 2; …………… …………… Statement N; } Function1() { Statement 1; Statement 2; …………… …………… Statement N; } Function2() { Statement 1; Statement 2; …………… …………… Statement N; } …………………. …………………. FunctionN() { Statement 1; Statement 2; …………… …………… Statement N; } A C program contains one or more functions The statements in a C program are written in a logical sequence to perform a specific task. Execution of a C program begins at the main() function You can choose any name for the functions. Every program must contain one function that has its name as main().
  • 5. © Oxford University Press 2011. All rights reserved. YOUR FIRST C PROGRAM // This is my first program in C #include<stdio.h> int main() { printf("n Welcome to the world of C "); return 0; }
  • 6. © Oxford University Press 2011. All rights reserved. FILES USED IN A C PROGRAM Source code file • The source code file contains the source code of the program. The file extension of any C source code file is “.c”. This file contains C source code that defines the main function and maybe other functions. The main() is the starting point of execution when you successfully compile and run the program. A C program in general may include even other source code files (with the file extension .c). Header Files • When working with large projects, it is often desirable to make sub-routines and store them in a different file known as header file. The advantage of header files can be realized when a) The programmer wants to use the same subroutines in different programs. b) The programmer wants to change, or add, subroutines, and have those changes be reflected in all other programs. • Conventionally, header files names ends with a “.h” extension and its name can use only letters, digits, dashes, and underscores. • While some standard header files are available in C, but the programmer may also create his own user defined header files Files in a C program Source File Header File Object File Executable File
  • 7. © Oxford University Press 2011. All rights reserved. FILES USED IN A C PROGRAM contd. Object Files • Object files are generated by the compiler as a result of processing the source code file. Object files contain compact binary code of the function definitions. Linker uses this object file to produce an executable file (.exe file) by combining the of object files together. Object files have a “.o” extension, although some operating systems including Windows and MS-DOS have a “.obj” extension for the object file. Binary Executable File • The binary executable file is generated by the linker. The linker links the various object files to produce a binary file that can be directly executed. On Windows operating system, the executable files have “.exe” extension. COMPILING AND EXECUTING C PROGRAMS The compilation process in the figure 2.5 is done in two steps. In the first step, the preprocessor program reads the source file as text, and produces another text file as output. Source code lines which begin with the hash symbol are actually not written in C but in the preprocessor language. The output of the preprocessor is a text file which does not contain any preprocessor statements. This file is ready to be processed by the compiler. The linker combines the object file with library routines (supplied with the compiler) to produce the final executable file. Source File Library Files Source File Pre- proces s Pre- proces Compil er Compil er Object Files Object Files Library Files Linke r Executabl e Files
  • 8. © Oxford University Press 2011. All rights reserved. USING COMMENTS • It is a good programming practice to place some comments in the code to help the reader understand the code clearly. • Comments are just a way of explaining what a program does. It is merely an internal program documentation. • The compiler ignores the comments when forming the object file. This means that the comments are non-executable statements. C supports two types of commenting. • // is used to comment a single statement. This is known as a line comment. A line comment can be placed anywhere on the line and it does not require to be specifically ended as the end of the line automatically ends the line. • /* is used to comment multiple statements. A /* is ended with */ and all statements that lie within these characters are commented. KEYWORDS • C has a set of 32 reserved words often known as keywords. All keywords are basically a sequence of characters that have a fixed meaning. By convention all keywords must be written in lowercase (small) letters. • Example: for, while, do-while, auto break, case, char, continue, do, double, else, enum, extern, float, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile
  • 9. © Oxford University Press 2011. All rights reserved. IDENTIFIERS • Identifiers are names given to program elements such as variables, arrays and functions. Rules for forming identifier name  it cannot include any special characters or punctuation marks (like #, $, ^, ?, ., etc) except the underscore"_".  There cannot be two successive underscores  Keywords cannot be used as identifiers  The names are case sensitive. So, example, “FIRST” is different from “first” and “First”.  It must begin with an alphabet or an underscore.  It can be of any reasonable length. Though it should not contain more than 31 characters. Example: roll_number, marks, name, emp_number, basic_pay, HRA, DA, dept_code DATA TYPE SIZE IN BYTES RANGE char 1 -128 to 127 unsigned char 1 0 to 255 signed char 1 -128 to 127 int 2 -32768 to 32767 unsigned int 2 0 to 65535 signed short int 2 -32768 to 32767 signed int 2 -32768 to 32767 short int 2 -32768 to 32767 unsigned short int 2 0 to 65535 long int 4 -2147483648 to 2147483647 unsigned long int 4 0 to 4294967295 signed long int 4 -2147483648 to 2147483647 float 4 3.4E-38 to 3.4E+38 double 8 1.7E-308 to 1.7E+308 long double 10 3.4E-4932 to 1.1E+4932 DATA TYPES IN C
  • 10. © Oxford University Press 2011. All rights reserved. VARIABLES IN C • A variable is defined as a meaningful name given to the data storage location in computer memory. • When using a variable, we actually refer to address of the memory where the data is stored. C language supports two basic kinds of variables. • Numeric variables can be used to store either integer values or floating point values. • While an integer value is a whole numbers without a fraction part or decimal point, a floating point number, can have a decimal point in them. • Numeric values may also be associated with modifiers like short, long, signed and unsigned. • By default, C automatically a numeric variable signed.. • Character variables can include any letter from the alphabet or from the ASCII chart and numbers 0 – 9 that are put between single quotes. Variables Numeric Variable Character Variables To declare a variable specify data type of the variable followed by its name. Variable names should always be meaningful and must reflect the purpose of their usage in the program. Variable declaration always ends with a semicolon. Example, int emp_num; float salary; char grade; double balance_amount; unsigned short int acc_no;
  • 11. © Oxford University Press 2011. All rights reserved. CONSTANTS • Constants are identifiers whose value does not change. • Constants are used to define fixed values like PI or the charge on an electron so that their value does not get changed in the program even by mistake. • To declare a constant, precede the normal variable declaration with const keyword and assign it a value. For example, const float pi = 3.14; • Another way to designate a constant is to use the pre-processor command define. #define PI 3.14159 When the preprocessor reformats the program to be compiled by the compiler, it replaces each defined name with its corresponding value wherever it is found in the source program. Hence, it just works like the Find and Replace command available in a text editor. Rules that needs to be applied to a #define statement which defines a constant. • Constant names are usually written in capital letters to visually distinguish them from other variable names which are normally written in lower case characters. Note that this is just a convention and not a rule. • No blank spaces are permitted in between the # symbol and define keyword • Blank space must be used between #define and constant name and between constant name and constant value • #define is a pre-processor compiler directive and not a statement. Therefore, it does not end with a semi-colon.
  • 12. © Oxford University Press 2011. All rights reserved. STREAMS • A stream acts in two ways. It is the source of data as well as the destination of data. • C programs input data and output data from a stream. Streams are associated with a physical device such as the monitor or with a file stored on the secondary memory. • In a text stream, sequence of characters is divided into lines with each line being terminated with a new-line character (n). On the other hand, a binary stream contains data values using their memory representation. • Although, we can do input/output from the keyboard/monitor or from any file but in this chapter we will assume that the source of data is the keyboard and destination of the data is the monitor. Streams in a C program Text Stream Binary Stream Keyboard Data Monitor Data
  • 13. © Oxford University Press 2011. All rights reserved. THE PRINTF() FUNCTION • The printf function is used to display information required to the user and also prints the values of the variables. Its syntax can be given as printf (“conversion string”, variable list); • The parameter control string is a C string that contains the text that has to be written on to the standard output device. The prototype of the control string can be given as below %[flags][width][.precision][length]specifier flag description - Left-justify within the data given field width + Displays the data with its numeric sign (either + or -) # Used to provide additional specifiers like o, x, X, 0, 0x or 0X for octal and hexa decimal values respectively for values different than zero. 0 The number is left-padded with zeroes (0) instead of spaces length Description h When the argument is a short int or unsigned short int. l When the argument is a long int or unsigned long int for integer specifiers. L When the argument is a long double (used for floating point specifiers) specifier Qualifying Input c For single character d For decimal values F For floating point numbers E, e Floating point numbers in exponential format G, G Floating point numbers in the shorter of e format o For Octal number. s For a sequence of (string of) characters u For Unsigned decimal value x,X For Hexadecimal value.
  • 14. © Oxford University Press 2011. All rights reserved. THE SCANF() FUNCTION • The scanf() is used to read formatted data from the keyboard. The syntax of the scanf() can be given as, scanf (“control string”, arg1, arg2, ………….argn); • The control string specifies the type and format of the data that has to be obtained from the keyboard and stored in the memory locations pointed by the arguments arg1, arg2,…, argn. The prototype of the control string can be give as: [=%[*][width][modifiers]type=] • * is an optional argument that suppresses assignment of the input field. That is, it indicates that data should be read from the stream but ignored (not stored in the memory location). • width is an optional argument that specifies the maximum number of characters to be read. • modifiers is an optional argument that can be h, l or L for the data pointed by the corresponding additional arguments. Modifier h is used for short int or unsigned short int, l is used for long int, unsigned long int or double values. Finally, L is used long double data values. • Type is same as specifier in printf() • EXAMPLE OF printf() and scanf(): • int num; • float fnum; • char ch, str[10]; • double dnum; • short snum; • long int lnum; • printf(“n Enter the values : “); • scanf("%d %f %c %s %e %hd %ld", &num, &fnum, &ch, str, &dnum, &snum, &lnum); • printf("n num = %d n fnum = %.2f n ch = %c n str = %s n dnum = %e n snum = %hd n lnum = %ld", num, fnum, ch,
  • 15. © Oxford University Press 2011. All rights reserved. OPERATORS IN C • C language supports a lot of operators to be used in expressions. These operators can be categorized into the following major groups: • Arithmetic operators • Relational Operators • Equality Operators • Logical Operators • Unary Operators • Conditional Operators • Bitwise Operators • Assignment operators • Comma Operator • Sizeof Operator OPERATION OPERATOR SYNTAX COMMENT RESULT Multiply * a * b result = a * b 27 Divide / a / b result = a / b 3 Addition + a + b result = a + b 12 Subtraction - a - b result = a – b 6 Modulus % a % b result = a % b 0 ARITHMETIC OPERATORS
  • 16. © Oxford University Press 2011. All rights reserved. RELATIONAL OPERATORS Also known as a comparison operator, it is an operator that compares two values. Expressions that contain relational operators are called relational expressions. Relational operators return true or false value, depending on whether the conditional relationship between the two operands holds or not. OPERATOR MEANING EXAMPLE < LESS THAN 3 < 5 GIVES 1 > GREATER THAN 7 > 9 GIVES 0 >= LESS THAN OR EQUAL TO 100 >= 100 GIVES 1 <= GREATER THAN EQUAL TO 50 >=100 GIVES 0 EQUALITY OPERATORS • C language supports two kinds of equality operators to compare their operands for strict equality or inequality. They are equal to (==) and not equal to (!=) operator. • The equality operators have lower precedence than the relational operators. OPERATOR MEANING == RETURNS 1 IF BOTH OPERANDS ARE EQUAL, 0 OTHERWISE != RETURNS 1 IF OPERANDS DO NOT HAVE THE SAME VALUE, 0 OTHERWISE
  • 17. © Oxford University Press 2011. All rights reserved. LOGICAL OPERATORS • C language supports three logical operators. They are- Logical AND (&&), Logical OR (||) and Logical NOT (!). • As in case of arithmetic expressions, the logical expressions are evaluated from left to right. A B A &&B 0 0 0 0 1 0 1 0 0 1 1 1 A B A || B 0 0 0 0 1 1 1 0 1 1 1 1 A ! A 0 1 1 0 UNARY OPERATORS Unary operators act on single operands. C language supports three unary operators. They are unary minus, increment and decrement operators. When an operand is preceded by a minus sign, the unary operator negates its value. The increment operator is a unary operator that increases the value of its operand by 1. Similarly, the decrement operator decreases the value of its operand by 1. For example, int x = 10, y; y = x++; is equivalent to writing y = x; x = x + 1; whereas, y = ++x; is equivalent to writing x = x + 1; y = x;
  • 18. © Oxford University Press 2011. All rights reserved. CONDITIONAL OPERATOR • The conditional operator operator (?:) is just like an if .. else statement that can be written within expressions. • The syntax of the conditional operator is exp1 ? exp2 : exp3 Here, exp1 is evaluated first. If it is true then exp2 is evaluated and becomes the result of the expression, otherwise exp3 is evaluated and becomes the result of the expression. For example, large = ( a > b) ? a : b • Conditional operators make the program code more compact, more readable, and safer to use as it is easier both to check and guarantee that the arguments that are used for evaluation. • Conditional operator is also known as ternary operator as it is neither a unary nor a binary operator; it takes three operands.
  • 19. © Oxford University Press 2011. All rights reserved. BITWISE OPERATORS • Bitwise operators perform operations at bit level. These operators include: bitwise AND, bitwise OR, bitwise XOR and shift operators. • The bitwise AND operator (&) is a small version of the boolean AND (&&) as it performs operation on bits instead of bytes, chars, integers, etc. • The bitwise OR operator (|) is a small version of the boolean OR (||) as it performs operation on bits instead of bytes, chars, integers, etc. • The bitwise NOT (~), or complement, is a unary operation that performs logical negation on each bit of the operand. By performing negation of each bit, it actually produces the ones' complement of the given binary value. • The bitwise XOR operator (^) performs operation on individual bits of the operands. The result of XOR operation is shown in the table A B A ^ B 0 0 0 0 1 1 1 0 1 1 1 0 BITWISE SHIFT OPERATORS In bitwise shift operations, the digits are moved, or shifted, to the left or right. The CPU registers have a fixed number of available bits for storing numerals, so when we perform shift operations; some bits will be "shifted out" of the register at one end, while the same number of bits are "shifted in" from the other end. In a left arithmetic shift, zeros are shifted in on the right. For example; unsigned int x = 11000101; Then x << 2 = 00010100 If a right arithmetic shift is performed on an unsigned integer then zeros are shifted on the left. unsigned int x = 11000101; Then x >> 2 = 00110001
  • 20. © Oxford University Press 2011. All rights reserved. ASSIGNMENT OPERATORS • The assignment operator is responsible for assigning values to the variables. While the equal sign (=) is the fundamental assignment operator, C also supports other assignment operators that provide shorthand ways to represent common variable assignments. They are shown in the table. OPERATOR SYNTAX EQUIVALENT TO /= variable /= expression variable = variable / expression = variable = expression variable = variable expression *= variable *= expression variable = variable * expression += variable += expression variable = variable + expression -= variable -= expression variable = variable - expression &= variable &= expression variable = variable & expression ^= variable ^= expression variable = variable ^ expression <<= variable <<= amount variable = variable << amount >>= variable >>= amount variable = variable >> amount
  • 21. © Oxford University Press 2011. All rights reserved. COMMA OPERATOR • The comma operator in C takes two operands. It works by evaluating the first and discarding its value, and then evaluates the second and returns the value as the result of the expression. • Comma separated operands when chained together are evaluated in left-to-right sequence with the right-most value yielding the result of the expression. • Among all the operators, the comma operator has the lowest precedence. For example, int a=2, b=3, x=0; x = (++a, b+=a); Now, the value of x = 6. SIZEOF OPERATOR • sizeof is a unary operator used to calculate the sizes of data types. • It can be applied to all data types. • The operator returns the size of the variable, data type or expression in bytes. • 'sizeof' operator is used to determine the amount of memory space that the variable/expression/data type will take. For example, • sizeof(char) returns 1, that is the size of a character data type. If we have, int a = 10; unsigned int result; result = sizeof(a); then result = 2,
  • 22. © Oxford University Press 2011. All rights reserved. TYPE CONVERSION AND TYPE CASTING • Type conversion and type casting of variables refers to changing a variable of one data type into another. • While type conversion is done implicitly, casting has to be done explicitly by the programmer. We will discuss both of them here. • Type conversion is done when the expression has variables of different data types. So to evaluate the expression, the data type is promoted from lower to higher level where the hierarchy of data types can be given as: double, float, long, int, short and char. • For example, type conversion is automatically done when we assign an integer value to a floating point variable. For ex, float x; int y = 3; x = y; Now, x = 3.0, • Type casting is also known as forced conversion. It is done when the value of a higher data type has to be converted in to the value of a lower data type. For example, we need to explicitly type cast an integer variable into a floating point variable. float salary = 10000.00; int sal; sal = (int) salary; • Typecasting can be done by placing the destination data type in parentheses followed by the variable name that has to be converted.
  • 23. © Oxford University Press 2011. All rights reserved. DECISION CONTROL STATEMENTS • Decision control statements are used to alter the flow of a sequence of instructions. • These statements help to jump from one part of the program to another depending on whether a particular condition is satisfied or not. • These decision control statements include: If statement If else statement If else if statement Switch statement
  • 24. © Oxford University Press 2011. All rights reserved. IF STATEMENT • If statement is the simplest form of decision control statements that is frequently used in decision making. The general form of a simple if statement is shown in the figure. • First the test expression is evaluated. If the test expression is true, the statement of if block (statement 1 to n) are executed otherwise these statements will be skipped and the execution will jump to statement x. SYNTAX OF IF STATEMENT if (test expression) { statement 1; .............. statement n; } statement x; Test Expression Statement Block 1 TRUE Statement x FALSE
  • 25. © Oxford University Press 2011. All rights reserved. IF ELSE STATEMENT • In the if-else construct, first the test expression is evaluated. If the expression is true, statement block 1 is executed and statement block 2 is skipped. Otherwise, if the expression is false, statement block 2 is executed and statement block 1 is ignored. In any case after the statement block 1 or 2 gets executed the control will pass to statement x. Therefore, statement x is executed in every case. SYNTAX OF IF STATEMENT if (test expression) { statement_block 1; } else { statement_block 2; } statement x; Test Expression Statement Block 1 TRUE Statement x FALSE Statement Block 2
  • 26. © Oxford University Press 2011. All rights reserved. // Program to demonstrate the use of if-statement #include<stdio.h> int main() { int x=10; if ( x>0) x++; printf("n x = %d", x); return 0; } // PROGRAM TO FIND WHETHER A NUMBER IS EVEN OR ODD #include<stdio.h> main() { int a; printf("n Enter the value of a : "); scanf("%d", &a); if(a%2==0) printf("n %d is even", a); else printf("n %d is odd", a); return 0; } PROGRAMS TO DEMONSTRATE THE USE OF IF AND IF-ELSE STATEMENTS
  • 27. © Oxford University Press 2011. All rights reserved. IF ELSE IF STATEMENT • C language supports if else if statements to test additional conditions apart from the initial test expression. The if-else-if construct works in the same way as a normal if statement. SYNTAX OF IF-ELSE STATEMENT if ( test expression 1) { statement block 1; } else if ( test expression 2) { statement block 2; } ........................... else if (test expression N) { statement block N; } else { Statement Block X; } Statement Y; Test Expression 1 Statement Block 1 TRUE FALSE Test Expression 2 Statement Block 2 TRUE FALSE Statement Block X Statement Y
  • 28. © Oxford University Press 2011. All rights reserved. SWITCH CASE • A switch case statement is a multi-way decision statement. Switch statements are used: When there is only one variable to evaluate in the expression When many conditions are being tested for • Switch case statement advantages include: Easy to debug, read, understand and maintain Execute faster than its equivalent if-else construct switch(grade) { case 'A': printf("n Excellent"); break; case 'B': printf("n Good"); break; case 'C': printf("n Fair"); break; default: printf("n Invalid Grade"); break; }
  • 29. © Oxford University Press 2011. All rights reserved. // PROGRAM TO CLASSIFY A NUMBER AS POSITIVE, NEGATIVE OR ZERO #include<stdio.h> main() { int num; printf("n Enter any number : "); scanf("%d", &num); if(num==0) printf("n The value is equal to zero"); else if(num>0) printf("n The number is positive"); else printf("n The number is negative"); return 0; } // PROGRAM TO PRINT THE DAY OF THE WEEK #include<stdio.h> int main() { int day; printf(“n Enter any number from 1 to 7 : “); scanf(“%d”,&day); switch(day) { case 1: printf(“n SUNDAY”); break; case 2 : printf(“n MONDAY”); break; case 3 : printf(“n TUESDAY”); break; case 4 : printf(“n WEDNESDAY”); break; case 5 : printf(“n THURSDAY”); break; case 6 : printf(“n FRIDAY”); break; case 7 : printf(“n SATURDAY”); break; default: printf(“n Wrong Number”); } return 0; }
  • 30. © Oxford University Press 2011. All rights reserved. ITERATIVE STATEMENTS • Iterative statements are used to repeat the execution of a list of statements, depending on the value of an integer expression. In this section, we will discuss all these statements. While loop Do-while loop For loop WHILE LOOP • The while loop is used to repeat one or more statements while a particular condition is true. • In the while loop, the condition is tested before any of the statements in the statement block is executed. • If the condition is true, only then the statements will be executed otherwise the control will jump to the immediate statement outside the while loop block. • We must constantly update the condition of the while loop. while (condition) { statement_block; } statement x; Statement x Conditio n Statement y FALSE Update the condition expression Statement Block TRUE
  • 31. © Oxford University Press 2011. All rights reserved. DO WHILE LOOP • The do-while loop is similar to the while loop. The only difference is that in a do-while loop, the test condition is tested at the end of the loop. • The body of the loop gets executed at least one time (even if the condition is false). • The do while loop continues to execute whilst a condition is true. There is no choice whether to execute the loop or not. Hence, entry in the loop is automatic there is only a choice to continue it further or not. • The major disadvantage of using a do while loop is that it always executes at least once, so even if the user enters some invalid data, the loop will execute. • Do-while loops are widely used to print a list of options for a menu driven program. Statement x; do { statement_block; } while (condition); statement y; Statement x Statement y Statement Block Update the condition expression Condition FALSE TRUE
  • 32. © Oxford University Press 2011. All rights reserved. // PROGRAM TO PRINT NUMBERS FROM 0 TO 10 USING WHILE LOOP #include<stdio.h> int main() { int i = 0; while(i<=10) { printf(“n %d”, i); i = i + 1; // condition updated } return 0; } // PROGRAM TO PRINT NUMBERS FROM 0-10 USING DO-WHILE LOOP #include<stdio.h> int main() { int i = 0; do { printf(“n %d”, i); i = i + 1; } while(i<=10); return 0; } Program to demonstrate the use of while loop and do while loop
  • 33. © Oxford University Press 2011. All rights reserved. FOR LOOP • For loop is used to repeat a task until a particular condition is true. • The syntax of a for loop for (initialization; condition; increment/decrement/update) { statement block; } Statement Y; • When a for loop is used, the loop variable is initialized only once. • With every iteration of the loop, the value of the loop variable is updated and the condition is checked. If the condition is true, the statement block of the loop is executed else, the statements comprising the statement block of the for loop are skipped and the control jumps to the immediate statement following the for loop body. • Updating the loop variable may include incrementing the loop variable, decrementing the loop variable or setting it to some other value like, i +=2, where i is the loop variable.
  • 34. © Oxford University Press 2011. All rights reserved. PROGRAM FOR FOR-LOOP Look at the code given below which print first n numbers using a for loop. #include<stdio.h> int main() { int i, n; printf(“n Enter the value of n :”); scanf(“%d”, &n); for(i=0; i<= n; i++) printf(“n %d”, i); return 0; }
  • 35. © Oxford University Press 2011. All rights reserved. BREAK STATEMENT • The break statement is used to terminate the execution of the nearest enclosing loop in which it appears. • When compiler encounters a break statement, the control passes to the statement that follows the loop in which the break statement appears. Its syntax is quite simple, just type keyword break followed with a semi-colon. break; • In switch statement if the break statement is missing then every case from the matched case label to the end of the switch, including the default, is executed. CONTINUE STATEMENT • The continue statement can only appear in the body of a loop. • When the compiler encounters a continue statement then the rest of the statements in the loop are skipped and the control is unconditionally transferred to the loop-continuation portion of the nearest enclosing loop. Its syntax is quite simple, just type keyword continue followed with a semi-colon. continue; • If placed within a for loop, the continue statement causes a branch to the code that updates the loop variable. For example, int i; for(i=0; i<= 10; i++) { if (i==5) continue; printf(“t %d”, i);
  • 36. © Oxford University Press 2011. All rights reserved. GOTO STATEMENT • The goto statement is used to transfer control to a specified label. • Here label is an identifier that specifies the place where the branch is to be made. Label can be any valid variable name that is followed by a colon (:). • Note that label can be placed anywhere in the program either before or after the goto statement. Whenever the goto statement is encountered the control is immediately transferred to the statements following the label. • Goto statement breaks the normal sequential execution of the program. • If the label is placed after the goto statement then it is called a forward jump and in case it is located before the goto statement, it is said to be a backward jump. • int num, sum=0; • read: // label for go to statement • printf("n Enter the number. Enter 999 to end : "); • scanf("%d", &num); • if (num != 999) • { • if(num < 0) • goto read; // jump to label- read • sum += num; • goto read; // jump to label- read • } • printf("n Sum of the numbers entered by the user is = %d", sum);