0% found this document useful (0 votes)
18 views

C Programming Notes

The document discusses three types of loops in C programming - for, while, and do-while loops. It provides examples of each loop type and how they work, iterating over the English alphabet, generating multiplication tables, and calculating sums of input numbers until a sentinel value.

Uploaded by

zshabbir029
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

C Programming Notes

The document discusses three types of loops in C programming - for, while, and do-while loops. It provides examples of each loop type and how they work, iterating over the English alphabet, generating multiplication tables, and calculating sums of input numbers until a sentinel value.

Uploaded by

zshabbir029
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Lab-3 Handouts (source Programiz)

C Loops
In programming, a loop is used to repeat a block of code until the specified condition is met. C
programming has three types of loops:

for loop

while loop

do...while loop

for Loop
The syntax of the for loop is:

for (initializationStatement; testExpression; updateStatement)

// statements inside the body of loop

How for loop works?


The initialization statement is executed only once.
Then, the test expression is evaluated. If the test
expression is evaluated to false, the for loop is
terminated. However, if the test expression is
evaluated to true, statements inside the body of the
for loop are executed, and the update expression is
updated. Again the test expression is evaluated. This
process goes on until the test expression is false.
When the test expression is false, the loop
terminates.

Example 1: for loop


// Print numbers from 1 to 10
#include <stdio.h>
int main() {
int i;
for (i = 1; i < 11; ++i)
{
printf("%d ", i); Figure 1: for loop Flowchart
}

return 0;

///// Output /////

1 2 3 4 5 6 7 8 9 10
i is initialized to 1. The test expression i < 11 is evaluated. Since 1 less than 11 is true, the body of for
loop is executed. This will print the 1 (value of i) on the screen. The update statement ++i is
executed. Now, the value of i will be 2. Again, the test expression is evaluated to true, and the body
of for loop is executed. This will print 2 (value of i) on the screen. Again, the update statement ++i is
executed and the test expression i < 11 is evaluated. This process goes on until i becomes 11. When i
becomes 11, i < 11 will be false, and the for loop terminates.

Example 2: for loop

// Program to calculate the sum of first n natural numbers

// Positive integers 1,2,3...n are known as natural numbers

#include <stdio.h>

int main()

int num, count, sum = 0;

printf("Enter a positive integer: ");

scanf("%d", &num);

// for loop terminates when num is less than count

for(count = 1; count <= num; ++count)

sum += count;

printf("Sum = %d", sum);

return 0;

///// Output ////////

Enter a positive integer: 10

Sum = 55

The value entered by the user is stored in the variable num. Suppose, the user entered 10. The count
is initialized to 1 and the test expression is evaluated. Since the test expression count<=num (1 less
than or equal to 10) is true, the body of for loop is executed and the value of sum will equal to 1.
Then, the update statement ++count is executed and count will equal to 2. Again, the test expression
is evaluated. Since 2 is also less than 10, the test expression is evaluated to true and the body of the
for loop is executed. Now, sum will equal 3. This process goes on and the sum is calculated until the
count reaches 11. When the count is 11, the test expression is evaluated to 0 (false), and the loop
terminates. Then, the value of sum is printed on the screen.
while loop
The syntax of the while loop is:

while (testExpression) {

// the body of the loop

How while loop works?

The while loop evaluates the testExpression inside the parentheses (). If testExpression is true,
statements inside the body of while loop are executed. Then, testExpression is evaluated again. The
process goes on until testExpression is evaluated to false. If testExpression is false, the loop
terminates (ends).

Example 1: while loop

// Print numbers from 1 to 5

#include <stdio.h>

int main() {

int i = 1;

while (i <= 5) {

printf("%d\n", i);

++i;

return 0;

////// Output //////

Here, we have initialized i to 1. When i = 1, the test expression i <= 5 is true. Hence, the body of the
while loop is executed. This prints 1 on the screen and the value of i is increased to 2. Now, i = 2, the
test expression i <= 5 is again true. The body of the while loop is executed again. This prints 2 on the
screen and the value of i is increased to 3. This process goes on until i becomes 6. Then, the test
expression i <= 5 will be false and the loop terminates.
do...while loop
The do..while loop is similar to the while loop with one important difference. The body of do...while
loop is executed at least once. Only then, the test expression is evaluated. The syntax of the
do...while loop is:

do {

// the body of the loop

while (testExpression);

How do...while loop works?

The body of do...while loop is executed once. Only then, the testExpression is evaluated. If
testExpression is true, the body of the loop is executed again and testExpression is evaluated once
more. This process goes on until testExpression becomes false. If testExpression is false, the loop
ends.

Example 2: do...while loop

// Program to add numbers until the user enters zero

#include <stdio.h>

int main() {

double number, sum = 0;

// the body of the loop is executed at least once

do {

printf("Enter a number: ");

scanf("%lf", &number);

sum += number;

while(number != 0.0);

printf("Sum = %.2lf",sum);

return 0;

//// Output //////

Enter a number: 1.5

Enter a number: 2.4

Enter a number: -3.4

Enter a number: 4.2


Enter a number: 0

Sum = 4.70

Here, we have used a do...while loop to prompt the user to enter a number. The loop works as long
as the input number is not 0. The do...while loop executes at least once i.e. the first iteration runs
without checking the condition. The condition is checked only after the first iteration has been
executed.

do {

printf("Enter a number: ");

scanf("%lf", &number);

sum += number;

while(number != 0.0);

So, if the first input is a non-zero number, that number is added to the sum variable and the loop
continues to the next iteration. This process is repeated until the user enters 0. But if the first input
is 0, there will be no second iteration of the loop and sum becomes 0.0. Outside the loop, we print
the value of sum.

Practice Codes
Program to Print English Alphabets

#include <stdio.h>

int main() {

char c;

for (c = 'A'; c <= 'Z'; ++c)

printf("%c ", c);

return 0;

///// Output /////

ABCDEFGHIJKLMNOPQRSTUVWXYZ

In this program, the for loop is used to display the English alphabet in uppercase. Here's a little
modification of the above program. The program displays the English alphabet in either uppercase
or lowercase depending upon the input given by the user.

Print Lowercase/Uppercase alphabets

#include <stdio.h>

int main() {

char c;
printf("Enter u to display uppercase alphabets.\n");

printf("Enter l to display lowercase alphabets. \n");

scanf("%c", &c);

if (c == 'U' || c == 'u') {

for (c = 'A'; c <= 'Z'; ++c)

printf("%c ", c);

} else if (c == 'L' || c == 'l') {

for (c = 'a'; c <= 'z'; ++c)

printf("%c ", c);

} else {

printf("Error! You entered an invalid character.");

return 0;

/////// Output /////

Enter u to display uppercase alphabets.

Enter l to display lowercase alphabets. l

abcdefghijklmnopqrstuvwxyz

////////////////////////////////////////////

Multiplication Table Up to 10

#include <stdio.h>

int main() {

int n;

printf("Enter an integer: ");

scanf("%d", &n);

for (int i = 1; i <= 10; ++i) {

printf("%d * %d = %d \n", n, i, n * i);

return 0;

////// Output ///////


Enter an integer: 9

9*1=9

9 * 2 = 18

9 * 3 = 27

9 * 4 = 36

9 * 5 = 45

9 * 6 = 54

9 * 7 = 63

9 * 8 = 72

9 * 9 = 81

9 * 10 = 90

Here, the user input is stored in the int variable n. Then, we use a for loop to print the multiplication
table up to 10.

for (i = 1; i <= 10; ++i) {

printf("%d * %d = %d \n", n, i, n * i);

The loop runs from i = 1 to i = 10. In each iteration of the loop, n * i is printed. Here's a little
modification of the above program to generate the multiplication table up to a range (where range is
also a positive integer entered by the user).

Multiplication Table Up to a range

#include <stdio.h>

int main() {

int n, i, range;

printf("Enter an integer: ");

scanf("%d", &n);

// prompt user for positive range

do {

printf("Enter the range (positive integer): ");

scanf("%d", &range);

} while (range <= 0);

for (i = 1; i <= range; ++i) {


printf("%d * %d = %d \n", n, i, n * i);

return 0;

////// Output //////

Enter an integer: 12

Enter the range (positive integer): -8

Enter the range (positive integer): 8

12 * 1 = 12

12 * 2 = 24

12 * 3 = 36

12 * 4 = 48

12 * 5 = 60

12 * 6 = 72

12 * 7 = 84

12 * 8 = 96

Here, we have used a do...while loop to prompt the user for a positive range.

// prompt user for positive range

do {

printf("Enter the range (positive integer): ");

scanf("%d", &range);

} while (range <= 0);

If the value of range is negative, the loop iterates again to ask the user to enter a positive number.
Once a positive range has been entered, we print the multiplication table.

You might also like