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位数字.

 

posted @   CODESYS资源大全  阅读(286)  评论(0)    收藏  举报
编辑推荐:
· C# 模式匹配全解:原理、用法与易错点
· 记一次SSD性能瓶颈排查之路——寿命与性能之间的取舍
· 理解 .NET 结构体字段的内存布局
· .NET 9中的异常处理性能提升分析:为什么过去慢,未来快
· 字符集、编码的前世今生
阅读排行:
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(五):使用.NET为树莓派
· C# 模式匹配全解:原理、用法与易错点
· 杂七杂八系列----C#代码如何影响CPU缓存速度?
· 知识图谱技术概述
· C#/.NET/.NET Core优秀项目和框架2025年5月简报
点击右上角即可分享
微信分享提示