C语言函数练习题及答案Word文档格式.docx
- 文档编号:21260871
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:24
- 大小:18.96KB
C语言函数练习题及答案Word文档格式.docx
《C语言函数练习题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言函数练习题及答案Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
实参将地址传递给形参,并释放原先占用的存储单元;
实参将地址传递给形参,调用结束时形参再将此地址回传给实参;
实参将值传递给形参,调用结束时形参再将其值回传给实参;
实参将值传递给形参,调用结束时形参并不将其值回传给实参;
D得分:
7
若用数组名作为函数调用的实参,则传递给形参的是?
数组第一个元素的地址;
数组的第一个元素的值;
数组中所有元素的值;
数组元素的个数;
8
【单选题】C语言规定了程序中各函数之间调用关系,以下说法正确的是?
∙A、既允许直接递归调用也允许间接递归调用;
∙B、不允许直接递归调用也不允许间接递归调用;
∙C、允许直接递归调用不允许间接递归调用;
∙D、不允许直接递归调用允许间接递归调用;
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
在函数调用过程中,如果函数fun
A调用了函数fun
B,函数fun
B又调用了函数fun
A,则()。
为函数的直接递归调用
称为函数的间接递归调用
为函数的循环调用
C语言中不允许这样的递归调用
12
有以下函数定义:
void
fun(int
n,double
x)
{……}
下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。
fun(int y,double m);
k=fun(10,12.5);
fun(x,n);
void fun(n,x);
13
已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为______。
inta[3][4];
f(a);
f(int array[][6])
f(int array[3][])
f(int array[][4])
f(int array[2][5])
14
若程序中定义函数
float
fadd(float
a,
b)
{
return
a+b;
}
并将其放在调用语句之后,则在调用之前应对该函数进行说明。
以下说明中错误的是?
float fadd(float a,b);
float fadd(float b, float a) ;
float fadd(float, float) ;
float fadd(float a, float b) ;
15
下面程序段运行后的输出结果是?
(假设程序运行时输入5,3回车)
int
b;
swap(
)
{
t;
t=a;
a=b;
b=t;
main()
a,b;
scanf("
%d,%d"
&
&
b);
);
printf
("
a=%d,b=%d\n"
a,b);
}
a=5,b=3
a=3,b=5
5,3
3,5
16
以下程序运行后的输出结果是?
fun
(int
x,
y)
if(x>
y)
x;
else
y;
x=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);
printf("
%d\n"
r);
17
下列程序的输出结果是()。
#include"
stdio.h"
voidfun(inta,intb,intc)
c=a*b;
int
main()
intc;
fun(2,3,c);
printf("
c);
return0;
无法确定
18
有以下程序,运行后的输出结果是(
)。
#include<
stdio.h>
floatfun(intx,inty)
return(x+y);
voidmain()
inta=2,b=5,c=8;
printf(“%3.0f\n”,fun((int)fun(a+c,b),a-c));
编译出错
21
9.0
0.0分
19
以下描述正确的是?
调用函数时的实参只能是有确定值的变量;
return()语句的括号中,可以是变量、常量或有确定值的表达式;
C语言中,函数调用时实参和形参间的参数传递方式不都是值传递;
实参和形参若类型不匹配,编译时将报错;
20
已有以下代码
inta=6,b=3;
intmain()
inta=8;
(a>
b?
a:
b));
则程序的输出结果是()?
36
f()
staticintx=1;
x-=1;
%d,"
x);
inti;
for(i=0;
i<
4;
i++)
f();
return0;
则程序的输出是:
()?
1,2,3,4
0,1,2,3,
0,-1,-2,-3,
-1,-2,-3,-4,
22
C语言程序的基本单位是?
函数
过程
子程序
源程序文件
23
【单选题】以下说法中正确的是?
∙A、C语言程序总是从第一个定义的函数开始执行;
∙B、C语言程序中,要调用的函数必须在main()函数中定义;
∙C、总是从main()函数开始执行;
∙D、main()函数必须放在程序的开始部分;
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(int
n)
s;
if(n==1)
s=3100;
else
s=salary(n-1)+500;
n=5;
printf(“sarary:
%d\n”,______);
salary(5)
27
分析以下程序的运行结果是_______
#include“stdio.h”
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);
7814
28
有如下程序
longfib(intn)
if(n>
2)
return(fib(n-1)+fib(n-2));
return2;
,fib(3));
该程序的输出结果是_______。
29
以下程序的输出结果是________。
f(int
b[],int
m,int
i,s=0;
for(i=m;
i<
n;
i=i+2)
s=s+b[i];
returns;
x,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
,x);
30
以下程序的输出结果是_____。
fac_sum(int
static
f=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(a[i]);
printf(“sum=%d\n”,sum);
sum=128
31
以下程序的运行结果是________。
#include<
intn=1;
staticintx=5;
voidfunc();
inty;
y=n;
MAIN:
x=%2dy=%2dn=%2d\n"
x,y,n);
func();
voidfunc()
staticintx=4;
inty=10;
x=x+2;
n=n+10;
y=y+n;
FUNC:
x=5y=1n=1FUNC:
x=6y=21n=11MAIN:
x=5y=1n=11FUNC:
x=8y=31n=21
32
输入一个整数10,以下程序的运行结果是_______。
intsub(int);
inta,e[10],c,i=0;
输入一个整数\n"
%d"
a);
while(a!
=0)
c=sub(a);
a=a/2;
e[i]=c;
i++;
for(;
i>
0;
i--)
e[i-1]);
intsub(inta)
c=a%2;
returnc;
1010
33
以下程序的运行结果是______。
voidfun();
for(i=0;
i++)
fun();
voidfun()
staticintx=0;
x+=1;
%3d"
x);
123
34
intworkover(inti);
intreset(inti);
inti=0;
inti=5;
reset(i/2);
i=%d\n"
i);
reset(i=i/2);
workover(i);
intworkover(inti)
i=(i%i)*((i*i)/(2*i)+4);
returni;
intreset(inti)
i=i<
=2?
5:
i=5i=2i=2i=0i=2
35
【判断题】
函数调用时值传递方式特点:
形参与实参占用相同的内存单元,单向传递。
×
函数定义与函数说明不是同一个概念。
√得分:
37
c语言中,函数的定义不能嵌套,而调用是可以嵌套的。
38
函数调用时值传递特点:
无论是值传递还是地址传递,都是单向的。
39
函数调用时,当数组名作函数参数时,实参数组值与形参数组值不同。
40
一个C程序可以由一个或多个函数组成,其中必须有且只有一个main函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数 练习题 答案