DAVID J.马兰:正如你可能知道, 温度测量使用 在不同的尺度不同 部分世界。 举例来说,212华氏度 100度和32度 华氏摄氏0度。 那岂不是很好,如果我们有一台电脑 程序,使我们能够 ,比如说,从华氏温度转换 为摄氏? 好了,我们可以编写程序。 让我们先从包括cs50.h, 这样我们就可以使用一个调用的函数 获得浮动,其中,像GET诠释,得到了 从用户数,但这时一 浮点数 - 1 带小数点。 让我们也包括标准IO.H 让我们有机会获得 功能,如打印f。 而且,我们还主要申报 在通常的方式。 让我们接下来提示用户 在华氏温度。 现在,让我们真正享受温度 从用户,首先通过 声明一个变量叫 F型浮动。 一个浮点,再次,这意味着一个变量, 存储一个浮点值, 一个有小数点。 让我们为它分配的回报 GET持股价值。 然后让我们来计算一下的 就可以了,先声明再浮 称为C为摄氏和存储在C 一些常见的算术结果。 5.0除以9.0倍f零下32.0。 现在,让我们打印出结果 这个计算。 百分比的F - 标志着一个占位符 浮点值 - 逗号C到打印出来的 摄氏温度。 让我们来拯救我的决赛。 编译F到C。运行程序 用点斜线F到C。 让我们试试这些共同 温度。 在华氏212度 是100摄氏度。 在华氏32度是 0度左右。 现在,让我们完善这个程序的一个小 通过不相当印刷尽可能多的0位 之后小数位。 要做到这一点,我要去 回到第11行。 和而不是仅仅指定百分比楼 我要改为指定比如说 0.1楼通知打印F I只 要打印一个浮点值 到小数点后一个值。 让我们重新保存我的程序。 用make F到C。重新编译它然后 用点斜线F到C。并重新运行它 让我们再试一次,比方说,212, 这给了我100.0。 现在值得注意的是,我做了 东西很刻意在第9行。 注意我是如何写5是5.0,9 为9.0,甚至32为32.0。 好了,前两个这些值分别为 很刻意挑选为 浮点值,不只是因为 与其余的一致性 我的计划 - 这显然​​涉及到浮动 点值 - 但因为事实证明,C,如果你 另一个整数除以一个int时, 你会得到导致的答案是 本身一个int,即使这意味着 不必扔掉一切 小数点后。 换句话说,如果我改变这个5.0〜 5或此9.0到9,然后重新保存 我的程序,重新编译使用make F到C, 然后用点斜线f重新运行它 C和类型的像212的输入, 注意,答案我要去 得到这个时间其实是非常错误的。 0.0不正确的程度 作为摄氏华氏212。 那么,这是怎么回事? 那么,在第9行,因为5现在是一个 整数,因为9是现在的 整数,结果数学 应该是0.5555等等。 但由于结果,根据 C'S规则,必须是一个整数,即 0.5555被扔掉, 留给我们的只是0。 所以,最后,我结束了乘 很意外地0倍f减 32.0,这是无论什么 总是要给我0。 所以千万要记住,任何时候使用 在接近浮点值 整数,你不一定 所以你期望得到的答案。 所以要小心使用,因为我在做 第一种情况下,浮点值 在整个以避免任何此类问题。