C programming book code : So I am reading the "C programming book" and I understand how this program functions, but, I don't understand one thing.

I don't understand how fahr is functioning as a variable.
does fahr have two values or one? Cause I thought once you write a value for a variable you can't change it unless you do the command strcpy. Maybe I am wrong, can some one help me clarify? 

Thanks~
Source:

    #include <stdio.h>
    #include <stdlib.h>

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

	lower = 0;
	upper = 700;
	step = 2;

	fahr = lower;
	printf("Fahrenheit\tCelsius\n");
	while (fahr <= upper) {
		celsius = (5.0/9.0) * (fahr-32.0);
		printf("%3.0f \t        %6.1f\n", fahr, celsius);
		fahr = fahr + step;
	}
    }