算术的c语言程序设计,C 程序设计:变量与算术表达式

简明现代魔法 -> C/C++ -> C 程序设计:变量与算术表达式

C 程序设计:变量与算术表达式

2010-02-12

问题:使用公式 C = (5/9)(F-32) 打印下列华氏温度与摄氏温度对招表:

0, -17

20, -6

40, 4

60, 15

80, 26

100, 37

120, 48

140, 60

160, 71

180, 82

200, 93

220, 104

240, 115

260, 126

280, 137

300, 148

我比较熟悉 Java,先用 Java 把程序写一遍吧:

public class temperature {

public static void main(String[] args){

int fahr, celsius;

int lower, upper, step;

lower = 0;

upper = 300;

step = 20;

fahr = lower;

while(fahr <= upper){

celsius = 5 * (fahr-32) / 9;

System.out.println(fahr + ", " + celsius);

fahr = fahr + step;

}

}

}

C 程序代码如下:

#include

main()

{

int fahr, celsius;

int lower, upper, step;

lower = 0; /* 温度表下限 */

upper = 300;/* 温度表上限 */

step = 20;/* 步长 */

fahr = lower;

while(fahr <= upper)

{

celsius = 5 * (fahr-32) / 9;

printf("%d\t%d\n", fahr, celsius);

fahr = fahr + step;

}

}

在 C 语言中,所有变量都必须先声名后使用。声名一般都要放在函数起始处,在任何可执行语句之前。声名的主要用途就是说明变量的属性,它由一个类型名和一个变量表组成:

int fahr, celsius;

int lower, upper, step;

在这个程序中,最先执行下列4个赋值语句:

lower = 0; /* 温度表下限 */

upper = 300;/* 温度表上限 */

step = 20;/* 步长 */

fahr = lower;

它们的作用就是为变量设置初值。

温度转换的各行计算方式都是相同的,所以可以用循环语句重复输出各行。

从本程序也可以看得出 printf() 函数的一些功能。printf() 是一个通用输出格式化函数,它的第一个参数是待打印的字符串,其中每个百分号表示其它参数进行替换的位置,并指定打印的格式。比如这里 %d 指定一个整形参数。

printf("%d\t%d\n", fahr, celsius);

用于打印两个整数 fahr 与 celsius 的值,并在两者之间留一个制表符空间 \t。

由于我们使用整型算术运算,因此计算得到的摄氏温度值是不太精确的。要得到精确的结果,需要使用浮点算术运算。

#include

main()

{

float fahr, celsius;

int lower, upper, step;

lower = 0; /* 温度表下限 */

upper = 300;/* 温度表上限 */

step = 20;/* 步长 */

fahr = lower;

while(fahr <= upper)

{

celsius = (5.0/9.0)*(fahr-32.0);

printf("%3.0f %6.1f\n", fahr, celsius);

fahr = fahr + step;

}

}

在 printf() 函数中,%3.0f 表示变量 fahr 至少占3个字符宽,且不带小数点和小数部分。%6.1f 表示变量 celsius 至少占6个字符宽,且小数点后面有1位数字。

程序运行结果为:

0 -17.8

20 -6.7

40 4.4

60 15.6

80 26.7

100 37.8

120 48.9

140 60.0

160 71.1

180 82.2

200 93.3

220 104.4

240 115.6

260 126.7

280 137.8

300 148.9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值