The next program we're going to look at is a program that converts from Fahrenheit to Celsius degrees. So remember the Fahrenheit scale, for example, for ice that's 32 degrees but Celsius, which is little more logical, it's in meter system and we go from zero, which is ice to boiling water, which is a 100, which in Fahrenheit would be 212. It's a little hard to do that in your heads. So we're going to just write a little program. The reason we're going to do that program is that it illustrates a number of principles that we find in the C language, and indeed it's one of the early programs. A form of it is an early program in the great classic C programming language by Kernighan and Ritchie, and of course, I remember Ritchie, is the inventor of the language. There's a lot to learn. So if you're going to get serious about the C language, it's definitely a book you want to consider on your bookshelf. Now, as before, we're going to do input output, and the character of the program is we're going to ask you to type in a Fahrenheit temperature, and then the conversion will be to a Celsius temperature. Int main void, of course, main, by convention is where we always start our program. So a C programs should always have a main, and technically it's tight. Its return type is integer. We're going to use, though if we wanted more scientific precision, we might use double, but in this case we're going to use int, as a basic type for Fahrenheit and Celsius. Then we're going to be polite and asking for data entry. Please enter your Fahrenheit as an integer, and notice again for the moment, if you don't fully understand it, the scanf, which gets us input. We have a format of percent d which is a format for integer, and then we use this fancy symbol called ampersand, and the ampersand means, shove it in the address of Fahrenheit. We can't say Fahrenheit without the ampersand, because Fahrenheit is a variable, and if we said Fahrenheit, we would look for the value in that variable. In this case, we want to look for the address of that variable, and addresses location in memory. Then here we do the computation. Celsius is Fahrenheit minus 32, and is divided by 1.8, or equivalently we could have multiplied by five-ninths. That's a conversion. When I say note conversion, that little comment, means that this expression is actually going to be done as a double because the constant 1.8 is a literal double. Even though this isn't an integer, and then this all gets done as a double and then gets reconverted to an integer. So there are what are called silent conversions going on. We will have to understand them. They're often confusing for the beginner. Finally, we use a printf, and we have again, in that printf, we have two places where we're going to output integers. So we're going to output an integer percent d of Fahrenheit, percent d of Celsius. Both will be integers, and return zero is just the clear way even though it could be omitted that says, we finished with main and everything is okay. Let's actually do a conversion. I think I already compiled it. So a.out, or let me just clear the screen. For example 32, and that would be 32 Fahrenheit is zero Celsius. See it a little better. I'm going to clear the entire screen. I will run my executable again. Let's see what happens if we do boiling Fahrenheit, boiling water. So that's a 100. If we were to do some random thing in the middle, currently where I'm sitting is about 92 degrees Fahrenheit, so Celsius, that would be 33. Okay. That program shows us how to use simple variables, how to compute simple expressions, and how to do input and output. Well, it's not exactly the Kernighan and Ritchie program, it is very close. If you go to Kernighan and Ritchie, what would be added in their version of the program, a little more sophisticated, and we're not ready for that. They do a while loop and print a whole table.