建立一个C程序的过程,就是编写好一个C程序到完成运行得到正确的结果的过程。一般要结果以下四个步骤:
1.编辑:写代码,文件扩展名.c
2.编译:将代码翻译成二进制的计算机语言才能被计算机理解。
3.连接:将运行该程序需要的各种文件连接在一起。
4.运行:运行程序。
下面几个例子介绍C语言代码
#include<stdio.h>
int main()
{
printf("Hello,world!");
return 0;
}
第一行,告诉编译器调用stdio.h文件中的内容。printf函数是stdio.h文件里的函数,没有第一行的话,printf函数将无法使用。
第二行是定义一个函数。main是主函数,一个程序可以有多个函数,但只能有一个主函数,其他函数是在主函数运行过程中有需要时再跳转出去,执行完又回到主函数继续之前未执行的代码。
第三到六行,大括号{}内的代码是函数的具体执行内容,称为函数体。
C语言的每个语句都必须用分号结尾。理论上写代码可以不用换行(enter)与缩进(tab),只要有分号断句,计算机就可以识别并翻译代码。实际应用中换行和缩进只是为了方便人类自己读代码。
#include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
这个例子里定义了一个子函数,通过研究子函数可以辅助我们了解主函数的结构。
从主函数和子函数两个例子里,我们可以归纳出函数定义的格式:
函数回归值的数据类型 函数名(参数的数据类型 参数)
{
变量声明;
执行指令;
return(回归值);
}
子函数是主函数执行过程中根据需要而运行的程序,子程序运行结束后还要返回到主函数继续执行那些未执行的代码。
回归值就是(子)函数运行结束后,生成的可供其他(主)函数使用的值。
在上面的例子里,子函数的回归值是z,z是x和y里面较大的那个数。
在主函数中调用了子函数,子函数的结果值就是z(就是x和y之间较大的数),该值可用于主函数中的代码,上面例子里用来赋值。
其实,回归值可以理解为函数值,上面例子里的子函数就可以看成一个二元函数z=f(x,y)。
把子函数的规律应用到主函数中观察:主函数运行结束后不会返回到其他函数了,理论上没有必要再设置回归值了。实际上,也确实如此。即使不写return 0;程序也能正常运行。
写这句代码的意思是:如果主函数的回归值为0,说明主函数运行结束了,说明运行过程中没有出错。一旦出错,主函数的回归值就不会是0了。
只要运行了代码,就会执行主函数,因此主函数不需要参数。定义主函数时也有多种等价的表述:
//第一种
int main()
//第二种,void就是空的意思
int main(void)
//第三种
void main()