●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 (42) 。以求n!为例,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (43) 。(41) A.词法错误B.静态的语义错误C.语法错误D.动态的语义错误(42) A.可以进行函数的嵌套定义,不可以进行函数的嵌套调用B.不可以进行函数的嵌套定义,可以进行函数的嵌套调用C.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用D.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用(43) A.

题目

●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 (42) 。以求n!为例,采用递归方式编写的程序相对于递推方式的程序执行效率较低的原因是 (43) 。

(41) A.词法错误

B.静态的语义错误

C.语法错误

D.动态的语义错误

(42) A.可以进行函数的嵌套定义,不可以进行函数的嵌套调用

B.不可以进行函数的嵌套定义,可以进行函数的嵌套调用

C.既不能进行函数的嵌套定义,也不能进行函数的嵌套调用

D.既可以进行函数的嵌套定义,也可以进行函数的嵌套调用

(43) A.递归程序经编译后形成较长目标代码,所以需要较多的运行时间

B.递归程序执行过程中重复存取相同的数据占用了较多的时间

C.递归程序执行时一系列的函数调用及返回占用了较多的时间

D.递归程序执行时多次复制同一段目标代码占用了较多的时间


相似考题
参考答案和解析
正确答案:D,B,C
【解析】语法错误和词法错误应该在分析过程中分析出来,静态的语义错误不会造成死循环,而动态的语义错误很容易造成程序的死循环。常见错误有循环结束条件错误。C语言允许在一个函数中调用另一个函数,在第二个函数中调用第三个函数,即允许嵌套调用;但是它不允许在一个函数中定义另外的函数,即不允许嵌套定义。递归程序因为在执行过程中需要不断地进行函数调用及返回,即不断地执行上下文切换和反复地进行入栈、出栈操作,所以它们需要较大的时间开销。
更多“●当程序运行陷于死循环时,说明程序中存在 (41) 。在C语言中,函数定义及函数调用应该遵循的原则是 ”相关问题
  • 第1题:

    当程序运行陷于死循环时,说明程序中存在(16) 。

    A.语法错误

    B.静态的语义错误

    C.词法错误

    D.动态的语义错误


    正确答案:D
    本题考查计算机系统基础知识。无论是对于编译方式还是解释方式来实现高级语言,对于有错误的程序,如果是词法或语法错误,则不能进入运行阶段,运行时陷于死循环属于动态的语义错误。

  • 第2题:

    (2013年)当程序运行陷于死循环时,说明程序中存在______。

    A.语法错误
    B.静态的语义错误
    C.词法错误
    D.动态的语义错误

    答案:D
    解析:
    语法错误是指由于编程中输入不符合语法规则而产生的。例如,表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不匹配等。语义错误又分为静态语义错误和动态语义错误。静态语义错误一般在语义分析阶段检测出来,而动态语义错误则在目标程序运行的时候才能查出来。当程序运行陷于死循环时,说明程序中存在动态的语义错误。

  • 第3题:

    42、在C程序中,函数调用遵循先说明后调用的原则,因此,先说明的函数不能调用后说明的函数。


    错误

  • 第4题:

    当程序运行陷于死循环时,说明程序中存在( )。

    A.语法错误
    B.静态的语义错误
    C.词法错误
    D.动态的语义错误

    答案:D
    解析:
    本题考查计算机系统基础知识。
    无论是对于编译方式还是解释方式来实现高级语言,对于有错误的程序,如果是词法或语法错误,则不能进入运行阶段,运行时陷于死循环属于动态的语义错误。

  • 第5题:

    当程序运行陷于死循环时,说明程序中存在______。

    A.语法错误
    B.静态的语义错误
    C.词法错误
    D.动态的语义错误

    答案:D
    解析:
    语法错误是指由于编程中输入不符合语法规则而产生的。例如,表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不匹配等。语义错误又分为静态语义错误和动态语义错误。静态语义错误一般在语义分析阶段检测出来,而动态语义错误则在目标程序运行的时候才能查出来。当程序运行陷于死循环时,说明程序中存在动态的语义错误。