@mwumli
2015-05-18T10:25:58.000000Z
字数 1285
阅读 1582
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+...+ 1000
int 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