1.2 变量与算数表达式
使用公式℃=(5/9)(℉-32)打印华氏温度与摄氏温度对照表.
1 #include<stdio.h> 2 main() 3 { 4 int fahr, celsius; 5 int lower, upper, step; 6 7 lower = 0; 8 upper = 300; 9 step = 20; 10 fahr = lower; 11 while (fahr<=upper) 12 { 13 celsius = 5 * (fahr - 32) / 9; 14 printf("%d\t%d\n", fahr, celsius); 15 fahr = fahr + step; 16 } 17 }
在C语言中,所有变量必须先声明后使用.声明通常放在函数的其实处,在任何可执行语句之前.声明用于说明变量的属性,它由一个类型名和一个变量表组成.例如:
int fahr, celsius; int lower, upper, step;
int类型通常为16位,取值范围-32767~32768.
float类型通常为32位,至少有6位有效数字取值范围10-38~1038.
celsius = 5 * (fahr - 32) / 9;
之所以将表达式写成先乘5然后再除以9而不是直接写成5/9,其原因是在C语言及许多其他语言中,整数除法操作将执行舍位,结果中的任何小数部分都会被舍弃.5/9的结果为0.
上述程序有两个问题:
1.由于输出不是右对齐的,所以输出结果不是很美观.如果在%d中指明打印宽度,则打印的数字会在打印区域内右对齐.
printf("%3d %6d\n", fahr, celsius);
2. 由于使用整型算数运算,因此经计算得到的摄氏温度不精确,为了得到更精确的结果,应该用覅点算术运算代替整数算数运算.
1 #include<stdio.h> 2 main() 3 { 4 float fahr, celsius; 5 int lower, upper, step; 6 7 lower = 0; 8 upper = 300; 9 step = 20; 10 fahr = lower; 11 while (fahr<=upper) 12 { 13 celsius = (5.0 / 9.0)* (fahr - 32.0 ); 14 printf("%3.0f %6.1f\n", fahr, celsius); 15 fahr = fahr + step; 16 } 17 }
%3.0f表明浮点数至少占3个字符宽,且不带小数点和小数部分.%6.1f表明浮点数至少占6个字符宽,且小数点后面有1位数字.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C# 模式匹配全解:原理、用法与易错点
· 记一次SSD性能瓶颈排查之路——寿命与性能之间的取舍
· 理解 .NET 结构体字段的内存布局
· .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
· 字符集、编码的前世今生
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派
· C# 模式匹配全解:原理、用法与易错点
· 杂七杂八系列----C#代码如何影响CPU缓存速度?
· 知识图谱技术概述
· C#/.NET/.NET Core优秀项目和框架2025年5月简报