作业━━第3章━━函数的递归调用重载默认参数.docVIP

  • 6
  • 0
  • 约6.66千字
  • 约 6页
  • 2016-08-11 发布于重庆
  • 举报

作业━━第3章━━函数的递归调用重载默认参数.doc

作业━━第3章━━函数的递归调用重载默认参数

函数的递归调用、重载、默认参数 【学习要点】 1.掌握递归函数的调用及其执行过程。 2.掌握递归算法的一般设计方法,掌握简单递归算法的实现。 3.掌握重载函数的概念、定义和应用。 4.掌握带默认值形参的概念、定义和调用规则。 5.掌握内联函数的定义和实质。 6.掌握C++程序的多文件结构、及其编译和连接方法。 7.掌握编译预处理命令(文件包含、宏定义、条件编译)的概念和应用。 ------------------------------------------------------------------------------------------------------------------------------------------------- 【例题分析】 1.若有函数调用语句fun( a+b , (y=9, y*x) , fun( y,n,k ) ); 则其实参的个数是______A.B.C.D.______。 A. B. C. D. 【答案】A 【解析】内联函数是使用更多的存储空间,以减少执行的时间,即采用空间换取时间,以提高程序执行效率,当多次调用同一内联函数时,程序本身会增加所占用空间。除了函数体中含有循环语句、switch语句的函数不能定义为内联函数以外,其余均可定义为内联函数。内联函数的参数传递关系与一般的函数相同。 3.下面程序的运行结果是______。 # include iostream.h # define s(a) a*a void main() { int x=1, y=2, t ; t = s(x+y) ; cout t endl ; } 【答案】5 【解析】由于宏只是简单的字符替换,用实参x+y代替形参a,x+y)展开后的表达式为x+y*x+y,故程序运行结果是5。需提醒的是在进行宏定义时应注意圆括号的正确使用,# define s(a) (a)*(a) 后,则程序运行结果是。______。 int fc( int x , int y ) { return ( x+y ) ; } long fc( int x , int y ) { return ( x*y ) ; } 【答案】不是合法的重载函数 【解析】两个函数的参数类型、个数完全一样,仅是返回类型不同,不是合法的函数重载。 5.下面两个函数是否合法的重载函数______。 int val( int x , int y ) { return ( x*y ) ; } int val( int x , int y ) { return ( x+y ) ; } 【答案】不是合法的重载函数 【解析】引用类型变量的使用与普通变量的使用在形式上是一样的,这使得两个函数的参数类型、个数完全一样,故不是合法的函数重载。 6.下面两个函数是否合法的重载函数______。 int f( int x , int y ) { return ( x*y ) ; } int f( char x , char y ) { return ( x+y ) ; } 【答案】要具体问题具体分析,看看该程序中对应的调用式是否会造成二义性。 【解析】这个问题需具体分析。当C++调用一个函数时,需进行实参与形参的结合,这个结合过程要将调函数的实参表与每个重载函数的形参表进行比较,实参表和一个重载函数的形参表完全匹配,则调用该重载函数;没有找到严格的匹配函数,则C++编译器会试图通过类型转换找到一个匹配函数,编译器可能发现多个重载函数匹配,从而造成二义性。f( 2,2 )、f( a,b )是正确的,调用f( a,3 ),编译器无法确定将它转换为f( int , int )形式,还是f( char , char ) 形式,会造成二义性。 ______。 #include iostream.h void f( int ) ; void main() { f(3) ; } void f( int n ) { static int s = 5 ; int a = 5 ; if ( n!=0 ) { s++ ; a++ ; cout n ’\t’ s ’\t’ a endl ; f( n-1 ) ; } } 【答案】第1行输出:3 6 6 第2行输出:2 7 6 第3行输出:1 8 6 8.下面程序的运行结果是______。 #include iostream.h void fun( int ) ; void main( ) { int k = 5

文档评论(0)

1亿VIP精品文档

相关文档