本节书摘来自异步社区《C Primer Plus(第6版)中文版》一书中的第2章,第2.5节,作者 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.5 进一步使用C
本章的第1个程序相当简单,下面的程序清单2.2也不太难。
程序清单2.2 fathm_ft.c程序
// fathm_ft.c -- 把2英寻转换成英尺
#include <stdio.h>
int main(void)
{
int feet, fathoms;
fathoms = 2;
feet = 6 * fathoms;
printf("There are %d feet in %d fathoms!\n", feet, fathoms);
printf("Yes, I said %d feet!\n", 6 * fathoms);
return 0;
}
与程序清单2.1相比,以上代码有什么新内容?这段代码提供了程序描述,声明了多个变量,进行了乘法运算,并打印了两个变量的值。下面我们更详细地分析这些内容。
2.5.1 程序说明
程序在开始处有一条注释(使用新的注释风格),给出了文件名和程序的目的。写这种程序说明很简单、不费时,而且在以后浏览或打印程序时很有帮助。
2.5.2 多条声明
接下来,程序在一条声明中声明了两个变量,而不是一个变量。为此,要在声明中用逗号隔开两个变量(feet和fathoms)。也就是说,
int feet, fathoms;
和
int feet;
int fathoms;
等价。
2.5.3 乘法
然后,程序进行了乘法运算。利用计算机强大的计算能力来计算6乘以2。C语言和许多其他语言一样,用*表示乘法。因此,语句
feet = 6 * fathoms;
的意思是“查找变量fathoms的值,用6乘以该值,并把计算结果赋给变量feet”。
2.5.4 打印多个值
最后,程序以新的方式使用printf()函数。如果编译并运行该程序,输出应该是这样:
There are 12 feet in 2 fathoms!
Yes, I said 12 feet!
程序的第1个printf()中进行了两次替换。双引号后面的第1个变量(feet)替换了双引号中的第1个%d;双引号号后面的第2个变量(fathoms)替换了双引号中的第2个%d。注意,待输出的变量列于双引号的后面。还要注意,变量之间要用逗号隔开。
第2个printf()函数说明待打印的值不一定是变量,只要可求值得出合适类型值的项即可,如6 * fathoms。
该程序涉及的范围有限,但它是把英寻[5]转换成英尺程序的核心部分。我们还需要把其他值通过交互的方式赋给feet,其方法将在后面章节中介绍。