找回密码
 注册

QQ登录

只需一步,快速开始

查看: 700|回复: 0

大工20春《c&c 语言程序设计》十

[复制链接]
发表于 2021-2-25 11:03:34 | 显示全部楼层 |阅读模式
C/C++语言程序设计辅导资料十
一、主题:函数二、学习时间:2020年6月1日-6月7日“不忘初心、牢记使命”主题理论学习:
实现我们确立的奋斗目标,我们既要有“乱云飞渡仍从容”的战略定力,又要有“不到长城非好汉”的进取精神。全党全国各族人民更加紧密地团结起来,勿忘昨天的苦难辉煌,无愧今天的使命担当,不负明天的伟大梦想,下定决心,排除万难,在中国特色社会主义伟大道路上,为实现中华民族伟大复兴的中国梦,前进!
摘选自《在纪念毛泽东同志诞辰一百二十周年座谈会上的讲话》三、知识脉络:
第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[10];有函数调用语句function(a,10);,则function函数错误的声明方式为(   )。
A.void function (int array[], int n )
B.void function(int array)
C.void function (int array[10], int n)
D.void Function(int [],int)
答案:B2.若有数组float grade[3]和函数 float max(float a[], int n );则正确的函数调用形式为( )。
A.max( grade[3])
B.max( grade[ ], 3)
C.max( grade, 3)
D.max( grade[3], 3)
答案:C3.对于数组int  a [ 10 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ;和下面的函数,
执行printf("sum =%d " , sum ( a ))输出的结果为( )
int  sum ( int  ap[ ] )
{  int  m = 0 , i ;
             for ( i = 0 ;  i < sizeof(ap);  i ++ )
          m += ap[i] ;       
     return m;
}
A.55
B.65
C.10
D.以上答案均不对
答案:C4.求下列函数的输出结果。
int main( )
{  
       int   a[3] = { 1, 2, 3 } , i ;
       fun ( a[0] ,  a[1] ,  a[2] ) ;
       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[3] = { 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
南开答案可以联系QQ 761296021

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-4 08:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表