Virtools脚本语言(VSL)教程 - 语句

条件语句

if else 语句

如果一个逻辑条件为true,使用if 语句来执行特定的语句,你可以可选择性使用else子句来执行其它语句如果条件为false。if语句看起来如下:

if (condition) {statements1}[else {statements2}]

实例:

bool CheckTextureSquare(Texture tex)
{
if (tex.GetHeight() == tex.GetWidth())
{
bc.OutputToConsole("Texture ok.");
return true;
}
else
{
bc.OutputToConsole("Error, texture is not square.");
return false;
}
}
switch 语句

switch语句运行程序判断表达式并试图去将表达式的值与case标签进行匹配。如果找到匹配,程序执行相关语句。表达式必须是判断整数类型。switch语句的语法如下:

switch (expression){ case label : statement; [break;] case label : statement; [break;]... [default :statement;] }

实例:

void GetVectorDirection(int direction, Vector vec)
{
switch(direction)
{
case 0 :
// North vec.Set(0,1,0); break;

case 1 :
// East vec.Set(1,0,0); break;
case 2 : // South vec.Set(0,-1,0); break;
case 3 : // West vec.Set(-1,0,0); break;
default : bc.OutputToConsole("error, bad direction number."); break; } }

循环语句

for 语句

for语句的语法如下:

for ([initialExpression]; [condition]; [updateExpression]) {statement block}

for语句重复执行语句块(statement block),直到条件(condition )判断值为0。初始表达式(initialExpression)、条件(condition)及更新表达式(updateExpression)字段均为可选。

initialExpression在for语句的其它元素之前被执行,常用来初始化循环的索引。它可以包含声明或赋值。

condition在该循环的给定迭代执行之前被执行,包括第一次迭代。它是一个判断整数类型的表达式。

updateExpression在循环每一次迭代结束时被判断。它经常是一个赋值或增值表达式。

实例:

float Average(IntArray array)
{
float total = 0;
int arraySize = array.Size();
// Add all integers for (int i = 0; i < arraySize; ++i) total += array[i]; return total/arraySize; }
do-while 语句

do-while语句重复执行直到指定的条件被判断为false。do-while语句的语法如下:

do {statement} while (condition);

语句在条件被检测之前就执行了一次。如果条件返回true,语句再执行一次。

实例:

void MakeItAtLeastOnce(int i)
{
do
{
--i;
// MakeIt ... } while (i > 0); }
while 语句

while语句让你重复一段语句直到指定的条件被判断为false。while语句的语法如下:

while (condition) {statements}

实例:

int Factorial(int n)
{
int res = 1;
while (n > 1)
{
res *= n--;
}
return res;
}
break 语句

使用break语句来终止一个循环或switch语句。

实例:

void	FindIndex(IntArray array, int value)
{
int size = array.Size();
int i = 0;
for (;i < size; ++i)
if (array[i] == value)
break; // We don't have to search anymore ...
// exit the for loop
// And continue processing here...
}
continue 语句

你只能在循环语句内使用continue语句。执行continue语句停止当前循环,并从该循环的起点处继续程序流程。

实例:

struct person
{
bool men;
int age;
};

float AverageMenAge(person parray[3])
{
int nbMen = 0;
float averageAge = 0;
for (int i = 0; i < 3; ++i)
{
person p = parray[i];
if (!p.men)
continue; // Go to next iteration ++nbMen; averageAge += p.age; } if (nbMen) return averageAge/nbMen; return -1; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值