当前位置: 首页 > news >正文

c语言的输入以及 为常量定义名字

define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#defineSCALE_FACTOR(5.0f/9.0f)#defineFREEZING_PT32intmain(void){floatfahrenheit;//代码即注释printf("Enter Fahreneit temparature:");scanf("%f",&fahrenheit);floatcelsius=SCALE_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#include<stdio.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 行`

floatcelsius=SCALE_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 数字,一般代表程序异常退出

程序完整执行流程
屏幕弹出提示文字,让用户输入华氏温度
等待用户输入数字,并存入变量
按照公式计算出摄氏温度
把结果打印到屏幕上
程序正常结束

`

http://www.jsqmd.com/news/1141087/

相关文章:

  • DAB单移相控制、双有源桥DCDC变换器(电压闭环)仿真(附参考文献)
  • 2026年干细胞行业观察:细胞存储与健康管理服务的合规边界
  • 随机社会常识题 [31000 题库] 免费 API 接口教程
  • AD5593R与R7FA4M3AF3CFB144的硬件协同设计与优化
  • 碧蓝航线自动化脚本:5分钟快速上手的智能游戏管家
  • 笔记 作业
  • 计算机毕业设计之基于大数据的Python的基金数据分析
  • 如何高效使用智能Minecraft启动器:Plain Craft Launcher 2专业指南
  • 【混动车】基于模型预测控制MPC与动态规划DP在全混合动力自动驾驶汽车中燃油消耗最小化的比较附Matlab代码和报告
  • 终极指南:如何在无Google服务的手机上免费使用YouTube等热门应用
  • 如何快速在Windows中预览iPhone的HEIC照片缩略图
  • 24位高精度ADC与MCU数据采集系统设计实战
  • 从源码审计到渗透实战:PHP应用漏洞挖掘与组合利用深度解析
  • Blender 3MF插件:解决3D打印工作流数据丢失问题的专业解决方案
  • 27国考省考笔试,临汾星途径如何用科学备考体系帮助考生高效进阶?
  • 进程控制:exec 函数族
  • 数据产业服务分类(41)——分类设计过程与实现——国内外分类标准
  • 基于TPA3128D2的高效D类音频放大器系统设计
  • XDevelop:下一代智能开发平台,重塑软件开发体验
  • Paperxie 毕业论文智能写作功能|一站式搞定本科硕博论文,告别熬夜凑稿难题
  • 3个理由告诉你为什么macOS玩家都在用HSTracker:炉石传说套牌追踪器的秘密武器
  • 如何用3分钟让GitHub界面说中文:开发者语言障碍的终结方案
  • [极客大挑战 2019]EasySQL 思路及解法
  • 【计算机Java毕业设计案例】基于 SpringBoot 的博物馆分时预约管理系统的设计与实现 基于前后端分离的博物馆参观客流管理系统(程序+文档+讲解+定制)
  • 零基础入门漏洞挖掘:从核心原理到实战环境搭建
  • PyTorch MSE Loss 维度不匹配:从 2048 vs 2088 报错到 3 步精准定位法
  • 有电就能装,无网也能联——老旧社区门禁改造的“微创手术”方案全解析
  • 哌柏西利疲乏不良反应:临床发生率、诱因与居家干预方案
  • AI 推理服务镜像分层:基础层、依赖层和模型层要分开打
  • 数据产业服务分类(42)——框架设计——概述