13.C语言(函数、变量作用范围)单元练习五32
(函数、变量作用范围)单元练习五A. f(int array[ ][6]) B. f(int array[3][ ])
C. f(int array[ ][4]) D. f(int array[2][5])
2. 执行下列程序后, 变量a的值应为______。
int f(int x) {return x+3;}
main() {int a=1; while(f(a)<10) a++; return;}
A. 11 B. 10C. 9D. 7
3. 下面函数 f(double x) {printf(“%6d\n”,x);} 的类型为______。
A. 实型 B. void 类型
C. int 类型D. A、B、C均不正确
4. 用数组名作为函数调用时的实参,实际上传递给形参的是______。
A. 数组的首地址 B. 数组的第一个元素的值
C. 每一个数组元素 D. 数组元素的个数
5. 以下说法中正确的是______。
A. 形参是全局变量,其作用范围仅限于函数内部。
B. 形参是全局变量,其作用范围从定义之处到文件结束。
C. 形参是局部变量,其作用范围仅限于函数内部。
D. 形参是局部变量,其作用范围从定义之处到文件结束。
6. 以下程序:
#include
f(int x) { return x; }
main()
{ float a=3.14; a=f(a); printf("%.2f\n",a); return; }
执行结果为______。
A. 3 B. 3.14C. 3.00 D. 0
7. 在一个源文件中定义的全局变量的作用域为______。
A. 本文件的全部范围。
B. 本程序的全部范围。
C. 本函数的全部范围。
D. 从定义该变量的位置开始至本文件结束。
8. 以下正确的说法是:建立函数的目的之一是______。
A. 提高程序的执行效率B. 提高程序的可读性
C. 减少程序的篇幅D. 减少程序文件所占内存
9. 有以下程序
#include
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i
for(j=i+2;j
if(a[i]
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa,10);
for(i=0;i<10;i++) printf("%d,",aa[i]);
printf("\n"); return; }
其输出结果是______。
A. 1,2,3,4,5,6,7,8,9,10, B. 10,9,8,7,6,5,4,3,2,1,
C. 9,2,7,4,5,6,3,8,1,10, D. 1,10,3,8,5,6,7,4,9,2,
10. 在函数调用过程中,如果函数A调用了函数 B,函数B又调用了函数A,则______。
A. 称为函数的直接递归调用B. 称为函数的间接递归调用
C. 称为函数的循环调用D. C语言中不允许这样的递归调用
11. 下列说法中正确的是______。
A. 调用函数时,实参变量与形参变量可以共用内存单元。
B. 调用函数时,实参的个数、类型和顺序与形参可以不一致。
C. 调用函数时,形参可以是表达式。
D. 调用函数时,将为形参分配内存单元。
12. 执行下列程序后, 变量a的值应为______。
f1(float x) {return x+1.3;}
main() { float a; a=f1(2.4); return;}
A. 3.7B. 3C. 4D. 不确定
13. C语言中,函数返回值的类型是由______决定的。
A. 调用函数时临时B. return语句中的表达式类型
C. 调用该函数的主调函数类型 D. 定义函数时,所指定的函数类型
14. 下列各种存储类型的变量中,必须定义在函数体外的是______。
A. 自动变量类型B. 寄存器类型变量
C. 内部静态类型变量 D. 外部静态变量
15. 关于函数的调用,以下错误的描述是______。
A. 出现在执行语句中B. 出现在一个表达式中
C. 作为一个函数的实参D. 作为一个函数的形参
16. 凡在函数中未指明存储类别的变量,其隐含的存储类别为_____