1、实参将地址传递给形参,并释放原先占用的存储单元;实参将地址传递给形参,调用结束时形参再将此地址回传给实参;实参将值传递给形参,调用结束时形参再将其值回传给实参;实参将值传递给形参,调用结束时形参并不将其值回传给实参;D得分:7若用数组名作为函数调用的实参,则传递给形参的是?数组第一个元素的地址;数组的第一个元素的值;数组中所有元素的值;数组元素的个数;8【单选题】C语言规定了程序中各函数之间调用关系,以下说法正确的是? A、既允许直接递归调用也允许间接递归调用; B、不允许直接递归调用也不允许间接递归调用; C、允许直接递归调用不允许间接递归调用; D、不允许直接递归调用允许间接递归调用;9递
2、归函数f(n)=f(n-1)+n(n1)的递归体是?f(1)=0f(0)=1f(n)=f(n-1)+nf(n)=n10若函数的形参为一维数组,则下列说法中正确的是()。使用函数时的对应实参必为数组名。形参数组可以不指定大小。形参数组的元素个数必须等于实参数组的元素个数。形参数组的元素个数必须多于实参数组的元素个数。11在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。为函数的直接递归调用称为函数的间接递归调用为函数的循环调用C语言中不允许这样的递归调用12有以下函数定义:voidfun(intn,doublex)下选项中的变量都已正确定义并赋值,则
3、对函数fun的正确调用语句是()。fun(inty,doublem);k=fun(10,12.5);fun(x,n);voidfun(n,x);13已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为_。int a34;f(a);f(intarray6)f(intarray3)f(intarray4)f(intarray25)14若程序中定义函数floatfadd(floata,b)returna+b;并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是?floatfadd(floata,b);floatfadd(floatb,flo
4、ata);floatfadd(float,float);floatfadd(floata,floatb);15下面程序段运行后的输出结果是?(假设程序运行时输入5,3回车)intb;swap()t;t=a;a=b;b=t;main()a,b;scanf(%d,%d,&b););printf(a=%d,b=%dn,a,b);a=5,b=3a=3,b=55,33,516以下程序运行后的输出结果是?fun(intx,y)if(xy)x;elsey;x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r);17下列程序的输出结果是()。#include stdio
5、.hvoid fun(int a,int b,int c) c = a * b;int main( ) int c; fun(2,3,c); printf(, c); return 0;无法确定18有以下程序,运行后的输出结果是( )。#includefloat fun(int x, int y)return(x+y);void main()int a=2,b=5,c=8;printf(“%3.0fn”, fun(int)fun(a+c, b), a-c);编译出错219.00.0分19以下描述正确的是?调用函数时的实参只能是有确定值的变量;return()语句的括号中,可以是变量、常量或有确
6、定值的表达式;C语言中,函数调用时实参和形参间的参数传递方式不都是值传递;实参和形参若类型不匹配,编译时将报错;20已有以下代码int a=6,b=3;int main() int a=8;,(ab?a:b);则程序的输出结果是()?36f() static int x = 1; x -= 1;%d, x);int i; for (i = 0; i2)return(fib(n-1)+fib(n-2);return 2;,fib(3);该程序的输出结果是_。29以下程序的输出结果是_。f(intb,intm,inti,s=0;for(i=m;in;i=i+2)s=s+bi;returns;x,a
7、=1,2,3,4,5,6,7,8,9;x=f(a,3,7);,x);30以下程序的输出结果是_。fac_sum(intstaticf=1,t=1,s=0;i;t)for(i=t+1;=n;i+)f=f*i;f=1;for(i=1;t=n;s=s+f;return(s);a=3,5,2,i,sum;for(i=0;3;sum=fac_sum(ai);printf(“sum=%dn”,sum);sum=12831以下程序的运行结果是_。#include 0; i-),ei-1);int sub(int a) c=a%2; return c;101033以下程序的运行结果是_。void fun();
8、for (i=0;i+)fun();void fun()static int x=0;x+=1;%3d,x);1 2 334int workover(int i);int reset(int i);int i=0;int i=5;reset(i/2);i=%dn,i);reset(i=i/2);workover(i);int workover(int i)i=(i%i)*(i*i)/(2*i)+4);return i;int reset(int i)i=i=2?5:i=5i=2i=2i=0i=235【判断题】函数调用时值传递方式特点:形参与实参占用相同的内存单元,单向传递。函数定义与函数说明不是同一个概念。得分:37c语言中,函数的定义不能嵌套,而调用是可以嵌套的。38函数调用时值传递特点:无论是值传递还是地址传递,都是单向的。39函数调用时,当数组名作函数参数时,实参数组值与形参数组值不同。40一个C程序可以由一个或多个函数组成,其中必须有且只有一个main函数。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1