第八章函数5503文档格式.docx

上传人:b****3 文档编号:18395344 上传时间:2022-12-16 格式:DOCX 页数:16 大小:20.60KB
下载 相关 举报
第八章函数5503文档格式.docx_第1页
第1页 / 共16页
第八章函数5503文档格式.docx_第2页
第2页 / 共16页
第八章函数5503文档格式.docx_第3页
第3页 / 共16页
第八章函数5503文档格式.docx_第4页
第4页 / 共16页
第八章函数5503文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

第八章函数5503文档格式.docx

《第八章函数5503文档格式.docx》由会员分享,可在线阅读,更多相关《第八章函数5503文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

第八章函数5503文档格式.docx

C.doublefun(intx,inty)

D.doublefun(x,y)

10.若某个函数中没有返回值,则应在函数类型处写上关键字(A)。

A.void

C.float

11.C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是(B)。

A.地址传递

B.单向值传递

C.由用户指定传递方式

D.实参传给形参,再由形参传给实参

12.C语言规定,函数返回值的类型是由(D)决定的。

A.return语句中的表达式类型

B.调用该函数时的主调函数类型

C.调用该函数时由系统临时

D.在定义函数时所指定的函数类型

13.若用数组名作为函数调用的实参,传递给形参的是(A)。

A.数组首元素的地址

B.数组中的全部元素的值

C.数组中第一个元素的值

D.数组元素的个数

14.若有以下定义intf(intx),则变量x为(B)。

A.全局变量

B.局部变量

C.静态变量

D.非法变量

15.一个源文件中定义的全局变量的作用域为(D)。

A.本文件全部范围

B.本程序全部范围

C.本函数全部范围

D.从定义开始至本文件结束

16.在一个C语言程序中(B)。

A.main函数必须出现在所有函数之前

B.main函数可以在任何地方出现

C.main函数必须出现在所有函数之后

D.main函数必须出现在固定位置

17.以下不正确的描述为(D)。

A.不同函数中可以使用相同名字的变量

B.形参是局部变量

C.一个函数内部定义的变量只能在本函数范围内有效

D.在一个内部的复合语句中定义的变量可以在本函数范围内有效

18.以下函数的类型是(C)。

fff(floatx)

{printf(“%d\n”,x*x);

}

A.与参数X的类型相同

B.void型

C.int型

D.无法确定

19.以下函数调用语句中,含有的实参个数是(B)。

Func((exp1,exp2),(exp3,exp4,exp5));

A.1

B.2

C.4

D.5

20.C语言中,形参缺省的存储类别是(A)。

A.auto(自动)

B.static(静态)

C.register(寄存器)

D.extern(外部)

21.若x为int型变量,则以下函数fun的类型为(C)。

