capl语法基于C语言,允许使用以下指令、表达式和运算符
指令
{…}
完整的一段函数体需要用中括号括起来
void func1()
{
if ()
{
...
}
}
if…else…
判断语句if…else…,一般用来判断是或非两种情况,当然也可以通过else if添加更多情况,一般有三种用法
- if
使用场景:如果…就…
void func1(int a)
{
if (a == 1)
{
...
}
}
- if…else…
使用场景:如果…就…,否则就…
void func1(int a)
{
if (a == 1)
{
...
}
else
{
...
}
}
if…else…用在非他即她的情况,但是要注意:如果满足了if的条件,就会执行if下面的函数体,不可能再去到else那判断和执行了
- if…else if…else…
使用场景:如果…就…,否则如果…就…,否则就…
void func1(int a)
{
if (a == 1)
{
...
}
else if (a == 2)
{
...
}
else
{
...
}
}
if…else if…else…用在三种以上的情况,当然,如果还有四种五种等等,可以继续在里面用else if加判断条件
if…else…是从上到下依次判断,如果满足了其他的某一个条件,则下面的其他情况就不会去判断和执行了
switch, case, default
switch…case…default…也是用于判断情况,它其实比if…else…更适合于多种情况的判断
void func1(int a)
{
switch(a)
{
case(1):
...
break;
case(2):
...
break;
case(3):
...
break;
default:
...
break;
}
}
switch()里面要放入的是要判断的变量,case()里放入的是变量等于的值,满足的话就执行case里的函数体,如果所有case都不满足,则最终执行default里的函数体,每一个case和default的最后都要有break,来让程序跳出switch…case…
switch…case…default…也是从上往下判断,如果满足,就不会再判断下面的条件了,执行完就会退出整个的switch…case…
for…, while…, do…while loops
这三个是循环语句,满足里面的条件就会一直执行,所以必须要有不满足的时候,否则就会形成死循环,程序永远无法结束了
- for…
for()里面放入可以循环执行的条件,而且让这个条件在某一次循环时不满足的动作也放在了里面,什么意思?举个例子
void func1()
{
int i;
for (i=0; i<10; i++)
{
...
}
}
i=0是初始化赋值,i<10是循环可以继续下去的条件,i++就是每次循环完成后要执行的动作
也就是说,当i<10时,就执行for下面的函数体,执行完以后i需要+1,然后再去判断i<10是否满足,满足则继续执行下面的函数体,再去+1,直到某一次不满足,则跳出这个for循环
所以必须能够预期这个动作在将来的某次循环中不满足条件从而跳出循环,不然就会变成死循环,比如说i–
- while…
while()和for()的不同是:while()里只会放入循环条件,初始化和动作不放在里面,初始化放在while的外面,而动作放在循环体的里面
void func1()
{
int i = 0;
while(i<10)
{
...
i++;
}
}
可以和for循环对比下,看看有哪些区别,但是它们必然会与初始化、循环条件、动作这三个要素
- do…while…
do…while…和while其实很类似,do…while…能实现的逻辑,while都能实现,唯一的区别是while是先判断再循环,而do…while…是先循环一次再判断
void func1()
{
int i = 0;
do
{
...
}while(i<10);
}
continue and break
更多内容,关注汽车网络诊断通信