C语言函数练习题及答案Word格式文档下载.docx
- 文档编号:15101176
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:22
- 大小:18.37KB
C语言函数练习题及答案Word格式文档下载.docx
《C语言函数练习题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言函数练习题及答案Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
调用该函数时的实参的数据类型;
形参的数据类型;
A得分:
以下关于函数叙述中,错误的是
函数未被调用时,系统将不为形参分配内存单元;
实参与形参的个数必须相等,且实参与形参的类型必须对应一致;
当形参是变量时,实参可以是常量、变量或表达式;
如函数调用时,实参与形参都为变量,则这两个变量不可能共享同一内存空间;
若函数调用时参数为基本数据类型的变量,以下叙述正确的是
实参与其对应的形参共享内存存储单元;
只有当实参与其对应的形参同名时才共享内存存储单元;
实参与对应的形参分别占用不同的内存存储单元;
实参将数据传递给形参后,立即释放原先占用的内存存储单元;
C得分:
6
函数调用时,实参和形参都是简单变量,它们之间数据传递的过程描述正确的是
实参将地址传递给形参,并释放原先占用的存储单元;
实参将地址传递给形参,调用结束时形参再将此地址回传给实参;
实参将值传递给形参,调用结束时形参再将其值回传给实参;
实参将值传递给形参,调用结束时形参并不将其值回传给实参;
D得分:
7
若用数组名作为函数调用的实参,则传递给形参的是
数组第一个元素的地址;
数组的第一个元素的值;
数组中所有元素的值;
数组元素的个数;
8
【单选题】C语言规定了程序中各函数之间调用关系,以下说法正确的是
9
递归函数f(n)=f(n-1)+n(n>
1)的递归体是
f
(1)=0
f(0)=1
f(n)=f(n-1)+n
f(n)=n
10
若函数的形参为一维数组,则下列说法中正确的是()。
使用函数时的对应实参必为数组名。
形参数组可以不指定大小。
形参数组的元素个数必须等于实参数组的元素个数。
形参数组的元素个数必须多于实参数组的元素个数。
11
在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。
为函数的直接递归调用
称为函数的间接递归调用
为函数的循环调用
C语言中不允许这样的递归调用
12
有以下函数定义:
voidfun(intn,doublex){……}
下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。
fun(inty,doublem);
k=fun(10,;
fun(x,n);
voidfun(n,x);
13
已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为______。
inta[3][4];
f(a);
f(intarray[][6])
f(intarray[3][])
f(intarray[][4])
f(intarray[2][5])
14
若程序中定义函数
floatfadd(floata,floatb)
{
returna+b;
}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。
以下说明中错误的是
floatfadd(floata,b);
floatfadd(floatb,floata);
floatfadd(float,float);
floatfadd(floata,floatb);
15
下面程序段运行后的输出结果是
(假设程序运行时输入5,3回车)
inta,b;
voidswap()
intt;
t=a;
a=b;
b=t;
voidmain()
scanf("
%d,%d"
&
a,&
b);
swap();
printf("
a=%d,b=%d\n"
a,b);
a=5,b=3
a=3,b=5
5,3
3,5
16
以下程序运行后的输出结果是
intfun(intx,inty)
if(x>
y)
returnx;
else
returny;
intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
%d\n"
r);
17
下列程序的输出结果是()。
#include"
"
voidfun(inta,intb,intc)
c=a*b;
intmain()
intc;
fun(2,3,c);
printf("
c);
return0;
无法确定
18
有以下程序,运行后的输出结果是()。
#include<
>
floatfun(intx,inty)
return(x+y);
voidmain()
inta=2,b=5,c=8;
printf(“%\n”,fun((int)fun(a+c,b),a-c));
编译出错
21
19
以下描述正确的是
调用函数时的实参只能是有确定值的变量;
return()语句的括号中,可以是变量、常量或有确定值的表达式;
C语言中,函数调用时实参和形参间的参数传递方式不都是值传递;
实参和形参若类型不匹配,编译时将报错;
20
已有以下代码
inta=6,b=3;
intmain()
inta=8;
(a>
ba:
b));
则程序的输出结果是()
36
f()
staticintx=1;
x-=1;
%d,"
x);
inti;
for(i=0;
i<
4;
i++)
f();
则程序的输出是:
()
1,2,3,4
0,1,2,3,
0,-1,-2,-3,
-1,-2,-3,-4,
22
C语言程序的基本单位是
函数
过程
子程序
源程序文件
23
【单选题】以下说法中正确的是
24
在函数调用时,以下说法正确的是
函数调用后必须带回返回值;
实际参数和形式参数可以同名;
函数间的数据传递不可以使用全局变量;
主调函数和被调函数总是在同一个文件里;
25
【填空题】
下面程序段运行后的输出结果是:
_______
voidswap(inta,intb)
intt;
t=a;
a=b;
b=t;
inta,b;
scanf("
a,&
swap(a,b);
printf("
得分:
第一空:
批语
26
以下程序的功能是用递归方法计算工资,已知第一位员工工资最少,为3100元,其余员工工资一个比一个多500元,求第5位员工的工资。
请填空。
salary(intn)
ints;
if(n==1)
s=3100;
s=salary(n-1)+500;
returns;
intn=5;
printf(“sarary:
%d\n”,______);
salary(5)
27
分析以下程序的运行结果是_______
#include“”
func(inta,intb)
c=a+b;
returnc;
intx=6,y,r;
y=x+2;
r=func(x++,y);
%d%d%d\n"
x,y,r);
return0;
7814
28
有如下程序
longfib(intn)
if(n>
2)
return(fib(n-1)+fib(n-2));
return2;
,fib(3));
该程序的输出结果是_______。
29
以下程序的输出结果是________。
f(intb[],intm,intn)
inti,s=0;
for(i=m;
i<
n;
i=i+2)
s=s+b[i];
intmain()
intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
,x);
我的答
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 练习题 答案