单选题
当程序中存在{{U}} (14) {{/U}}时,程序运行容易陷于死循环。C语言规定,函数定义及函数调用应该遵循的原则是{{U}} (15) {{/U}}。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是{{U}} (16) {{/U}}。
单选题
A.语法错误 B.静态的语义错误 C.词法错误 D.动态的语义错误
单选题
A.不可以进行函数的嵌套定义,可以进行函数的嵌套调用
B.可以进行函数的嵌套定义,不可以进行函数的嵌套调用
C.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用
D.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用
单选题
A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间
B.递归程序执行时多次复制同一段目标代码占用了较多的时间
C.递归程序执行时一系列的函数调用及返回占用了较多的时间
D.递归程序执行过程中重复存取相同的数据占用了较多的时间
【正确答案】
C
【答案解析】[解析] 编译分析过程能够分析出语法错误和词法错误。一般情况下静态的语义错误不会造成死循环,造成程序的死循环通常是动态的语义错误。C语言允许嵌套调用,即允许在一个函数中调用另一个函数,而且允许在第二个函数中进一步调用其他函数;但是它不允许不允许嵌套定义,即在一个函数定义中定义其他函数。递归程序因为在执行过程中引起一系列的函数调用和返回,需要较多的时间开销以及空间开销,因此与实现同功能的非递归函数相比具有较低的执行效率。