define _CRT_SECURE_NO_WARNINGS#includestdio.h#defineSCALE_FACTOR(5.0f/9.0f)#defineFREEZING_PT32intmain(void){floatfahrenheit;//代码即注释printf(Enter Fahreneit temparature:);scanf(%f,fahrenheit);floatcelsiusSCALE_FACTOR*(fahrenheit-FREEZING_PT);//魔法数字printf(Celsius equivalent: %.1f\n,celsius);return0;}这是一个华氏温度转摄氏温度的 C 语言入门程序整体逻辑是用户输入一个华氏度数值程序自动计算并输出对应的摄氏度数值。第 1 行#define_CRT_SECURE_NO_WARNINGS这是 Visual Studio 编译器的专属配置。VS 默认认为scanf这类传统 C 函数 “不安全”不加这行代码编译会直接报错。加上它之后就能正常使用 C 语言标准的输入输出函数了。**第2行**c#includestdio.h引入标准输入输出头文件。 stdio.h 里封装了printf打印文字、scanf读取输入这些基础功能。不写这一行程序就不认识printf和scanf无法运行**第4~5行**c#defineSCALE_FACTOR(5.0f/9.0f)#defineFREEZING_PT32宏定义可以理解成 “给固定数值起个好记的名字”SCALE_FACTOR 对应换算系数 5÷9是华氏转摄氏的核心比例FREEZING_PT 对应 32代表水的冰点0 摄氏度 32 华氏度好处代码可读性更强看到名字就知道数字的含义避免 “裸数字”也叫魔法数字后续要改数值只改宏定义这一处就行补充5.0f 里的f表示这是单精度浮点数保证除法是小数运算不会出现整数除法的错误。第 7 行intmain(void){ 定义变量。 声明了一个叫fahrenheit的float类型变量浮点型用来存带小数的数字专门用来存放用户输入的华氏温度。// 后面是注释写给人看的编译器会直接忽略不影响程序运行。**第9行**cprintf(Enter Fahrenheit temparature:);在控制台打印提示文字。执行后屏幕上会显示双引号里的内容Enter Fahrenheit temparature:用来提示用户该输入数字了。第 10 行scanf(%f,fahrenheit);%f 是格式控制符告诉程序 “我要读取一个浮点数小数”fahrenheit 里的是取地址符意思是把用户输入的数值存到fahrenheit这个变量对应的内存里。scanf必须拿到地址才能把值存进去这是入门很容易忘的点。第 12 行floatcelsiusSCALE_FACTOR*(fahrenheit-FREEZING_PT);//魔法数字核心计算逻辑执行华氏度转摄氏度的公式。数学公式摄氏度 (5/9) × (华氏度 - 32)代码里用宏替换后等价于celsius (5.0f/9.0f) * (fahrenheit - 32)同时定义了变量celsius把计算结果直接存进去。第 14 行printf(Celsius equivalent: %.1f\n,celsius);输出计算结果。%.1f 表示以浮点数格式输出保留 1 位小数\n 是换行符输出完结果后光标自动换到下一行最终效果类似Celsius equivalent: 25.0第 15 行return0;主函数返回值。返回整数 0 给操作系统表示程序正常执行、成功结束。如果返回非 0 数字一般代表程序异常退出程序完整执行流程屏幕弹出提示文字让用户输入华氏温度等待用户输入数字并存入变量按照公式计算出摄氏温度把结果打印到屏幕上程序正常结束