Is there a difference between for
and while
statements? Is it just syntax?
#include <stdio.h>
void main() {
int cent_temp = 0;
int fah_temp;
while (cent_temp <= 20) {
fah_temp = (9 * cent_temp) / 5 + 32;
printf("%d degrees C = %d degrees F\n", cent_temp, fah_temp);
cent_temp++;
}
}
This means to me....
While the value of cent_temp
is less than 20
then calculate fah_temp
. Then increase the value of cent_temp
by 1
and check it is still less than 20
; then go round the loop again.
Regarding the syntax:
printf("%d degrees C = %d degrees F\n", cent_temp, fah_temp);
This means %d
means print to the screen, replace with a decimal number the value of cent_temp
and %d
means replace with a decimal number the value of fah_temp
.
#include <stdio.h>
void main() {
int cent_temp;
int fah_temp;
for (cent_temp = 0; cent_temp <= 20; cent_temp++) {
fah_temp = (9 * cent_temp) / 5 + 32;
printf("%2d degrees C = %2d degrees F\n", cent_temp, fah_temp);
}
}
My interpretation of the above is:
for cent_temp
= 0
repeat while cent_temp
less than 20
and then execute cent_temp+1
at the end. So cent_temp
0
goes into the loop to calculate fah_temp
and gets printed to the screen. Then cent_temp
goes up by one then goes round the loop again. Here I've used %2d
instead of %d
to signify that it should have 2 spaces for a decimal number (and they line up when executed). Both codes will not execute if cent_temp > 20
.
Similarly rearranging the statement in a do
while
loop has a similar effect and doesn't really have an impact on the result.
Does each type of loop have a different application?
Please correct me if I wrong!