DEV Community

Chinwendu Agbaetuo
Chinwendu Agbaetuo

Posted on

Understanding and Exploring Temperature Conversion in C Programming

If you are new to programming and curious about the basics of C, you've come to the right place. In this article, we'll break down a simple C program that converts temperatures from Celsius to Fahrenheit. Don't worry if you're not familiar with programming concepts yet; we'll take it step by step.

The Code

Let's start by examining the code you provided:

#include <stdio.h>

int main(void)
{
    float fahr, celc;
    int lower, upper, step;

    lower = 0;
    upper = 300;
    step = 20;

    celc = upper;

    while (celc >= lower)
    {
        fahr = ((9.0 * celc) / 5.0) + 32;
        printf("%9s\n", "=================================");
        printf("|\t%3.0fF \t| %6.0fC\v\t|\n", fahr, celc);
        celc = celc - step;
    }

    return 0;
}

Enter fullscreen mode Exit fullscreen mode

Breaking Down the Code

1. Header Inclusion:

#include <stdio.h>
Enter fullscreen mode Exit fullscreen mode

This line includes the standard input-output library in C, allowing us to use functions like printf and scanf.

2. Function Definition:

int main(void)
Enter fullscreen mode Exit fullscreen mode

Every C program starts with a main function. The int before main indicates that the function returns an integer value. void inside the parentheses means that main takes no parameters.

3. Variable Declaration:

float fahr, celc;
int lower, upper, step;
Enter fullscreen mode Exit fullscreen mode

Here, we declare four variables: fahr and celc as floating-point numbers (for temperature values) and lower, upper, and step as integers.

4. Initializing Variables:

lower = 0;
upper = 300;
step = 20;
Enter fullscreen mode Exit fullscreen mode

The lower, upper, and step variables are given initial values. This program will convert temperatures from 0 to 300 degrees Celsius in steps of 20.

5. Conversion Loop:

celc = upper;

while (celc >= lower)
{
    // Temperature conversion formula
    fahr = ((9.0 * celc) / 5.0) + 32;

    // Output formatting
    printf("%9s\n", "=================================");
    printf("|\t%3.0fF \t| %6.0fC\v\t|\n", fahr, celc);

    // Update celc for the next iteration
    celc = celc - step;
}
Enter fullscreen mode Exit fullscreen mode

This is the heart of the program. It uses a while loop to iterate through the temperature conversion process. The formula (9.0 * celc) / 5.0 + 32 converts Celsius to Fahrenheit. The loop continues until celc is less than lower. The printf statements format and print the results.

6. Return Statement:

return 0;
Enter fullscreen mode Exit fullscreen mode

The main function returns an integer value (0 in this case) to the operating system, indicating the successful execution of the program.

Running the Program

To see the program in action, you can compile and run it using a C compiler such as GCC. Save the code in a file with a ".c" extension (e.g., "temperature.c") and run the following commands:

gcc temperature.c -o temperature && ./temperature
Enter fullscreen mode Exit fullscreen mode

You should observe a table displaying Fahrenheit and Celsius temperatures, starting from 300°C and decreasing in steps of 20°C.

=================================
|       572F    |    300C
                                |
=================================
|       536F    |    280C
                                |
=================================
|       500F    |    260C
                                |
=================================
|       464F    |    240C
                                |
=================================
|       428F    |    220C
                                |
=================================
|       392F    |    200C
                                |
=================================
|       356F    |    180C
                                |
=================================
|       320F    |    160C
                                |
=================================
|       284F    |    140C
                                |
=================================
|       248F    |    120C
                                |
=================================
|       212F    |    100C
                                |
=================================
|       176F    |     80C
                                |
=================================
|       140F    |     60C
                                |
=================================
|       104F    |     40C
                                |
=================================
|        68F    |     20C
                                |
=================================
|        32F    |      0C
                                |

Enter fullscreen mode Exit fullscreen mode

Conclusion

This simple C program serves as a great starting point for understanding basic programming concepts such as variables, loops, and output formatting. Experiment with the code, change values, and see how it affects the output. This hands-on approach will deepen your understanding of C programming and set you on the path to becoming a proficient programmer. Happy coding!

Top comments (0)