第1题:
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。A.函数调用可以嵌套和递归B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参
第2题:
已知递归函数f的定义如下:
int f(int n){
if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1
else return n*f(n-2); //递归
}
则函数调用语句f(5)的返回值是______。
第3题:
●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 (42) 。以求n!为例,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (43) 。
(41) A.词法错误
B.静态的语义错误
C.语法错误
D.动态的语义错误
(42) A.可以进行函数的嵌套定义,不可以进行函数的嵌套调用
B.不可以进行函数的嵌套定义,可以进行函数的嵌套调用
C.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用
D.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用
(43) A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间
B.递归程序执行过程中重复存取相同的数据占用了较多的时间
C.递归程序执行时一系列的函数调用及返回占用了较多的时间
D.递归程序执行时多次复制同一段目标代码占用了较多的时间
第4题:
以下对C语言函数的有关描述中,正确的是( )。
A.C函数可以递归调用也可以嵌套调用
B.在C中,调用函数时,只能把实参值传给形参,形参值不能返回给实参
C.没有返回值的函数不能被使用 .
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中
第5题:
已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return 1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。
A.5
B.12
C.15
D.30
第6题:
( 8 )已知递归函数 f 的定义如下:
int f(int n)
{
if (n <= 1) return 1; // 递归结束情况
else return n * f(n-2); // 递归 }
则函数调用语句 f(5) 的返回值是 【 8 】 。
第7题:
在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则
A.称为函数的直接递归调用
B.称为函数的间接递归调用
C.称为函数的循环调用
D.C语言中不允许这样的递归调用
第8题:
已知递归函数f 的定义如下:
int f (int n)
{
If(n<=1)return 1;//递归结束情况
else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。
1
第9题:
一个C++程序由函数A( ),B( ),C( )和函数P( )构成,在函数A( )中分别调用了函数B( )和函数C ( ),在函数B( )中调用了函数A( ),且在函数P( )中也调用了函数A( ),则可以说
A.函数B( )中调用的函数A( )是函数A( )的间接递归调用
B.函数A( )被函数B( )调用是直接递归调用
C.函数P( )直接递归调用了函数A( )
D.函数P( )中调用的函数A( )是函数P( )的嵌套
第10题:
A、非递归调用
B、直接递归调用
C、间接递归调用
D、末尾递归调用