## DEV Community

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;
}

``````

## Breaking Down the Code

``````#include <stdio.h>
``````

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)
``````

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;
``````

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;
``````

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;
}
``````

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;
``````

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
``````

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
|

``````

## 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!