问题 单项选择题

当程序中存在 (2) 时,程序运行容易陷于死循环。C语言规定,函数定义及函数调用应该遵循的原则是 (3) 。求解同一个问题,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (4)

A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间
B.递归程序执行时多次复制同一段目标代码占用了较多的时间
C.递归程序执行时一系列的函数调用及返回占用了较多的时间
D.递归程序执行过程中重复存取相同的数据占用了较多的时间

答案

参考答案:C

解析: 编译分析过程能够分析出语法错误和词法错误。一般情况下静态的语义错误不会造成死循环,造成程序的死循环通常是动态的语义错误。C语言允许嵌套调用,即允许在一个函数中调用另一个函数,而且允许在第二个函数中进一步调用其他函数;但是它不允许不允许嵌套定义,即在一个函数定义中定义其他函数。递归程序因为在执行过程中引起一系列的函数调用和返回,需要较多的时间开销以及空间开销,因此与实现同功能的非递归函数相比具有较低的执行效率。

计算题
问答题 简答题