本实例提供了C语言控制台交互功能,程序启动时向屏幕输出,展示一个可选的温度转化菜单,菜单包含两项内容,一项是将摄氏度转换为华氏度,另一项是将华氏度转换为摄氏度。用户通过输入数字1或2进行选择温度转换的类型。
程序代码实现上,转换功能通过两个函数c2f和f2c实现。c2f实现了摄氏度转换为华氏度;f2c则实现了华氏度转换为摄氏度。代码描述如下图2所示。
两个函数的定义位于main函数之后,因此在main函数调用这两个函数之前,首先对它们进行了函数声明,声明代码如下
// 转换函数声明
float c2f(float);
float f2c(float);
这两个声明语句只提供了函数返回值类型、函数名称和参数类型,对于函数声明来说,这些信息已经足够了,编译器通过这些信息就可以正常编译调用这两函数的代码了。
程序的交互流程是在main函数中实现,main函数首先定义了两个浮点型变量f和c,分别用以存储用户输入的华氏度和摄氏度数值,另外在第23行定义了一个变量type,它是用以存储用户的输入选项:1或者2。程序执行时,scanf函数会将type变量进行赋值,if语句使用了type的数值进行判断当前程序需要执行的是哪一种温度转换,如果是选项1,则进行摄氏度向华氏度转换;否则进行反向转换。
执行完成选项1温度转换后,程序在此分支便会直接退出当前程序,代码第29行之后便不再执行;如果执行的不是选项1,那么整个程序会执行至main函数的最后一条语句,返回一个0值,表示执行成功。