C语言函数练习题及答案Word文件下载.docx

上传人:b****5 文档编号:16881702 上传时间:2022-11-26 格式:DOCX 页数:13 大小:21.31KB
下载 相关 举报
C语言函数练习题及答案Word文件下载.docx_第1页
第1页 / 共13页
C语言函数练习题及答案Word文件下载.docx_第2页
第2页 / 共13页
C语言函数练习题及答案Word文件下载.docx_第3页
第3页 / 共13页
C语言函数练习题及答案Word文件下载.docx_第4页
第4页 / 共13页
C语言函数练习题及答案Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言函数练习题及答案Word文件下载.docx

《C语言函数练习题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言函数练习题及答案Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

C语言函数练习题及答案Word文件下载.docx

函数未被调用时,系统将不为形参分配内存单元;

B、?

实参与形参的个数必须相等,且实参与形参的类型必须对应一致;

当形参是变量时,实参可以是常量、变量或表达式;

如函数调用时,实参与形参都为变量,则这两个变量不可能共享同一内存空间;

2.5分B得分:

我的答案:

5

【单选题】若函数调用时参数为基本数据类型的变量,以下叙述正确的是?

实参与其对应的形参共享内存存储单元;

、B?

只有当实参与其对应的形参同名时才共享内存存储单元;

C、?

实参与对应的形参分别占用不同的内存存储单元;

实参将数据传递给形参后,立即释放原先占用的内存存储单元;

C得分:

6

【单选题】实参和形参都是简单变量,它们之间数据传递的过程描述正确的是?

函数调用时,、A?

实参将地址传递给形参,并释放原先占用的存储单元;

实参将地址传递给形参,调用结束时形参再将此地址回传给实参;

实参将值传递给形参,调用结束时形参再将其值回传给实参;

实参将值传递给形参,调用结束时形参并不将其值回传给实参;

D得分:

7

若用数组名作为函数调用的实参,则传递给形参的是?

A、?

数组第一个元素的地址;

数组的第一个元素的值;

数组中所有元素的值;

数组元素的个数;

分2.58

语言规定了程序中各函数之间调用关系,以下说法正确的是?

【单选题】CA、?

既允许直接递归调用也允许间接递归调用;

不允许直接递归调用也不允许间接递归调用;

允许直接递归调用不允许间接递归调用;

不允许直接递归调用允许间接递归调用;

A我的答案:

分得分:

2.59

【单选题】的递归体是?

f(n)=f(n-1)+n(n>

1)递归函数A、?

f

(1)=0

B、?

f(0)=1?

f(n)=f(n-1)+n?

f(n)=n?

分2.5我的答案:

10

【单选题】若函数的形参为一维数组,则下列说法中正确的是()。

使用函数时的对应实参必为数组名。

形参数组可以不指定大小。

形参数组的元素个数必须等于实参数组的元素个数。

形参数组的元素个数必须多于实参数组的元素个数。

B得分:

11

,则funAfunB又调用了函数funB,在函数调用过程中,如果函数funA调用了函数函数()。

为函数的直接递归调用

称为函数的间接递归调用?

为函数的循环调用

语言中不允许这样的递归调用C?

分得分:

2.5我的答案:

B12

【单选题】有以下函数定义:

{……}voidfun(intn,doublex)

的正确调用语句是()。

下选项中的变量都已正确定义并赋值,则对函数fun

y,doublem);

fun(int

k=fun(10,12.5);

fun(x,n);

fun(n,x);

void

2.5C我的答案:

13

【单选题】的正确定义farrayf已有以下数组定义和函数的说明中,对形参数组函数调用语句,则在。

方式为______inta[3][4];

f(a);

array[][6])f(int

array[3][])f(int

array[][4])f(int

D、?

array[2][5])f(int

2.5得分:

C我的答案:

分14

【单选题】若程序中定义函数floatfadd(floata,floatb){returna+b;

}以下说明中错误并将其放在调用语句之后,则在调用之前应对该函数进行说明。

的是?

a,b);

fadd(floatfloat

a);

floatfadd(floatb,float

float);

fadd(float,float

b)float;

floatfadd(floata,

15

【单选题】下面程序段运行后的输出结果是?

(假设程序运行时输入5回车),3inta,b;

voidswap(){

intt;

t=a;

a=b;

b=t;

}voidmain(){

inta,b;

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?

2.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);

printf(%d\n,r);

}

3

6?

8?

12?

D我的答案:

2.5得分:

分17

【单选题】下列程序的输出结果是()。

椣据畬敤尠瑳楤?

屨voidfun(inta,intb,intc){c=a*b;

}main()int

{intc;

fun(2,3,c);

printf(%d\n,c);

return0;

0?

无法确定?

分18

【单选题】)。

有以下程序,运行后的输出结果是(#include<

stdio.h>

floatfun(intx,inty){return(x+y);

}voidmain(){inta=2,b=5,c=8;

-c));

