例程1-1 求阶乘问题。输入一个正整数n,输出n!。
#include <stdio.h> //编译预处理命令 int factorial (int n); //函数声明 int main() //主函数 { int n; //变量定义 scanf("%d",&n); //输入一个整数 printf("%d\n",factorial(n)); //调用函数计算阶乘 return 0; } int factorial (int n) //定义计算n!的函数 { int i, fact=1; for(i=2; i<=n; ++i) fact*=i; return fact; }
所有的C程序都有且只有一个mian()函数。C程序从main()函数处开始运行,当main()函数结束时,程序也就结束了。对于上述例子,程序先执行main()函数中的scanf()函数调用,输入数据n,然后调用printf()函数,输出结果。当调用printf()函数时,必须要先知道所要输出的数据,即factorial(n)。因此,此时发生了对factorial()函数的调用(Call),调用该函数所获得的结果作为printf()函数的参数(Argument),由printf()函数负责将该值按十进制整数(%d)的形式输出。
变量都有类型,并在内存中占有一定的空间,例如在Visual C++中,整数变量占用4个字节的空间。因此,每个整数都有一定的取值范围。