百家拳C语言测试中心

相关链接

    C语言函数测试题(1)

  1. _________是将变量的地址传递给函数的参数,在函数中参数经过改动,返回给调用函数的程序后,程序变量的数值会被改变。

  2. 传址调用
  3. 若想将函数执行结果返回给调用的程序,可以使用________指令来完成这项工作。

  4. Return
  5. 在函数中传递的结构类型,必须在________范围内事先进行声明。

  6. 全局
  7. 简述递归函数的意义与特性。

  8. 函数不单只是能够被其他函数调用(或引用)的程序块,在C语言中也提供了自身引用的功能,就是所谓的递归函数。递归函数(Recursion)在程序设计上相当好用,而且也是非常重要的概念,使用递归可使得程序变得相当简洁,但设计时必须非常小心,因为很容易会造成无限循环或导致内存的浪费。通常一个递归函数式有两个必备的要件。 (1)一个可以反复执行的过程。 (2)一个跳出反复执行过程的缺口。
  9. 什么是“静态局部变量”?特性是什么?

  10. 通常局部变量的生命周期,当函数或程序区段招待完时就会结束,然后系统会将内存上的地址清除掉。不过如果在函数或程序区段中声明staic变量,当函数执行完毕后,它的内存地址并不会被清除,会一直保留到程序全部结束时才清除,又称为“静态局部变量”。在声明静态局部变量时,如果各位没有设置初始值的话,系统自动将静态变量初始值设置为0,而一般的变量初始值,在未设置初始值的情况下,则是一个不确定值。
  11. 多维数组动态分配要取得数组中的值,必须通过_________或是________的方式才能取得。

  12. 指针的指针  数组
  13. 什么是尾归递归?

  14. 所谓尾归递归就是程序的最后一个指令为递归调用。因为每次调用后,再回到前一次调用的第一行指令就是return,所以不需要再进行任何计算工作,因此也不必保存原来的环境信息。
  15. 以下程序代码中的3个printf()函数,分别打印出什么?
    01 auto int iVar=5;
    02 printf(“进入程序块前的iVar=%d\n”,iVar);
    03 {
    04 auto int iVar=10;
    05 iVar++;
    06 printf(“程序块中的 iVar=%d\n”,iVar);
    07 }
    08 printf(“离开程序块的 iVar=%d\n”,iVar);

  16. 02行打印出5;06行打印出11;08行打印出5。
  17. 名词解释:
    (a)形式参数(Formal Parameter)。
    (b)实际参数(Actual Parameter)。
    (c)全局变量(Global Variable)。
    (d)局部变量(Local Variable)。



  18. (a)定义函数时在头文件中所声明的参数,或简称为参数。
    (b)实际调用函数时所提供的参数,或简称为自变量。
    (c)又称为外部变量,是声明在程序块与函数之外的,在声明指令以下的所有函数及程序块都可以使用到该变量。
    (d)是声明在函数或程序块内的变量,该变量只可以在此区块内存取,而此块外的程序代码都无法存取该变量。
  19. 说明argc与argv这两个参数的作用。

  20. argc的数据类型为整数数据类型,表示命令行参数的个数,argc的值绝对会大于0。至于argv[]的数据类型为不确定长度的字符串指针数组,所传递的数据都为字符串格式,且此字符串数组个数是视用户输入的自变量数目而确定的。其中命令行参数字符串是以空白或定位(Tab)字符作为分隔的。
  21. 分别说明以下两行程序代码的功能。
    01 int(*ptr)(int);
    02 int *ptr(int);

  22. 01行中ptr为函数指针,本身返回整数值,并接受整数自变量。 02行中为ptr为函数的原型声明,可返回整数指针,可接受整数自变量。
  23. 什么是“命令行参数”(Command-Line Argument)?

  24. 所谓“命令行参数”( Command-Line Argument)就是程序在MS-DOS操作系统中执行时所传递的自变量。例如,在MS -DOS操作系统下的type命令,可以用指定文件名的方式来打开纯文本文件并显示内容。
  25. 简述参数型函数指针的功能。

  26. 在C程序中也可以将函数指针用来作为另一个函数的参数。如果函数指针作为参数,同一个函数可以按照不同的情形,改变参数列表中函数指针所指向的函数地址,也就是该函数将可以按照函数指针来决定调用不同的函数。简单地说,就是函数也可以作为另一个函数中的参数。

自我评价 答对0--2题 答对3--4题 答对5--6题 答对7--8题 答对9--10题

下一篇