Computer Programming I
UP ITTC
AY 2009-2010
Computer Programming I
Introduction: Computer Programming
Lesson 1: Overview of Programming
Languages
Lesson 2: Introduction to C Programming
Lesson 3: C Fundamentals
Lesson 4: Control Structures
Computer Programming I
Lesson 5: Subprograms
Lesson 6: Arrays, Strings and Pointers
Lesson 7: Command-Line Arguments
Lesson 8: Structures
Lesson 9: Dynamic Memory Allocation
Lesson 10: File Handling
Preface
Prerequisites
Computer Systems 1
Knowledge of algorithms
Related Publications
The C Programming Language 2nd Edition
Brian W. Kernighan, Dennis M. Ritchie
C by Dissection 4th Edition
Al Kelly, Ira Pohl
Overview
This course introduces computer
programming using the language C.
Objectives
At the end of this course, you should be able
to:
Understand the methodology for
implementing a program.
Understand the programming elements
involved in implementing a program in C.
Understand the creation and reuse of parts
of a program.
Duration
Lecture: 24 hours (4 days)
Workshop: 36 hours (6 days)
Schedule
Day 1
Lesson 1: Overview of Programming
Languages
Lesson 2: Introduction to C Programming
Lesson 3: C Fundamentals
Schedule
Day 2
Lesson 5: Control Structures
Lesson 6: Subprograms
Schedule
Day 3
Lesson 8: Array, Strings and Pointers
Lesson 9: Command-Line Arguments
Lesson 10: Structures
Schedule
Day 4
Lesson 10: Dynamic Memory Allocation
Lesson 11: File Handling
Schedule
Days 5 - 7:
Workshop: Machine Problem Part 1
Days 8 – 10:
Workshop: Machine Problem Part 2
Departmental Exam
Course Requirements
Machine Exercises 20%
Machine Problem Part 1 20%
Machine Problem Part 2 30%
Long Exam (Departmental Exam) 30%
Overview of Programming
Languages
Lesson 1
Introduction
Definition of Programming Languages
Levels of Programming Languages
Machine Language
Assembly Languages
High-level Languages
Very High-level Languages
Natural Languages
What is a Programming
Language?
A programming language is a set of rules
for instructing the computer what
operations to perform.
Levels of Languages
Machine Language
Assembly Languages
High-level Languages
Very High-level Languages
Natural Languages
Machine Language
Machine language is the only language
understood by a computer
Consists of binary numbers (1s and 0s)
Assembly Languages
Assembly language is a low level
message which uses mnemonic codes
and abbreviations that are easy to
remember
We use an assembler in order to
convert it from assembly language to
machine language
High-level Languages
High-level languages are programming
languages that are written in English-like
manner.
Examples: C, C++, Java, Pascal
We use a compiler in order to convert it
to machine language.
Very High-level Languages
Very high-level languages are essentially
shorthand programming languages.
Also called fourth-generation languages
or 4GLs.
Lesson Review
A programming language is a set of rules for
instructing the computer what operations to
perform.
There are five generations/levels of languages:
Machine Language, Assembly Languages, High-
level Languages, Very High-level Languages and
Natural Languages.
An assembler is used to convert assembly
language to machine language.
A compiler is used to convert a high-level language
to machine language.
Introduction to C
Programming
Lesson 2
Introduction
Introduction to C
Characteristics of C
Elements of a C Program
Our First C Program: Hello World
Compiling & Running our first C Program
Phases of a C Program
The “C” Programming Language
A high-level general-purpose
programming language
Developed by Brian Kernighan and
Dennis Ritchie of AT&T Bell Labs in 1972
Characteristics of C
C is a small language.
C is the standard development language
for personal computers.
C is portable.
C is modular.
C is the basis for C++ and java.
Elements of a C Program
Identifiers
a name in a C program
a string of letters, digits and underscores, provided that
the string doesn’t start with a digit.
Case-sensitive
Examples of VALID identifiers
_hello IamAnIden1234 _1234
Example of INVALID identifiers
123hello dDAT.1 file-name
Elements of a C Program
Reserved Words/Keywords
words that have predefined meanings and
cannot be used as names for anything else.
C has 32 keywords, these are:
Our First C Program
/**
* Hello.c
* This is my very first C program and I'm
* excited about it :-)
**/
#include <stdio.h>
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
This is a Comment.
Comments are used for
Our First C Program
documentation purposes
and does not affect the
program flow.
/**
* Hello.c
* This is my very first C program and I'm
* excited about it :-)
**/
#include <stdio.h>
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
Our First C Program This is a Preprocessor or
Precompiler directive.
A Preprocessor or
Precompiler directive are
/** lines in C that are processed
* Hello.c before compiling the code.
* This is my very first C program and I'm
* excited about it :-)
**/
#include <stdio.h>
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
Our First C Program
Define a block of commands
called main.
/** main is a special block – it is
* Hello.c where the program starts
* This is my very first Crunning.
program and I'm
* excited about it :-) Every C program must have a
**/ single main block.
#include <stdio.h>
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
Our First C Program
/**
* Hello.c
* This is my very first C program and I'm
* excited about it :-)
**/
#include <stdio.h>
This is also a comment.
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
Our First C Program
The printf function is a
standard output function
/** which takes in a string as its
* Hello.c function argument, and
* This is my very first Coutputs
programit to theand
screen.I'm
* excited about it :-) This is an example of a
statement, it ends with a
**/
semicolon.
#include <stdio.h>
int main( void )
{
/*print text to screen*/
printf("Hello world!");
}
Compiling our first C Program
Compiler
Used to convert a high-level language to
machine language
gcc – name of the compiler we will use to
compile our C programs
Phases of C Programs:
Edit (C program file
names should end with
the .c extension)
Preprocess
Compile
Link
Load
Execute
Phases of C Program
Phase 1: Create your program with an editor program
Phase 2: A preprocessor find some preprocessor directives
(#include <stdio.h>) to include other files and perform
various text replacements
Phase 3: Compiler compiles the program into machine
languages (object code != object-oriented programming).
Phase 4: A linker links the object code with the code in
library or other places to produce an executable image.
Phase 5: A loader loads the executable image into memory
(RAM).
Phase 6: CPU executes the program one instruction at a
time.
Lesson Review
C is a high-level general-purpose programming language
developed by Brian Kernighan and Dennis Ritchie of AT&T
Bell Labs in 1972.
Identifiers are names in a C program. It consists of a string
of letters, digits and underscores, provided that the string
doesn’t start with a digit. It is case-sensitive.
Reserved words or keywords in C, are words that have
predefined meanings and cannot be used as names for
anything else. C has 32 keywords.
Lesson Review
To compile:
gcc <filename.c> -o <outputfile>
To run:
./<outputfile>
6 phases that a C program undergoes:
Edit, Preprocess, Compile, Link, Load
and Execute
Exercise 1
Write a short but complete C program
that outputs to screen what you feel
about your instructor.
C Fundamentals
Lesson 3
Introduction
C Program Structure
Preprocessor/Precompiler directives
Libraries
Declarations
Type declarations
Variable/constant declarations
Function/procedure declarations
Main function declarations
Introduction
Statements and Blocks
Basic Data Types
Constants
Variables
Basic I/O: scanf, printf
Operators
Arithmetic, Increment/Decrement, Relational, Logical,
Modulo, Assignment, Shortcut
Precedence
C Program Structure
Program structure for C programs:
[<preprocessor/precompiler
directives>]
[<declarations>]
<main-function-definition>
[<function-definitions>]
Preprocessor / Precompiler
Directives
Precompiler directives or preprocessors are
statements in C that are processed before
compilation.
Usually begins with the # symbol perhaps
preceded by white spaces.
They may appear anywhere.
Examples:
#include..
#define...
Libraries
a collection of useful functions and
symbols that may be accessed by a
program
has a standard header file whose name
ends with the symbols .h
Example:
#include <stdio.h> /*printf, scanf
definitions*/
Declarations
The following are different types of
declarations in C:
<type declarations> |
<variable/constant declarations>
|
<function/procedure declarations>
Variable/Constant Declarations
Thesyntax of a variable/constant
declaration is:
[const] <data_type>
<variable/constant_name> [=
<value>];
Variable/Constant Declarations
Declarations that begin with const are
constant declarations while those that do
not are variable declarations.
Examples:
const age_type age = 22;
const float salary = 54321.20;
char* name, address;
char gender = 'M';
Function/Procedure
Declarations
Thesyntax of a function/procedure
declaration is:
<return_type>
<function/procedure_name>
(<parameters>)
{
<function/procedure body>
}
Function/Procedure
Declarations
Declarations whose return type is void are
procedure declarations. Otherwise, they
are function declarations.
Examples:
void greet(void){
printf("Hello there.\n");
}
int add(int x, int y){
return x+y;
}
Main Function Declaration
Thesyntax of the main function
declaration is:
<return_type> main (<parameters>){
<main_body>
}
Sample Program
C Statements & Blocks
C Statements are lines of code ending
with a semicolon (;).
Blocks are groups of statements
enclosed in curly braces {}.
Basic Data Types
C has at least 3 basic data types:
Character (char)
Integer (int)
Floating point numbers (float/double)
Character Data Type
A character in C is in the form:
'<single character>'
Examples:
'a' (letter a) '1' (number one)
':' (colon) ' ' (space)
'*' (asterisk) '?' (question mark)
'T' (capital T)
Character Data Type
C has special kinds of characters called
escape sequences.
Here are some of the escape sequences in
C:
'\f' (formfeed) '\\' (backslash)
'\n' (newline) '\'' (single quote)
'\r' (carriage return) '\"' (double quote)
'\t' (horizontal tab) '\ooo' (octal
number)
'\xhh' (hexadecimal number)
Character Data Type
Are really just integers.
Character encoding is platform specific.
ASCII, Unicode, ISO 8859
char
At least 8 bits (“byte”)
wchar_t
“Wide character”
Usually the same as unsigned int (Unicode)
The ASCII Table
Integer Data Type
Integers have values that are whole numbers.
They can be positive or negative.
The type name for integer data type in C is:
int
Can be written as:
Decimal -1234 230 +250
Hexadecimal -0x1234 0x0E6 +0xFA
Octal -01234 0346 +0372
Floating Point Data Type
A floating point in C is the data type
whose values are numbers, that, when
written in the usual decimal notation,
have digits after the decimal point.
The type name for floating point data
type in C is:
float
Examples of floating points are:
1.0 0.31416 1E6 4.3E5
typedef
InC, you can define your own data types
based on existing data types. (alias)
Type declaration using basic data types
has the following syntax:
typedef <data_type> <type_name>;
typedef
Examples:
typedef char gender_type;
typedef int age_type;
typedef float grade_type;
Constants
Constants in C are values that never
change throughout the entire program.
Types of Constants in C:
Integer
Character
Floating-point
String
Enumeration
Constants
To declare your own constants:
const <data_type> <constant_name>
= <value>;
Examples:
const char middle_initial = 'C';
const int num_colors = 7;
const float pi = 3.1416;
Constants
You can also use the #define
preprocessor to declare constants in your
program.
The syntax is:
#define <constant_name> [value]
Examples:
#define Kg_Per_Lbs 0.454545
#define Pi 3.1416
Variables
Variables,
in C, are objects whose value
may change during the course of a
program’s execution.
A variable in C is declared using the
following syntax:
<data_type> <variable_name> [=
<initial value>];
Variables
Named area in the computer memory,
intended to contain values of a certain
kind (integers, real numbers,
characters etc.)
They contain the data your program
works with
Variables Declaration
Before using a variable, one must declare it.
Variables declaration may only appear at the beginning of a
block.
The declaration first introduces the variable type, then its
name.
When a variable is declared, its value is undefined.
int integer;
Type
float small_real;
Identifier
double big_real;
char c1, c2;
Variables Declaration
Naming rules:
Letters, digits, underscores
i
CSE_5a
a_very_long_name_that_isnt_very_useful
fahrenheit
First character cannot be a digit
5a_CSE is not valid!
Case sensitive
CSE_5a is different from cse_5a
Example: Variable
Declarations
int i, j;
char ch;
float num1 = 5.20, num2 = 7.0;
double d;
Primitive Data Types
char – character (1 byte)
‘a’, ‘b’, ‘c’ ..., ‘A’, ‘B’, ‘C’, ...
‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘0’
‘_’ ‘,’ ‘#’ ‘$’ ‘^’ ‘*’ ‘@’ ‘!’ ....
int – integer number (4 bytes).
0, -1, 1, -2, 2, ....
float – real number (4 bytes)
0.5, 3.2, 4.0, -5.122323, ...
double – double precision real number (8 bytes)
char float
int double
Basic output: printf
printf
Allows you to print on the screen
To print some string using printf, we type:
printf("<any string>");
To print a value of a variable using printf, we
use format specifiers:
printf("[format specifier]", variable);
printf Conversion Codes
%c – a character
%d – an integer, %u – an unsigned integer.
%f – a float
%e – a float in scientific representation
%g – whichever is better between %e and %f
%lf – a double
%% - the ‘%’ character
Basic output: printf
Example:
char letter = 'a';
int number = 100;
float fnum = 13.09
printf("This is the letter %c",
letter);
printf("The number = %d", number);
printf("This is a floating point
number %f", fnum);
printf("%c %d %f", letter, number,
fnum);
Basic input: scanf
scanf
Allows you to get input from the keyboard
Format:
scanf( "<formatSpecifier>", &variableName )
Basic input: scanf
Examples:
int number;
char letter;
printf("Enter a number:");
scanf("%d", &number);
printf("Enter a character:");
scanf("%c", &letter);
scanf Conversion Codes
%c – a character
%d – an integer, %u – an unsigned
integer.
%f – a float
%e – a float in different representation
%lf – a double
Exercise 2
Write a program that asks the user to
input his/her name, age, address,
telephone number and desired grade.
Afterwards print all the information
provided by the user.
Signed vs. Unsigned
integer types can be signed or unsigned
unsigned int ui;
unsigned char uc;
char
signed: -128 to +127
unsigned: 0 to +255
int
signed: −2,147,483,648 to +2,147,483,647
unsigned: 0 to +4,294,967,295
The unsigned qualifier
Normally, the last bit of a variable serves as
a sign bit. value
sign (+/-)
We can use all the bits to represent the
value by declaring a variable as unsigned.
To declare a variable as unsigned we add
the ‘unsigned’ keyword before its type.
unsigned int;
unsigned char;
Unsigned Range
char (256 different values)
signed -127..+128
unsigned 0..+255
int (4294967296 different values)
signed -2147483648.. +2147483647
unsigned 0.. +4294967295
Unsigned - output
When using printf We use %d for signed
variables and %u for unsigned ones
void main()
{
unsigned char u = 200;
char s;
printf("%d\n", u); 200
printf("%u\n", u);
s = u;
-56
printf("%d\n", s);
printf("%u\n", s); 4294967240
}
Overflow
Happens when a variable gets assigned a
value that is outside of its range
This is equivalent to saying that the
number of bits required to encode the
value exceeds the number of bits in the
variable
The value of the variable will usually be
corrupted
Overflow Example
#include <stdio.h>
void main()
{
int iA = 1000,
iB = 1000000,
iC = 3000000,
iD = 5000000;
printf ("%d * %d = %d\n", iA, iB, iA*iB); 1000000000
printf ("%d * %d = %d\n", iA, iC, iA*iC); -1294967296
printf ("%d * %d = %u\n", iA, iC, iA*iC); 3000000000
printf ("%d * %d = %u\n", iA, iD, iA*iD); 705032704
}
Casting
Sometimes it is desirable for a variable of one
type to be considered as belonging to another
in an operation
We say the variable is cast to the new type.
The casting operator is of the form: (type)
For example, (float)i casts the variable i
to a float.
IO functions from <stdio.h>
printf - prints formatted output to stdout
scanf - reads formatted input from stdin
puts - prints a string to stdout
gets - reads a string from stdin
putc - prints a character to stdout
getc, getchar - reads a character from stdin
Operators
Types of operators in C:
Arithmetic Operators
Increment and Decrement Operators
Relational Operators
Logical Operators
Modulo Operator
Assignment Operator
Shortcut Operators
Arithmetic Operators
Arithmetic Function Examples
Operator
+ Used for Addition 5 + 2 is 7 (int)
5.0 + 2.0 is 7.0
(float)
- Used for Subtraction 5 – 2 is 3
5.0 – 2.0 is 3.0
* Used for Multiplication 5 * 2 is 10
5.0 * 2.0 is 10.0
/ Used for Division 5.0 / 2.0 is 2.5
(float)
5 / 2 is 2 (int)
Increment and Decrement
Operators
Operator Function Examples
++ Increment operator int x = 10;
adds 1 to its x++; /*equal to 11*/
operand
-- Decrement operator int x = 10;
subtracts 1 to its x--; /*equal to 9*/
operand
Increment and Decrement
Operators
++ and -- may be used either as prefix
operators (before the variable) or as
postfix operators (after the variable).
Increment and Decrement
Operators
Example:
int num1 = 5;
int num2 = 0;
num1++; /*num1 == 6*/
--num2; /*num2 == -1*/
num2 = num1++; /*num2 is assigned value 6
*and num1 incremented*/
num2 = ++num1; /*num1 incremented and
*num2 is assigned value of ? */
Exercise 3
Write a program in C that asks the user to input
the radius of a circle in centimeters (or portions
of centimeters), and then output the area and the
circumference of the circle to the screen. The
formula for the area is A = πr² and the formula
for the circumference is C = 2πr, where r is the
radius and π can be approximated to be 3.1416.
Exercise 4
Write a program in C that asks the user to
input two integers, one at a time, and
then outputs the sum and product to the
screen.
Relational Operators
The result of a statement using relational
operators could either be 0 (false) and non-
zero values (true).
Relational Operator Function
< less than
> greater than
<= less than or equal to
>= greater than or equal to
== equal to
!= not equal to
Relational Operators
Examples:
char ch1 = 'c';
int number1 = 10;
int number2 = 3;
ch1 == 'f' /*false*/
7 != number1 /*true*/
number2 > number1 /*false*/
number2 < number1 /*true*/
Logical Operators
The result of a statement using logical
operators could either be 0 (false) and
non-zero values (true).
Logical operators
Logical AND &&
Logical OR ||
Logical NOT !
Logical XOR ^
Logical Operators
Logical AND
Form: op1 && op2
op1 op2 result
nonzero nonzero nonzero
nonzero 0 0
0 nonzero 0
0 0 0
Logical Operators
Logical OR
Form: op1 || op2
op1 op2 result
nonzero nonzero nonzero
nonzero 0 nonzero
0 nonzero nonzero
0 0 0
Logical Operators
Logical NOT
Form: !op1
op1 result
nonzero 0
0 nonzero
Logical Operators
Logical XOR
Form: op1 ^ op2
op1 op2 result
nonzero nonzero 0
nonzero 0 nonzero
0 nonzero nonzero
0 0 0
Logical Operators
Examples:
int B1 = 1; /*true*/
int B2 = 0; /*false*/
B1 && B2; /*false*/
B1 || B2; /*true*/
!B1; /*true*/
B1 ^ B2 ; /*true*/
Modulo Operator (%)
C allows us to perform modulo operations
using the % symbol.
This means that if, for example, x and y are
two integer variables, the operation x % y will
return the remainder of the operation (dividing
the first operand by the second).
Examples:
10% 3 (this is equal to 1)
2 % 3 (this is equal to 2)
Assignment Operator
An assignment Operator stores a
value or a computational result in a
variable. It is used to perform most
arithmetic operations in a program.
The syntax is:
<variable> = <expression>;
Shortcut Operators
Any statement of the form:
<variable> = <variable> <operator>
<expression>;
where operator is one of the binary
operators
+ - * / % can be written in the form:
<variable> <operator> =<expression>;
Shortcut Operators
Examples:
a = a + b can be written as a += b
c = c – 4 can be written as c -= 4
d = d * 5 can be written as d *= 5
e = e / 3 can be written as e /= 3
f = f % 2 can be written as f %= 2
Operator Precedence
! (right-associative)
* / % (left-associative)
+ - (left-associative)
< <= > >= (left-associative)
== != (left-associative)
^ (left-associative)
&& (left-associative)
|| (left-associative)
= += -= *= /= %= (right-associative)
Lesson Review
Precompiler directives or preprocessors are
statements in C that are processed before
compilation.
A library is a collection of useful functions and
symbols that may be accessed by a program
Declarations:Type declarations,
Variable/constant declarations,
Function/procedure declarations and Main
function declarations
Lesson Review
C Statements are lines of code ending with a
semicolon (;).
Blocks are groups of statements enclosed in curly
braces {}.
C has at least 3 basic data types: Character (char),
Integer (int) and Floating point (float).
You can define your own data types by using
typedef. Type declaration using basic data types
has the following syntax:
typedef <data_type> <type_name>;
Lesson Review
You can declare your own constants in C by using
const or #define. The syntax for const is:
const <data_type> <constant_name> =
<value>;
The syntax for #define is:
#define <constant_name> [value]
A variable in C is declared using the following
syntax:
<data_type> <variable_name> [=
<initial value>];
Lesson Review
We use printf function to print to the screen
and scanf to get input from the keyboard.
The types of operators in C are: Arithmetic
Operators, Increment and Decrement
Operators, Relational Operators, Logical
Operators, Modulo Operator, Assignment
Operator and Shortcut Operators. They
follow a certain precedence.
Exercise 5
Write a program that receives three
integers as input and outputs the numbers
in increasing order.
Control Structures
Lesson 4
Control Structures
Kinds of Control Structures
Sequence Control Structures
Selection Control Structures
if
if-else
switch
Repetition Control Structures
while
do-while
for
Sequential Program
statement1
int main() {
statement1;
statement2;
statement2
….
statementN;
}
statementN
if Statement
used to conditionally execute a statement or block of statement.
if (expression)
statement;
True or False
In C, every expression has a numeric value
An expression is ‘true’ when its value is non-
zero
it is false it evaluates to zero.
Therefore, in the following –
if (expression)
statement
statement is executed if expression evaluates to
non-zero.
if-else Statement
if (expression)
statement1;
else
statement2;
if expression is false, statement2 is executed
both statements can be (and very often are) replaced by
blocks of statements (“compound statements”)
The else portion is optional.
Multiple if-else constructs
Multiple if-else constructs can also be used to choose between three of
more options.
TRUE
if (expression1) expression1 statement1
statement1; FALSE
else if (expression2) TRUE
expression2 statement2
statement2;
else FALSE
statement3; statement3
rest of program
The conditional or ternary
operator: ‘?: ‘
The ?: operator is a more efficient form for expressing simple if
statements.
It has the following form:
<expression1>? <expression2>: <expression3>
It simply states:
if (<expression1>)
<expression2>;
else
<expression3>;
The conditional or ternary
operator: ‘?: ‘
Example:
Suppose we want to assign the maximum of a and
b to z. Using the ? operator, we have the following
statement:
z = (a > b) ? a : b;
which is the same as:
if (a > b)
z = a;
else
z = b;
switch Statement
A multi-way conditional statement
similar to the if … else if … else …
allows the selection of an arbitrary number of choices
based on an integer value
switch (<expression>)
{
case <const_expr_1> : <statements>
case <const_expr_2> : <statements>
….
….
case <const_expr_n> : <statements>
default : <statements>
}
switch Statement
expression must have an integer value (char, int)
when the switch statement is executed:
the expression is evaluated
if a case matches the value of the expression, the
program jumps to the first statement after that
case label
otherwise, the default case is selected
the default is optional
while loop
The while loop has the following syntax:
while (<boolean expression>)
<statement>
where,
The boolean_expression in the syntax can be any
expression that evaluates to TRUE or FALSE only.
The statement can be either a simple statement or
a compound statement.
while loop
FALSE
expression
The statement is executed as TRUE
long as condition is true.
statement/s
The loop terminates when the
condition is no longer true.
rest of program
while loop
Hereis a simple example of the use of the
while loop:
i=1
while (i<=5) {
printf("%d",i);
i++;
}
while loop
There
are some things you have to
remember when using the while loop.
Firstand foremost is that the while loop
must terminate eventually. This means that
you have to make sure that the boolean
expression must evaluate to FALSE at some
foreseeable point. Loops that do not
terminate are called infinite loops.
do-while loop
statement/s
TRUE
do {
statement(s); condition
} while ( condition );
FALSE
rest of program
Similar to while loops
Except the condition is evaluated after the loop body
The loop body is always executed at least once, even if the
expression is never true
do-while loop
Example:
i=1;
do {
printf("%d", i);
i++;
} while (i<=5);
for loop
initialization
for ( <initialization>; <condition>;<increment> ) {
statement(s);
} condition
statement(s)
increment
rest of program
break and continue
Cprovides two commands to control how
we loop:
break – to exit from a loop or a switch
continue – skip an iteration of the loop
End