@mwumli
2015-05-18T02:25:58.000000Z
字数 1285
阅读 1843
SPLOS OSEP
函数是语言中不可或缺的一部分
如果一个语言没有函数,则就丧失了代码重复利用的特性,这对编写代码而言是件灾难性事件
当然,这不是说除了函数而言没有其他实现代码重复利用的特性的方式,只是为了表现函数在语言中巨大作用
SPLOS 语言中函数调用的标准格式:
func-name([para-list])
若是函数定义时没有参数,则圆括号内的就没有参数
函数调用的结果通常通过返回值来体现
有的时候我们的程序需要在多个条件判断,当某个条件为真的时候,采取执行相应的动作,这就是条件控制语句
有时候,我们需要重复执行某些语句很多次,假如有1000次,我们不可能就把相同的code写1000次,这样虽然能达到效果,但是程序的代码量大大增加,也不利于编程人员的编程
我们需要引入一种方式来通知系统来,这句话需要重复执行1000次,而我们只需要书写一遍即可,这就是循环控制语句
SPLOS 提供的条件控制语句只有if语句
if语句的使用参考:
int num = 10;...; //多行代码,也可能对num值进行改变if(num > 10) {code1; //假如 num > 10,那么执行 code1} else {code 2; //假如 num <= 10, 那么执行 code2}if(num > 10) {code1; // 假如 num > 10, 执行 code1} else if(num == 10) {code2; // 假如 num == 10, 执行 code2} else {code3; //假如 num < 10, 执行 code3}
SPLOS 循环控制语句只有while语句
while 语句的使用参考:
//计算1+2+3+...+ 1000int sum = 0;int i = 1;//在下面这个模块,花括号里面的语句就执行了1000次,而我们的代码仅仅写了4行while(i <= 1000) {sum = sum + i;i = i + 1;}
int getSquareArea(int x, int y){int area;area = x * y;return area;}int main(){int x,y;int area;x = 30;y = 40;area = getSquareArea(x, y);return 0;}
说明:
* 定义了一个函数, 函数名为getSquareArea, 用来计算一个长方体的面积
* 有两个形式参数下x, y, 分别代表长和宽
* 有一个返回值,返回的计算的结果
* 在main函数中,我们调用了此函数getSquareArea
/*计算1--100的阶乘和累加和*/int main(){int method; //决定是累加还是阶乘int result; //最终结果int i; //控制循环迭代method = 1;if(method) {result = 1;i = 1;while(i <= 100) {result = result * i;i = i + 1;}} else {result = 0;i = 1;while(i <= 100) {result = result + i;i = i + 1;}}return 0;}
无论是累加还是阶乘,最终结果被存储在 result