fun(x){printf(“%d\n”,x);

A.返回值为void类型

B.无法确定返回值

C.返回值为int类型

D.无返回值

22.以下叙述正确的是(A)。

A.C程序中各函数之间既允许直接递归调用,也允许间接递归调用

B.C程序中各函数之间不允许直接递归调用,也不允许间接递归调用

C.C程序中各函数允许直接递归调用,不允许间接递归调用

D.C程序中各函数之间不允许直接递归调用,允许间接递归调用

23.以下叙述中不正确的是(C)。

A.一个变量的作用域完全取决于变量定义语句的位置

B.全局变量可以在函数以外的任何部位进行定义

C.局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用

D.一个变量说明为static存储类别是为于限制其它编译单位的引用

24.以下叙述不正确的是(D)。

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

25.下列说法中正确的是(C)。

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

B.在C语言程序中要调用的函数必须在main()函数中定义

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须在程序的开始部分

26.已知:

staticinta[3][4];

则数组a中各元素(B)。

A.可在程序的运行阶段得到初值0

B.可在程序的编译阶段得到初值0

C.不能得到确定的初值

D.可在程序的编译或运行阶段得到初值0

27.一个完整的C源程序是(B)。

A.要由一个主函数或一个以上的非主函数构成

B.由一个且仅由一个主函数和零个以上的非主函数构成

C.要由一个主函数和一个以上的非主函数构成

D.由一个且只有一个主函数或多个非主函数构成

28.以下关于函数的叙述中正确的是(C)。

A.C语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D.main可作为用户标识符,用以定义任意一个函数

29.以下关于函数的叙述中不正确的是(B)。

A.C程序是函数的集合,包括标准库函数和用户自定义函数

B.在C语言程序中,被调用的函数必须在main函数中定义

C.在C语言程序中,函数的定义不能嵌套

D.在C语言程序中,函数的调用可以嵌套

30.以下关于函数叙述中,错误的是(D)。

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

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

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

D.形参可以是常量、变量或表达式

31.函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是(D)。

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

B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

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

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

32.若函数调用时,用数组名作为函数的参数,以下叙述中正确的是(A)。

A.实参与其对应的形参共用同一段存储空间

B.实参与其对应的形参占用相同的存储空间

C.实参将其地址传递给形参,同时形参也会将该地址传递给实参

D.实参将其地址传递给形参,等同实现了参数之间的双向值的传递

33.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量(C)。

A.为全局变量,在本程序文件范围内有效

B.为局部变量,只在该函数内有效

C.为局部变量,只在该复合语句中有效

D.定义无效,为非法变量

34.若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是(D)。

A.externstaticfloata;

B.floata;

C.externautofloata;

D.externfloata;

35.定义一个void型函数意味着调用该函数时,函数(C)

A.通过return返回一个用户所希望的函数值

B.返回一个系统默认值

C.没有返回值

D.返回一个不确定的值

36.在C语言中,形参必须是(B)。

A.常量

B.变量

C.数值

D.表达式

37.C语言规定,程序中各函数之间(A)。

A.既允许直接递归调用也允许间接递归调用

B.不允许直接递归调用也不允许间接递归调用

C.允许直接递归调用不允许间接递归调用

D.不允许直接递归调用允许间接递归调用

38.若程序中定义函数floatmyadd(floata,floatb){returna+b;

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

以下说明中错误的是(A)。

A.floatmyadd(floata,b);

B.floatmyadd(floatb,floata);

C.floatmyadd(float,float);

D.floatmyadd(floata,floatb);

39.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(A)。

40.在一个C源程序文件中,若要定义一个只允许本源文件中所在函数使用的全局变量,则该变量需要使用的存储类别是(B)。

D.extern(外部

41.下面是求n!

的递归函数,下划线处应选择(D)。

longfunc(intn)

{longs=1;

if(n==0||n==1)return(s);

elses=;

A.s

B.s*n

C.s*func(n-1)

D.n*func(n-1)

42.以下程序执行结果为(C)。

main()

{increment();

increment();

increment()

{staticintx=0;

x+=1;

printf(“%d”,x);

A.111

B.222

C.123

D.333

43.以下程序的输出结果是(A)。

longfun(intn)

{longs;

if(n==1||n==2)s=2;

elses=n-fun(n-1);

returns;

}

main()

{printf("

%ld\n"

fun(3));

}

C.3

D.4

44.有以下程序

intfun(intn)

{

if(n==1)return1;

else

return(n+fun(n-1));

{intx;

scanf("

%d"

&

x);

x=fun(x);

printf("

%d\n"

x);

执行程序时,给变量X输入10,程序的输出结果是(A)。

A.55

B.54

C.65

D.45

45.有以下程序

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;

i<

n;

i++)sum+=x[i];

returnsum;

{inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;

s=fun(a,5)+fun(b,4);

printf("

,s);

程序执行后的输出结果是(C)。

A.45

B.50

C.60

D.55

46.有以下程序

main()

{chars[]="

abcde"

;

s+=2;

%d\n"

,s[0]);

}

执行后的结果是(D)。

A.输出字符a的ASCII码

B.输出字符c的ASCII码

C.输出字符c

D.程序出错

 

47.main()

{intx=3,i;

for(i=0;

3;

i++)printf("

%d"

f(x));

intf(inta)

{intb=0;

staticc=3;

b++;

c++;

return(a+b+c);

执行此程序后屏幕上显示的结果是(D)。

A.81010

B.7910

C.8911

D.8910

48.下列程序段执行后,s的值是(A)。

staticcharch[]="

600"

inta,s=0;

for(a=0;

ch[a]>

='

0'

&

ch[a]<

9'

a++)

s=10*s+ch[a]-'

A.600

B.6

C.0

D.出错

49.有以下程序

#include"

stdio.h"

intabc(intu,intv);

main()

{inta=24,b=16,c;

c=abc(a,b);

printf('

c);

intabc(intu,intv)

{intw;

while(v)

{w=u%v;

u=v;

v=w}

returnu;

输出结果是(C)。

A.6

B.7

C.8

D.9

50.以下程序的输出结果是(C)。

func(inta,intb)

{intc;

c=a+b;

returnc;

{intx=6,y=7,z=8,r=0;

r=func((x--,y++,x+y),z--);

r);

A.11

B.20

C.21

D.31

51.下面程序段运行后的输出结果是(B)(假设程序运行时输入5,3回车)

inta,b;

voidswap()

{intt;

t=a;

a=b;

b=t;

{scanf("

%d,%d"

&

a,&

b);

swap();

printf("

a=%d,b=%d\n"

a,b);

A.a=5,b=3

B.a=3,b=5

C.5,3

D.3,5

52.以下程序运行后的输出结果是(D)。

fun(inta,intb)

if(a>

b)returna;

elsereturnb;

intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

A.3

B.6

C.8

D.12

53.以下程序的运行结果是(C)。

voidf(inta,intb)

intt;

main()

intx=1,y=3,z=2;

if(x>

y)f(x,y);

elseif(y>

z)f(x,z);

elsef(x,z);

%d,%d,%d\n"

x,y,z);

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

54.以下程序的正确运行结果是(A)。

#inclued<

stdio.h>

intk=4,m=1,p;

p=func(k,m);

printf(“%d”,p);

printf(“%d\n”,p);

func(inta,intb)

staticintm=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

A.8,17

B.8,16

C.8,20

D.8,8

55.下列程序的执行结果为(C)

floatf1(floatx)

intk=2;

k=k*x;

returnk;

voidmain()

{floatb=4.3;

%.1f"

f1(b));

A.8.6

B.9.0

C.8.0

D.8

56.执行下列程序后,变量a的值应为(A)

{returnx+1.3;

voidmain()

{floata;

a=f1(2.4);

printf(“%f\n”,a);

A.3.700000

B.3

C.4

D.不确定

57.下面程序的输出是(D)

#include<

string.h>

{charss[10]="

12345"

strcat(ss,"

6789"

);

%s\n"

ss);

A.ABC

B.ABC9

C.123456ABC

D.123456789

58.程序的输出是(B)

intw=3;

voidmain()

{

intw=10;

fun(5)*w);

fun(intk)

{if(k==0)returnw;

return(fun(k-1)*k);

A.360

B.3600

C.1080

D.1200

59.若有以下函数调用语句:

fun(a+b,(x,y),fun(n+k,d,(a,b)));

在此函数调用语句中实参的个数是(A)

B.4

C.5

D.6

60.有一下程序

viodfun(inta,intb,intc)

{a=456;

b=567;

c=678;

{intx=10,y=20,z=30;

fun(x,y,z);

}输出结果是(B)

A.30,20,10

B.10,20,30

C.456,567,678

D.678,567,456

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

当前位置:首页 > 幼儿教育 > 家庭教育

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

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