n”,fun((int)fun(a+c,b),a\printf(“%3.0f};

编译出错?

9?

21?

9.0?

分0.0得分:

19

【单选题】以下描述正确的是?

调用函数时的实参只能是有确定值的变量;

语句的括号中,可以是变量、常量或有确定值的表达式;

return()?

语言中,函数调用时实参和形参间的参数传递方式不都是值传递;

C?

实参和形参若类型不匹配,编译时将报错;

2.5B我的答案:

20

【单选题】已有以下代码#include<

inta=6,b=3;

intmain()

{inta=8;

printf(%d\n,(a>

b?

a:

b));

}则程序的输出结果是()?

3?

、C?

36;

21

f()

{

staticintx=1;

x-=1;

printf(%d,,x);

inti;

for(i=0;

i<

4;

i++)

f();

}则程序的输出是:

()?

2,3,41,

0,1,2,3,?

0,-1,-2,-3,?

-1,-2,-3,-4,?

分2.5我的答案:

C22

【单选题】语言程序的基本单位是?

函数?

过程?

子程序?

源程序文件?

得分:

2.5分A我的答案:

23

【单选题】以下说法中正确的是?

语言程序总是从第一个定义的函数开始执行C

函数中定义;

C语言程序中,要调用的函数必须在main()、C?

函数开始执行;

总是从main()D、?

函数必须放在程序的开始部分;

main()2.5分C我的答案:

24

【单选题】在函数调用时,以下说法正确的是?

函数调用后必须带回返回值;

实际参数和形式参数可以同名;

函数间的数据传递不可以使用全局变量;

主调函数和被调函数总是在同一个文件里;

2.5分得分:

B25

【填空题】

下面程序段运行后的输出结果是:

_______

(假设程序运行时输入5,3回车)

voidswap(inta,intb){

intt;

t=a;

a=b;

b=t;

inta,b;

scanf(%d,%d,&

swap(a,b);

printf(a=%d,b=%d\n,a,b);

我的答案:

分0.0第一空:

a=3,b=5

批语26

【填空题】元,其余员工3100以下程序的功能是用递归方法计算工资,已知第一位员工工资最少,为位员工的工资。

请填空。

500元,求第5工资一个比一个多salary(intn){;

ints)n==1if(;

s=3100else;

s=salary(n-1)+500;

returns}()voidmain{;

intn=5);

“sararyprintf(:

%d\n”,______}

分2.5第一空:

salary(5)

批语27

【填空题】_______分析以下程序的运行结果是#include“stdio.h”func(inta,intb){intc;

c=a+b;

returnc;

}intmain(){intx=6,y,r;

y=x+2;

r=func(x++,y);

printf(%d%d%d\n,x,y,r);

分我的答案:

2.5第一空:

7814

批语28

【填空题】有如下程序longfib(intn){if(n>

2);

return(fib(n-1)+fib(n-2))else;

return2}intmain(){;

牰湩晴尨搥屜屮,fib(3))}该程序的输出结果是_______。

第一空:

批语

29

【填空题】。

以下程序的输出结果是________intn),f(intb[],intm{;

,intis=0i=i+2);

for(i=m;

i<

n;

s=s+b[i];

returns}intmain(){;

,89}753a[]={1intx,,2,,4,,6,,;

,7)x=f(a,3;

,牰湩晴尨搥屜屮x)}

第一空:

批语30

以下程序的输出结果是_____#include<

intfac_sum(intn){;

staticintf=1,t=1,s=0;

inti;

if(n>

t)for(i=t+1;

=n;

i++)f=f*i;

else{f=1;

for(i=1;

}t=n;

s=s+f;

return(s);

}voidmain(){inta[]={3,5,2},i,sum;

for(i=0;

3;

i++)sum=fac_sum(a[i]);

n”,sum);

printf(“sum=%d\

sum=128

31

以下程序的运行结果是________#include<

intn=1;

voidmain()

staticintx=5;

voidfunc();

y=n;

inty;

printf(MAIN:

x=-y=-n=-\n,x,y,n);

func();

voidfunc()

staticintx=4;

inty=10;

x=x+2;

n=n+10;

y=y+n;

printf(FUNC:

}我的答案:

MAIN:

x=5y=1n=1FUNC:

x=6y=21n=11MAIN:

x=5y=1n=11FUNC:

x=8y=31

n=21

32

_______10输入一个整数,以下程序的运行结果是#include<

intsub(int);

inta,e[10],c,i=0;

\n);

瀠楲瑮?

输入一个整数scanf(%d,&

a);

while(a!

=0)

{

c=sub(a);

a=a/2;

e[i]=c;

i++;

for(;

i>

0;

i--)

printf(%d,e[i-1]);

intsub(inta)

intc;

c=a%2;

returnc;

};

1010

批语33

以下程序的运行结果是______#include<

voidfun();

for(i=0;

i++)

fun();

voidfun()

staticintx=0;

x+=1;

printf(=,x);

第一空:

123

批语34

________以下程序的运行结果是#include<

intworkover(inti);

intreset(inti);

inti=0;

inti=5;

reset(i/2);

printf(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

【判断题】函数调用时值传递方式特点:

形参与实参占用相同的内存单元,单向传递。

×

2.536

【判断题】函数定义与函数说明不是同一个概念。

√我的答案:

2.537

【判断题】语言中,函数的定义不能嵌套,而调用是可以嵌套的。

c√分2.5我的答案:

38

【判断题】函数调用时值传递特点:

无论是值传递还是地址传递,都是单向的。

√2.5我的答案:

分;

39

【判断题】

函数调用时,当数组名作函数参数时,实参数组值与形参数组值不同。

分40

函数。

main一个C程序可以由一个或多个函数组成,其中必须有且只有一个√分我的答案:

2.5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1