大工20秋《c&c 语言程序设计》辅导资料十
C/C++语言程序设计辅导资料十一、主题:函数二、学习时间:2020年11月30日-12月6日“不忘初心、牢记使命”主题理论学习:
实现我们确立的奋斗目标,我们既要有“乱云飞渡仍从容”的战略定力,又要有“不到长城非好汉”的进取精神。全党全国各族人民更加紧密地团结起来,勿忘昨天的苦难辉煌,无愧今天的使命担当,不负明天的伟大梦想,下定决心,排除万难,在中国特色社会主义伟大道路上,为实现中华民族伟大复兴的中国梦,前进!
摘选自《在纪念毛泽东同志诞辰一百二十周年座谈会上的讲话》三、知识脉络:
第7章 函数
7.3 函数的参数与返回值
7.4函数与数组四、学习要求:
理解函数的数据传递机制
掌握函数形参与实参的关系
理解按值传递的方法的特点
掌握函数返回值的方法
掌握函数传递数组的方式
理解形参数组与实参数组的关系
理解按地址传递的特点五、重点难点:
函数的参数
函数的返回值六、主要内容:
1.函数的数据传递
参数:实际参数传递给形式参数
返回值:用return语句返回计算结果2.函数参数
按值传递 call by value
按地址传递 call by address3.关于形参与实参的说明
实参可以是常量、变量或表达式,在调用时将实参的值赋给形参。
实参与形参的类型应相同或赋值兼容。
形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
实参向形参的数据传递是单向“值传递”,只能把实参的值传送给形参,不能把形参的值反向地传送给实参。在函数调用过程中形参的值发生改变,实参的值不会变化。4.函数返回值
函数的值只能通过return语句返回主调函数。
在函数中允许有多个return语句(通常在条件语句中),但每次调用只能有一个return 语句被执行;当return语句执行时,函数也就结束了,返回到主调函数,其他return语句就不会被执行。
函数的返回值应当属于某一个确定的类型,在定义函数时指定函数返回值的类型。
不返回函数值的函数,可以明确定义为空类型,类型说明符为“void”。
函数值的类型和函数定义中函数的类型应保持一致。两者不一致以函数类型为准,将返回值自动进行类型转换。5.使用函数处理一维数组
数组元素作参数
单向传递实参的值
数组名作参数
形参数组与实参数组同步
高效、简洁地传递数据
函数获得多个结果七、习题:
1.对于一维整型数组int a;有函数调用语句function(a,10);,则function函数错误的声明方式为( )。
A.void function (int array[], int n )
B.void function(int array)
C.void function (int array, int n)
D.void Function(int [],int)
答案:B2.若有数组float grade和函数 float max(float a[], int n );则正确的函数调用形式为( )。
A.max( grade)
B.max( grade[ ], 3)
C.max( grade, 3)
D.max( grade, 3)
答案:C3.在32位系统中,对于数组inta [ 10 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ;和下面的函数,执行printf("sum =%d " , sum ( a ))输出的结果为( )
intsum ( intap[ ] )
{intm = 0 , i ;
for ( i = 0 ;i < sizeof(ap);i ++ )
m += ap ;
return m;
}
A.55
B.65
C.10
D.以上答案均不对
答案:C4.求下列函数的输出结果。
int main( )
{
int a = { 1, 2, 3 } , i ;
fun ( a ,a ,a ) ;
for ( i = 0 ; i < 3 ;i ++ )
printf(“%5d”, a [ i ] );
return 0;
}
void fun ( int x, int y, int z )
{
x++ ;y++ ;z++ ;
printf(“%5d%5d%5d \n”, x , y ,z) ;
}
答案:
输出:
2 3 4
1 2 35.求下列函数的输出结果。
int main( )
{
int a = { 1, 2, 3 }, i ;
fun ( a ) ;
for ( i = 0 ; i < 3 ;i ++ )
printf(“%5d”, a [ i ] );
return 0;
}
void fun ( int b[ ] )
{
for ( i = 0 ; i < 3 ;i ++ )
printf(“%5d”, ++b [ i ] );
}
答案:
输出:
1 2 3 2 3 4
本内容由易百教育整理发布
网址www.openhelp100.com
QQ 515224986
页:
[1]