程序

程序可以通过函数来类比。

函数

y = f(x) = x + 2

写成程序就是

int f(int x) //int:整数,integer;第一个int表示返回值y是整数,第二个int表示输入变量x是整数。
                  //f是函数名,也可以是其他任意名字。
{
	return x + 2; //return:返回。返回x+2
}

双斜杠"//"为注释符,注释符和后面的内容单片机会自动忽略,写不写对程序没有任何影响。注释是为了让我们自己看的更明白。

int f(int x) 可以看成程序的头,{}和里面的内容可以看成程序的身子,它们是一个整体,要注意这个格式。

可以看到两者是非常类似的,唯一的不同就是程序对数据x和y的数据类型都做了限制,都要求是整数(int)。

除了整数(int),还可以要求是小数(double)。

还有一些程序很特殊,都不需要y输出,那么程序可能是这样

void f(int x) //void:空的
{
	//这里是内容
}

甚至有些程序x也不需要

void f() //括号里啥也没有
{
	//这里是内容
}

比如很多单片机的主程序就是这样的

void main() //
{
	//这里是内容
}

main(主要),也是函数名,表示主函数。但这个名字不能写成别的,它表示程序入口。单片机运行首先找它,它调用别的函数再去执行别的函数,不调用就不执行了。

比如下面这个程序

void f1() //没有被调用,不会被执行
{
	
}
void f2()  //第三步:执行f2
{
	
}
void main() //第一步:程序运行时先找到这里
{
	f2();   //第二步:运行到这里时调用了f2
	//其他语句   //第四步:执行完f2继续执行main里面的其他语句
}

自始至终f1都没有被用到,因此不会被执行。当你编译程序时会出现一个警告(warning),但不会报错(error).


其他的一些形式

需要注意的是,上面的程序格式有时候更加灵活,比如如果内容语句只有一句的时候,可以把{}省略

if(x==1) //如果x等于1
	x=x+1; // x变为2。 只有一句话,所以可以省略掉{}

甚至有些函数没有任何执行内容,直接以分号结束

   while(x==1); //当x等于1的时候,就不断的执行空语句(实际如果x==1,就进入了死循环)

或者括号里直接写1(1就是true,表示为真)

   while(1); //死循环。
============================找指导老师布置任务吧==============================