文档介绍:在一个函数内部说明的变量是内部变量,它只在该函数范围内有效。
也就是说,只有在包含变量说明的函数内部,才能使用被说明的变量,在此函数之外就不能使用这些变量了。所以内部变量也称“局部变量”。
编辑ppt
例如:
static in。
[Return]
编辑ppt
函数的调用
在程序中,是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。
函数调用的一般形式为: 函数名([实际参数表])
切记:实参的个数、类型和顺序,应该与被调用函数所要求的参数个数、类型和顺序一致,才能正确地进行数据传递。
可以用以下几种方式调用函数:
(1)函数表达式。函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。
(2)函数语句。函数可以只进行某些操作而不返回函数值,这时的函数调用可作为一条独立的语句。
(3)函数实参。函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。
编辑ppt
说明:
(1)调用函数时,函数名称必须与具有该功能的自定义函数名称完全一致。
(2)实参在类型上按顺序与形参,必须一一对应和匹配。如果类型不匹配,编译程序将按赋值兼容的规则进行转换。如果实参和形参的类型不赋值兼容,通常并不给出出错信息,且程序仍然继续执行,只是得不到正确的结果。
(3)如果实参表中包括多个参数,对实参的求值顺序随系统而异。有的系统按自左向右顺序求实参的值,有的系统则相反。
[Return]
编辑ppt
函数的形参与实参
函数的参数分为形参和实参两种,作用是实现数据传送。
形参出现在函数定义中,只能在该函数体内使用。发生函数调用时,调用函数把实参的值复制1份,传送给被调用函数的形参,从而实现调用函数向被调用函数的数据传送。
[案例] 实参对形参的数据传递。
/*实参对形参的数据传递。*/
编辑ppt
static void s(int n)
{ int i;
(n);
for(i=n-1; i>=1; i--) n=n+i; /*改变形参的值*/
(n); /*输出改变后形参的值*/
}
static void Main(string[] args)
{
int n=100; /*定义实参n,并初始化*/
s(n); /*调用函数*/
(n);
();
}
[程序演示]
编辑ppt
说明:
(1)实参可以是常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。
因此,应预先用赋值、输入等办法,使实参获得确定的值。
(2)形参变量只有在被调用时,才分配内存单元;调用结束时,即刻释放所分配的内存单元。
因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。
(3)实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
(4)实参和形参占用不同的内存单元,即使同名也互不影响。
[Return]
编辑ppt
2 数组作为函数参数
数组用作函数参数有两种形式:一种是把数组元素作为实参使用;另一种是把数组名作为函数的形参和实参使用。
数组元素作为函数参数
数组名作为函数的形参和实参
[Return]
编辑ppt
数组元素作为函数参数
数组元素就是下标变量,它与普通变量并无区别。数组元素只能用作函数实参,其用法与普通变量完全相同:在发生函数调用时,把数组元素的值传送给形参,实现单向值传送。
[案例] 写一函数,统计字符串中字母的个数。
编辑ppt
static bool isalp(char c)
{ if (c>='a'&&c<='z'||c>='A'&&c<='Z')
return true;
else return false;
}
static void Main(string[] args)
{ int i,num=0;
strin