多重循环

goto的使用

使用goto可以跳出多重循环,不建议在其他时候使用

数组

<类型>变量名称[下标,即元素数量]

1
int a [100]

数组是一种容器

其中所有的元素具有相同的数据类型

一旦创建无法改变大小

数组各元素在内存中连续依次排列

可出现在赋值的左边或右边,叫做左值或右值

下标范围为[0,数组大小-1],超出界限则视为越界,容易出错却不容易报错

函数

举一个求和函数的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
void sum ( int a,int b )
{
int i;
int sum = 0;
for ( i = a;i <= b; i++ ){
sum += i;
}
print ("%d到&d的和为%d\n",a,b,sum);
}

sum(1,10);
sum(20,30);
sum(40,50);

函数头

其中第一行是函数头,void叫做返回类型,sum是起的函数名,括号内是参数表

函数头的括号起到了表示函数调用的作用,里面没有参数也不能被删去,如果有参数要给出正确的数量和顺序

函数可以简化重复的程序,依次进行初始化和返回

函数体

最大的代码块内是函数体

如果想把函数放在主函数下,要先把函数头作为声明放在最前面,告诉编译器你创建了一个何类型,何函数名,何参数的函数,以免系统自上而下识别到函数定义时报错

返回值

return可以停止函数的执行,并送回一个值,返回的值可以赋给函数外的变量,函数内的变量与函数外的变量无关,return可以单独使用,也可以接表达式

1
2
return;
return a;

int类型的函数返回值

需要用return停止函数执行并返回结果

void类型的函数不返回值,也就是说调用时不能做返回值的赋值

不能使用带值的return,也可以不用return

逗号运算符

调用函数时的圆括号里的逗号是标点符号,不是运算符

1
2
i(a,b);
i((a,b));

嵌套

循环语句,判断语句可以嵌套,函数则不能嵌套

本地变量

定义在函数内部的变量都时本地变量(目前学过的都是)

生存期

变量从出现到消失的时期

作用域

变量起作用的代码范围

对于本地变量,它的生存期和作用域就是大括号(块)

原则

本地变量定义在块内,可以是函数的块,也可以是语句的块内,也可以定义在语句的块内,甚至可以随便拉一对大括号来定义变量

块外定义的变量在块内仍有效