1、 函数未被调用时,系统将不为形参分配内存单元; B、 ? 实参与形参的个数必须相等,且实参与形参的类型必须对应一致; 当形参是变量时,实参可以是常量、变量或表达式; 如函数调用时,实参与形参都为变量,则这两个变量不可能共享同一内存空间; 2.5分B得分: 我的答案:5 【单选题】 若函数调用时参数为基本数据类型的变量,以下叙述正确的是? 实参与其对应的形参共享内存存储单元;、 B ? 只有当实参与其对应的形参同名时才共享内存存储单元;C、 ? 实参与对应的形参分别占用不同的内存存储单元; 实参将数据传递给形参后,立即释放原先占用的内存存储单元;C得分:6 【单选题】 实参和形参都是简单变量,它
2、们之间数据传递的过程描述正确的是?函数调用时, 、A ? 实参将地址传递给形参,并释放原先占用的存储单元; 实参将地址传递给形参,调用结束时形参再将此地址回传给实参; 实参将值传递给形参,调用结束时形参再将其值回传给实参; 实参将值传递给形参,调用结束时形参并不将其值回传给实参;D得分:7 若用数组名作为函数调用的实参,则传递给形参的是?A、 ? 数组第一个元素的地址; 数组的第一个元素的值; 数组中所有元素的值; 数组元素的个数;分2.58 语言规定了程序中各函数之间调用关系,以下说法正确的是?【单选题】C A、 ?既允许直接递归调用也允许间接递归调用;不允许直接递归调用也不允许间接递归调用
3、;允许直接递归调用不允许间接递归调用;不允许直接递归调用允许间接递归调用; A我的答案:分得分: 2.59 【单选题】 的递归体是?f(n)=f(n-1)+n (n1)递归函数A、 ? f(1)=0 B、 ? f(0)=1 ? f(n)=f(n-1)+n ? f(n)=n ? 分 2.5我的答案:10 【单选题】 若函数的形参为一维数组,则下列说法中正确的是()。 使用函数时的对应实参必为数组名。 形参数组可以不指定大小。 形参数组的元素个数必须等于实参数组的元素个数。 形参数组的元素个数必须多于实参数组的元素个数。B得分:11 ,则fun Afun B又调用了函数fun B,在函数调用过程中
4、,如果函数fun A调用了函数函数 ()。 为函数的直接递归调用 称为函数的间接递归调用 ? 为函数的循环调用 语言中不允许这样的递归调用C ? 分 得分:2.5我的答案:B12 【单选题】 有以下函数定义: void fun(int n,double x) 的正确调用语句是()。下选项中的变量都已正确定义并赋值,则对函数fun y,double m); fun(int k=fun(10,12.5); fun(x,n); fun(n,x);void 2.5C我的答案:13 【单选题】的正确定义farrayf已有以下数组定义和函数的说明中,对形参数组函数调用语句,则在 。方式为_ int a34
5、; f(a); array6) f(int array3) f(int array4) f(int D、 ? array25)f(int 2.5得分: C我的答案:分14 【单选题】 若程序中定义函数 float fadd(float a, float b) return a+b; 以下说明中错误并将其放在调用语句之后,则在调用之前应对该函数进行说明。 的是? a,b);fadd(float float a) ;float fadd(float b, float float) ;fadd(float, float b) float ;float fadd(float a, 15 【单选题】 下
6、面程序段运行后的输出结果是? (假设程序运行时输入5回车),3 int a, b; void swap( ) int t; t=a; a=b; b=t; void main() int a,b; scanf(%d,%d,&a, &b); swap( ); printf (a=%d,b=%dn,a,b); a=5,b=3 ? a=3,b=5 ? 5,3 ? 3,5 ? 2.5分16 【单选题】 ? 以下程序运行后的输出结果是 int fun (int x, int y) if(xy) return x; else return y; int x=3,y=8,z=6,r; r=fun(fun(x,
7、y),2*z); printf(%dn,r); 3 6 ? 8 ? 12 ? D我的答案:2.5得分: 分17 【单选题】 下列程序的输出结果是()。 椣据畬敤尠瑳楤?屨 void fun(int a,int b,int c) c = a * b; main( )int int c; fun(2,3,c); printf(%dn, c); return 0; 0 ? 无法确定 ? 分18 【单选题】 )。 有以下程序,运行后的输出结果是( #include float fun(int x, int y) return(x+y); void main() int a=2,b=5,c=8; -c)
8、;n”, fun(int)fun(a+c, b), aprintf(“%3.0f ; 编译出错 ? 9 ? 21 ? 9.0 ? 分0.0得分:19 【单选题】 以下描述正确的是? 调用函数时的实参只能是有确定值的变量; 语句的括号中,可以是变量、常量或有确定值的表达式;return() ? 语言中,函数调用时实参和形参间的参数传递方式不都是值传递;C ? 实参和形参若类型不匹配,编译时将报错; 2.5B我的答案:20 【单选题】 已有以下代码#includeb?a:b); 则程序的输出结果是()? 3 ?、C ? 36;21 f() static int x = 1;x -= 1; prin
9、tf(%d, x); int i;for (i = 0; i2) ;return(fib(n-1)+fib(n-2) else ;return 2 int main() ;牰湩晴尨搥屜屮,fib(3) 该程序的输出结果是_。第一空: 批语 29 【填空题】 。以下程序的输出结果是_ int n),f(int b,int m ;,int is=0 i=i+2);for(i=m;in ;s=s+bi ;returns int main() ;,89753a=1int x,2,4,6, ;,7)x=f(a,3 ;,牰湩晴尨搥屜屮x) 第一空: 批语30 以下程序的输出结果是_ #includet)
10、for(i=t+1;=n; i+) f=f*i; else f=1; for(i=1; t=n; s=s+f; return(s); void main() int a=3,5,2,i,sum; for(i=0;3; i+) sum=fac_sum(ai); n”,sum);printf(“sum=%d sum=128 31 以下程序的运行结果是_#include int n=1;void main() static int x=5;void func();y=n; int y;printf(MAIN: x=- y=- n=-n,x,y,n);func();void func() static
11、 int x=4;int y=10;x=x+2;n=n+10;y=y+n;printf(FUNC: 我的答案:MAIN: x= 5 y= 1 n= 1FUNC: x= 6 y=21 n=11MAIN: x= 5 y= 1 n=11FUNC: x= 8 y=31 n=21 32 _10输入一个整数,以下程序的运行结果是#include0; i-) printf(%d,ei-1);int sub(int a) int c;c=a%2;return c; ;1010 批语33 以下程序的运行结果是_ #include void fun(); for (i=0;i+) fun();void fun()
12、 static int x=0; x+=1; printf(=,x); 第一空:1 2 3 批语34 _以下程序的运行结果是#include int workover(int i); int reset(int i);int i=0; int i=5; reset(i/2); printf(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=2 批语35 【判断题】 函数调用时值传递方式特点:形参与实参占用相同的内存单元,单向传递。2.536 【判断题】 函数定义与函数说明不是同一个概念。 我的答案: 2.537 【判断题】 语言中,函数的定义不能嵌套,而调用是可以嵌套的。c 分 2.5我的答案:38 【判断题】 函数调用时值传递特点:无论是值传递还是地址传递,都是单向的。 2.5我的答案: 分;39 【判断题】 函数调用时,当数组名作函数参数时,实参数组值与形参数组值不同。分40 函数。main一个C程序可以由一个或多个函数组成,其中必须有且只有一个 分 我的答案:2.5
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1