100% found this document useful (1 vote)
892 views132 pages

Computer Programming I

This document outlines a Computer Programming I course that introduces programming using the C language. The course consists of 10 lessons covering topics like programming languages, C fundamentals, control structures, arrays, pointers, structures, and file handling. It includes details on objectives, schedule, requirements and provides an overview of programming languages and an introduction to the C language.

Uploaded by

manueldiego
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
892 views132 pages

Computer Programming I

This document outlines a Computer Programming I course that introduces programming using the C language. The course consists of 10 lessons covering topics like programming languages, C fundamentals, control structures, arrays, pointers, structures, and file handling. It includes details on objectives, schedule, requirements and provides an overview of programming languages and an introduction to the C language.

Uploaded by

manueldiego
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 132

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

You might also like