一、用数组做散列计算
二、函数的定义和使用
三、函数的参数和变量
一、用数组做散列计算
例子:写一个程序,输入数量不确定的[0,9]范围内的整数,统计每一种数字的次数,输入-1表示结束。`#include<stdio.h>
int main(void)
{
int x;
int count[10];
int i;
for (i=0;i<10;i++){
count[i]=0;
}
scanf("%d",&x);
while (x!=-1) {
if (x>=0 && x<=9){
count[x] ++;
}
scanf("%d",&x);
}
for(i=0; i<10;i++){
printf("%d:%d\n",i, count[i]);
}
return 0;
}
二、函数的定义和使用
1、什么是函数?
函数是一块代码,接收零个或多个参数,做一件事情,并返回零个或一个值,也可以先想象成数学中的函数y=f(x).
2、调用函数
-
函数名(参数值)
-
()起到了表示函数调用的重要作用
-
即使没有参数也需要()
-
如果有参数,则需要给出正确的数量和顺序
-
这些值会被按照顺序依次用来初始化函数中的参数
例如:`#include<stdio.h>
void sum(int begin,int end)
{
int i;
int sum =0;
for (i=begin;i<=end;i++){
sum+= i;
}
printf("%d到%d的和是%d\n",begin, end, sum);
}
int main()
{
sum(1,10);
sum(20,30);
sum(35,45);
return 0;
}
三、函数的参数和变量
1、函数原型
-
函数头,以分号“;”结尾,就构成了函数的原型
-
函数原型的目的是告诉编译器这个函数长什么样
-
名称
-
参数(数量及类型)
-
返回类型
-
旧标准习惯把函数原型写在调用它的函数里面
-
现在一般写在调用它的函数前面
-
原型里可以不写参数的名字,但是一般仍然写上
2、调用函数 -
如果函数有参数,调用函数时必须传递给它数量、类型正确的值
-
可以传递给函数的值是表达式的结果,这包括:字面量,变量,函数的返回值,计算的结果
3、传值 -
每个函数有自己的变量空间,参数也位于这个独立的空间中,和其它函数没有关系
-
过去,对于函数参数表的中的参数,叫做形式参数,调用函数时给的值,叫做实际参数
4、本地变量 -
定义:函数的每次运行,就产生了一个独立的空间变量,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量
-
定义在函数内部的变量就是本地变量
-
参数也是本地变量