CLO 2P
POLITEKNIK SULTAN IDRIS SHAH
JABATAN KEJURUTERAAN ELEKTRIK
DEC20012 - PROGRAMMING FUNDAMENTALS
Title Repetitions Structure in C
Practical 4i
Work
Course DEP 2A / DEP 2B / DTK 2A / DTK 2B
Session June 2019
Direction: Complete the practical works. Consult with your lecturer for any
problem encountered.
OBJECTIVES :
Upon completion of this practical, students should be able:
1. To construct programs that uses for, while, do-while loop statements
2. To construct programs that use break, continue and goto statements
EQUIPMENTS :
1. Personal computer / Laptop
2. Dev-C++ software
Lab 4.1 Looping Structure (while)
Procedures:
4.1.1 Write the following programming below and try to understand it.
#include <stdio.h>
void main()
{
char chYes;
printf("Please insert character:");
chYes = getchar();
while (( chYes == 'y') || ( chYes == 'Y'))
{
printf("Malaysia Boleh\n");
fflush(stdin);
printf("Please insert character:");
chYes = getchar();
}
}
4.1.2 Write the above program and save it as Practical41. To compile, click on
4.1.3 Execute and choose Compile. Alternatively the program can be compiled
by using Ctrl + F9 hotkey.
To Run, simply click on Execute > Run. Alternatively hit the Ctrl + F10.
1
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Lab 4.2 Conditional Structure (do while)
Procedures:
4.1.4 Write the following programming below and save it as Practical42.
#include <stdio.h>
void main()
{
int nRM50, nRM10, nRM5, nRM1, n50sen, n20sen, n10sen, n5sen, n1sen;
float fTotal=0.00;
char chrChoice;
do {
printf("\nHow many notes/coin do you have for the following currency:\n");
printf("RM 50: ");
scanf("%d", &nRM50);
printf("RM 10: ");
scanf("%d", &nRM10);
printf("RM 5: ");
scanf("%d", &nRM5);
printf("RM 1: ");
scanf("%d", &nRM1);
printf("50 Sen: ");
scanf("%d", &n50sen);
printf("20 Sen: ");
scanf("%d", &n20sen);
printf("10 Sen: ");
scanf("%d", &n10sen);
printf("5 Sen: ");
scanf("%d", &n5sen);
printf("1 Sen: ");
scanf("%d", &n1sen);
fTotal = ((nRM50 * 50) + (nRM10 * 10) + (nRM5 * 5) + (nRM1 * 1) + (n50sen *
0.50) + (n20sen * 0.20) + (n10sen * 0.10) + (n5sen * 0.05) + (n1sen * 0.01));
printf("\nYour total money is: RM %.2f", fTotal);
printf("\nDo you want to continue (Y/N): ");
scanf("%s", &chrChoice); }
while (toupper(chrChoice) == 'Y');
}
2
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Lab 4.3 Conditional Structure (for)
Procedures:
4.1.5 Write the following programming codes below and save it as Practical43.
#include <stdio.h>
char strName[50];
int nMarks[4], ctIndex;
float fAverage;
void main()
{
printf("\nInsert your name: ");
scanf("%s", &strName);
for(ctIndex = 1;ctIndex < 4;ctIndex = ctIndex + 1)
{
printf("\nInsert marks %d: ",ctIndex);
scanf("%d", &nMarks[ctIndex]);
}
fAverage= ((nMarks[1] + nMarks[2] + nMarks[3])/3);
printf("\nThe average marks for %s is: %.2f", strName, fAverage);
getch();
}
Lab 4.4 Break statement
Procedures:
4.1.6 Break statement can be used to exit from a loop. This is particularly useful
when a certain condition has been met other than the loop end condition.
4.1.7 Write the following programming below and save it as Practical44.
#include<stdio.h>
int main()
{
int i;
i = 0;
while ( i < 20 )
{
printf("\n i:%d ", i);
i++;
if ( i == 10)
break;
}
system("pause");
return 0;
}
4.1.8 Continue with the second example below which uses the break statement
to terminate a loop whenever the input is negative.
3
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
#include <stdio.h>
int main()
{
float num,average,sum;
int i,n;
printf("Maximum no. of inputs\n");
scanf("%d",&n);
for(i=1;i<=n;++i)
{
printf("Enter n%d: ",i);
scanf("%f",&num);
if(num<0.0)
break; //for loop breaks if num<0.0
sum=sum+num;
}
average=sum/(i-1);
printf("Average=%.2f",average);
system("pause");
return 0;
}
LAB 4.5 Continue Statement
Procedures:
4.1.9. Write the following programming codes as shown below and try to
understand it.
#include<stdio.h>
int main()
{
int i;
i = 0;
while ( i < 20 )
{
printf("\n i:%d ", i);
i++;
continue;
printf("Nothing to see\n");
}
system("pause");
return 0;
}
4.1.10 Continue statement skip the rest of the commands in the current loop and
start from the top again. Note that the loop variable is still incremented.
4.1.11 Continue with the next example below. 4
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
#include <stdio.h>
int main()
{
int i,num,product;
for(i=1,product=1;i<=4;++i)
{
printf("Enter num%d:",i);
scanf("%d",&num);
if(num==0)
continue; / *In this program, when num equals to zero, it skips
the statement product*=num and continue the loop. */
product*=num;
}
printf("product=%d",product);
system("pause");
return 0;
}
LAB 4.6 Goto Statement
Procedures:
4.6.1 Write the following programming codes as shown below and try to
understand it.
#include <stdio.h>
int main()
{
float num,average,sum;
int i,n;
printf("Maximum no. of inputs: ");
scanf("%d",&n);
for(i=1;i<=n;++i)
{
printf("Enter n%d: ",i);
scanf("%f",&num);
if(num<0.0)
goto jump; /*control moves to label jump */
sum=sum+num;
}
jump:
average=sum/(i-1);
printf("Average: %.2f",average);
system("pause");
return 0;
}
5
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
4.6.2 Continue with the next example below.
#include <stdio.h>
int main ()
{
int a = 10;
LOOP:
do
{
if( a == 15)
{
a = a + 1;
goto LOOP;
}
printf("value of a: %d\n", a);
a++;
}while( a < 20 );
system("pause");
return 0;
}
6
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Lab 4.7 Now you try!
Procedures:
4.1.12 By taking Lab 4.1 until Lab 4.6 into consideration, solve the following task.
4.1.13 Write your codes by using Dev-C++ software and check for any errors.
4.1.14 Rewrite your codes in the spaces provided.
Task A (while statement)
Write a program that will print the countdown from 5 to 0 by using while
statement. Output sample:
5
4
3
2
1
0
Boom!!
Answer:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
7
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Task B (do-while statement)
Modify the program in Task A so that instead of printing the countdown from
5 to 0, your program will now print the countdown of any number (n) given by
the user but this time by using do-while statement. For example:
Please enter a number: 7
7
6
5
4
3
2
1
0
Boom!!
Answer:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
8
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Task C (for statement)
Modify the program in Task B so that your program will only read positive
integer n given by the user, computes and prints the sum of all integers
between 1 and n but this time by using for statement.
Answer:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
9
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Task D (for statement)
Enhance the program in Task C so that your program will only read positive
integer n given by the user, computes and prints the sum of all integers
between 1 and n that is divisible by 3. Include appropriate input validation
in your program. Use for statement.
Answer:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
10
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Task E (break & goto statement)
Write a program to calculate the summation of maximum 10 numbers. If a
negative number is entered, use break statement to terminate the loop and
display the sum. Ask the user if they wishes to restart the program all over
again and apply goto statement to transfer control to the beginning of the
program.
Answer:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
[80 Marks]
11
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
Questions (Answer all questions)
1. Which of the following is NOT a looping statements?
a) for
b) do while
c) while
d) repeat until
2. The following flowchart represents which control structure in C?
(a) If/else selection structure
(b) Switch/case selection structure
(c) While repetition structure
(d) Do/While repetition structure
3. What does the following code block while (x<100) meant?
a) While x is less than one hundred
b) While x is greater than one hundred
c) While x is equal to one hundred
d) While it wishes
4. Imprudent use of goto statement leads to?
a) Unstructured spaghetti code
b) Infinite loop
c) Break statement
d) None of the above
5. What is the final value of x when the code for (int x=0; x<10; x++) is executed? 12
a) 10
b) 9
c) 0
d) 1
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
6. “Repeat the section of your program based on a specified number of times.”
The above statement is referring to
a) for
b) if
c) if-else
d) switch-case
7. What do you think will be the output of the code below?
#include<stdio.h>
void main()
{
int i;
for(i=0;i<10;i++)
printf("%d ",i);
}
a) 0 1 2 3 4 5 6 7 8 9
b) 0 1 2 3 4 5 6 7 8
c) 1 2 3 4 5 6 7 8 9
d) 1 2 3 4 5 6 7 8
8. Which of the following statements are TRUE about DO-WHILE loop statements?
i. It is also known as exit controlled loop
ii. It is an entry controlled loop.
iii. The body of loop will be executed at least once even if the test condition is
false.
iv. If test condition is initially false the body of loop is not executed at all.
a) i and iii
b) i and iv
c) ii and iii
d) ii and iv
13
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4
CLO 2P
9. How many times does x value is being tested in the code below?
#include <stdio.h>
int main()
{
int x = 0;
while (x<3)
i++;
printf("DEC2012 Is Fun!\n");
}
a) 2
b) 4
c) 3
d) 1
10. Choose the value of NUM so that the output would be 6:
#include<stdio.h>
int main()
{
int i,
for(i = NUM; i>4;i -=2)
{
printf(“%d”, i);
}
return(0);
}
a) 6
b) 4
c) 2
d) 8
Prepared by: Checked by: Approved by:
………………………………… ………………………………… …………………………………
() () ()
14
PSIS / JKE / DEC20012 – PROGRAMMING FUNDAMENTALS / PRACTICAL WORK 4