C语言题库函数.docx

上传人:b****4 文档编号:3583206 上传时间:2022-11-24 格式:DOCX 页数:66 大小:25.76KB
下载 相关 举报
C语言题库函数.docx_第1页
第1页 / 共66页
C语言题库函数.docx_第2页
第2页 / 共66页
C语言题库函数.docx_第3页
第3页 / 共66页
C语言题库函数.docx_第4页
第4页 / 共66页
C语言题库函数.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

C语言题库函数.docx

《C语言题库函数.docx》由会员分享,可在线阅读,更多相关《C语言题库函数.docx(66页珍藏版)》请在冰豆网上搜索。

C语言题库函数.docx

C语言题库函数

 

C语言函数练习题

 

一、选择题

 

1.在函数的说明和定义时若没有指出函数的类型,则(A)

 

A:

系统自动地认为函数的类型为整型。

 

B:

系统自动地认为函数的类型为字符型。

 

C:

系统自动地认为函数的类型为实型。

 

D:

编译时会出错。

 

2.下面正确的函数定义形式是(A)

 

A:

doublefun(intx,inty){}

 

B:

doublefun(intx;inty){}

 

C:

doublefun(intx,inty);

 

D:

doublefun(intx,y);

 

3.若调用一个函数,且此函数中没有return语句,则正确的说法是:

该函数(D)

 

A:

没有返回值;

 

B:

返回若干个系统默认值;

 

C:

能返回一个用户所希望的函数值;

 

D:

返回一个不确定的值

 

4.C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值

 

1

 

类型是(B)

 

A:

float型

 

B:

int型

 

C:

long型

 

D:

double型

 

5.C语言规定,函数返回值的类型是由(D)(二级题)

 

A:

return语句中的表达式类型所决定;

 

B:

调用该函数时的主调函数类型所决定;

 

C:

调用该函数时系统临时决定;

 

D:

在定义该函数时所指定的函数类型所决定

 

6.下面函数调用语句含有实参的个数为(B)

 

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

 

A:

1

 

B:

2

 

C:

5

 

D:

4

 

7.以下错误的描述是(D)函数的调用可以

 

A:

出现在执行语句中;

 

2

 

B:

出现在一个表达式中;

 

C:

为一个函数的实参;

 

D:

作为一个函数的形参;

 

8.若函数的形参为一维数组,则下列说法中正确的是(B)

 

A:

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

 

B:

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

 

C:

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

 

D:

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

 

9.下面叙述中正确的是(C)

 

A:

对于用户自己定义的函数,在使用前必须加以说明。

 

B:

说明函数时必须明确其参数类型和返回类型。

 

C:

函数可以返回一个值,也可以什么值也不返回。

 

D:

空函数不完成任何操作,所以在程序设计中没有用处。

 

10.若使用一维数组名作函数参数,则以下正确的说法是(C)

 

A:

必须在主调用函数中说明此数组的大小;

 

B:

实参数组类型与形参数组类型可以匹配;必须

 

C:

在被调函数中,不需要考虑形参数组的大小;

 

D:

实参数组名与形参数组名必须一致

 

3

 

11.下面说法中不正确的是(B)在C语言中

 

A:

实参可以是常量、变量或表达式;

 

B:

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

 

C:

函数的参数是函数间传递数据的一种手段;

 

D:

实参个数应与对应的形参个数相等,类型匹配

 

12.以下叙述中正确的是(B)

 

A全局变量的作用域一定比局部变量的作用域范围大

 

B静态(static)类别变量的生存期贯穿于整个程序的运行期间

 

C函数的形参都属于全局变量

 

D未在定义语句中赋初值的auto变量(不确定)和static变量(为

 

0)的初值都是随机值

 

13.下面程序的输出结果是(B)

 

#include

 

voidnum()

 

{

 

externintx,y;

 

inta=15,b=10;

 

x=a-b;

 

4

 

y=a+b;

 

}

 

intx,y;

 

main()

 

{

 

inta=7,b=5;

 

x=a-b;

 

y=a+b;

 

num();

 

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

 

}

 

A:

12,2

 

B:

5,25

 

C:

1,12

 

D:

输出不确定

 

14.下面程序的输出结果是(D)

 

#include

 

f(inta)

 

{

 

intb=0;

 

5

 

staticintc=3;static为静态外部变量C不恒等于3(在每次

 

循环中),而是等于最近一次使用的值。

 

b++;

 

c++;

 

return(a+b+c);

 

}

 

main()

 

{

 

inta=2,i;

 

for(i=0;i<3;i++)

 

printf("%d",f(a));

 

}

 

A:

777

 

B:

71013

 

C:

7911

 

D:

789

 

15.下面程序的输出结果是(D)

 

#include

 

tr()

 

{

 

6

 

staticintx=3;

 

x++;

 

return(x);

 

}

 

main()

 

{

 

inti,x;

 

for(i=0;i<=2;i++)

 

x=tr();

 

printf("%d\n",x);

 

}

 

A:

3

 

B:

4

 

C:

5

 

D:

6

 

16.下面程序的输出结果是(D)

 

#include

 

main()

 

{

 

intx=1;

 

voidf1();

 

7

 

voidf2(int);

 

f1();

 

f2(x);

 

printf("%d\n",x);

 

}

 

voidf1()

 

{

 

intx=3;

 

printf("%d",x);

 

}

 

intx;

 

voidf2(intx)

 

{

 

printf("%d",++x);

 

}

 

A:

111

 

B:

222

 

C:

333

 

D:

321

 

17.下列叙述中错误的是(A)

 

A:

主函数中定义的变量在整个程序中都是有效的。

 

8

 

B:

在其它函数中定义的变量在主函数中也不能使用。

 

C:

形式参数也是局部变量。

 

D:

复合语句中定义的变量只在该复合语句中有效。

 

18.下正确的说法是(A)

 

如果在一个函数中的复合语句中定义了一个变量,则该变量

 

A:

只在该复合语句中有效

 

B:

在该函数中有效

 

C:

本程序中有效

 

D:

为非法变量

 

19.下面程序的输出结果是(B)

 

#include

 

main()

 

{

 

intx=10;

 

{

 

intx=20;

 

printf("%d,",x);

 

}

 

printf("%d\n",x);

 

}

 

9

 

A:

10,20

 

B:

20,10

 

C:

10,10

 

D:

20,20

 

20.以下叙述中不正确的是(D)

 

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

 

B函数中的形式参数是局部变量

 

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

 

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

 

21.下面说法中不正确的是(D)

 

A全局变量一定是外部变量

 

B局部变量一定是内部变量。

 

C全局变量作为函数间传递数据的手段时,与文件的作用类似,都是通过共享某种资源来传递数据。

 

D全局变量与局部变量不可以重名。

 

22.以下程序的正确运行结果是(A)(二级题)

 

#include

 

func(inta,intb)

 

{

 

10

 

staticintm=0,i=2;

 

i+=m+1;

 

m=i+a+b;

 

return(m);

 

}

 

voidmain()

 

{

 

intk=4,m=1,p;

 

p=func(k,m);8

 

printf("%d,",p);

 

p=func(k,m);

 

printf("%d",p);

 

}

 

A8,17

 

B8,16

 

C8,20

 

D8,8

 

23.C语言程序的基本单位是(C)(二级题)

 

A.程序行

 

B.语句

 

11

 

C.函数

 

D.字符

 

24.C语言规定,程序中各函数之间(A)(二级题)

 

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

 

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

 

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

 

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

 

25.C语言可执行程序的开始执行点是(C)(二级题)

 

A.程序中第一条可执行语句

 

B.程序中第一个函数

 

C.程序中的main函数

 

D.包含文件中的第一个函数

 

26.C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为(D)(二级题)

 

A.该数组的长度。

 

B.该数组的元素个数。

 

C.该数组中各元素的值。

 

D.该数组的首地址。

 

12

 

27.当调用函数时,实参是一个数组名,则向函数传送的是(B)

 

(二级题)

 

A.数组的长度

 

B.数组的首地址

 

C.数组每一个元素的地址

 

D.数组每个元素中的值

 

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

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

 

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

 

A.3

 

B.4

 

C.5

 

D.6

 

29.在C语言中,函数的隐含存储类别是(C)(二级题)

 

A.auto

 

B.static

 

C.extern

 

D.无存储类别

 

30.在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是(C)类型(二级题)

 

13

 

A.void

 

B.double

 

C.int

 

D.char

 

31.在C语言中,形参的缺省存储类是(A)(二级题)

 

A.auto

 

B.register

 

C.static

 

D.extern

 

32.以下函数值的类型是(A)(二级题)

 

fun(floatx){floaty;y=3*x-4;returny;}

 

A.int

 

B.不确定

 

C.void

 

D.float

 

33.以下说法中正确的是(C)(二级题)

 

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

 

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

 

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

 

14

 

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

 

34.以下所列的各函数首部中,正确的是(C)(二级题)

 

A.voidplay(vara:

integer,varb:

integer)

 

B.voidplay(inta,b)

 

C.voidplay(inta,intb)

 

D.subplay(aasinteger,basinteger)

 

35.以下叙述中不正确的是(C)(二级题)

 

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

 

B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容。

 

C.在C中,外部变量的隐含类别是自动存储类别。

 

D.在C中,函数形参可以说明为register变量。

 

36.以下叙述中不正确的是(D)(二级题)

 

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

 

B.函数中的形式参数是局部变量

 

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

 

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

 

37.以下程序运行后,输出结果是(A)(二级题)C

 

15

 

#include

 

intd=1;

 

fun(intp)

 

{

 

intd=5;

 

d+=p++;

 

printf("%d",d);

 

}

 

main()

 

{

 

inta=3;

 

fun(a);

 

d+=a++;

 

printf("%d\n",d);

 

}

 

A.84

 

B.99

 

C.95

 

D.44

 

38.以下对C语言函数的有关描述中,正确的是(A)(二级题)

 

A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不

 

16

 

能传送给实参

 

B.C函数既可以嵌套定义又可以递归调用

 

C.函数必须有返回值,否则不能使用函数

 

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

 

39.有如下程序

 

#include

 

intfunc(inta,intb)

 

{

 

return(a+b);

 

}

 

main()

 

{

 

intx=2,y=5,z=8,r;

 

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

 

printf("%d\n",r);

 

}

 

该程序的输出的结果是(D)(二级题)

 

A.12

 

B.13

 

C.14

 

D.15

 

17

 

40.有如下程序(B)(二级题)

 

#include

 

longfib(intn)

 

{

 

if(n>2)

 

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

 

else

 

return

(2);

 

}

 

main()

 

{

 

printf("%d\n",fib(3));

 

}

 

该程序的输出结果是

 

A.2

 

B.4

 

C.6

 

D.8

 

41.以下程序的输出结果是(B)(二级题)

 

#include

 

18

 

inta,b;

 

voidfun()

 

{

 

a=100;b=200;

 

}

 

main()

 

{

 

inta=5,b=7;

 

fun();

 

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

 

}

 

A.100200

 

B.57

 

C.200100

 

D.75

 

42.以下程序运行后,输出结果是(D)(二级题)

 

#include

 

func(inta,intb)

 

{

 

intm=0,i=2;

 

i+=m+1;

 

19

 

m=i+a+b;

 

return(m);

 

}

 

main()

 

{

 

intk=4,m=1,p;

 

p=func(k,m);

 

printf("%d,",p);

 

p=func(k,m);

 

printf("%d\n",p);

 

}

 

A8,15

 

B8,16

 

C8,17

 

D8,8

 

43.以下程序的输出结果是(A)(二级题)

 

#include

 

longfun(intn)

 

{

 

longs;

 

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

 

20

 

s=2;

 

else

 

s=n-fun(n-1);

 

returns;

 

}

 

main()

 

{

 

printf("%ld\n",fun(3));

 

}

 

A.1

 

B.2

 

C.3

 

D.4

 

44.以下程序的输出结果是(C)(二级题)

 

#include

 

intd=1;

 

fun(intp)

 

{

 

staticintd=5;

 

d+=p;

 

printf("%d",d);

 

21

 

return(d);

 

}

 

main()

 

{

 

inta=3;

 

printf("%d\n",fun(a+fun(d)));

 

}

 

A.699

 

B.669

 

C.61515

 

D.6615

 

45.下面程序的输出是(B)(二级题)

 

#include

 

intw=3;

 

fun(intk)

 

{

 

if(k==0)

 

returnw;

 

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

 

}

 

main()

 

22

 

{

 

intw=10;

 

printf("%d\n",fun(5)*w);

 

}

 

A.360

 

B.3600

 

C.1080

 

D.1200

 

46.下面程序的输出是(B)(二级题)

 

#include

 

intm=13;

 

intfun2(intx,inty)

 

{

 

intm=3;

 

return(x*y-m);

 

}

 

main()

 

{

 

inta=7,b=5;

 

printf("%d\n",fun2(a,b)/m);

 

}

 

23

 

A.1

 

B.2

 

C.7

 

D.10

 

47.下面程序的输出是(C)(二级题)

 

#include

 

fun3(intx)

 

{

 

staticinta=3;

 

a+=x;

 

return(a);

 

}

 

main()

 

{

 

intk=2,m=1,n;

 

n=fun3(k);

 

n=fun3(m);

 

printf("%d\n",n);

 

}

 

A.3

 

B.4

 

24

 

C.6

 

D.9

 

48.C语言中函数能否嵌套调用和递归调用(D)(二级题)

 

A.二者均不可

 

B.前者可,后者不可

 

C.前者不可,后者可

 

D.二者均可

 

49.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该

 

函数调用语句中,含有的实参个数是(A)(二级题)

 

A.3

 

B.4

 

C.5

 

D.有语法错

 

50.有以下程序

 

#include

 

voidfun(inta[],intn)

 

{

 

inti;

 

for(i=0;i

 

25

 

{

 

if(i%2==0)

 

a[i]+=n;

 

else

 

a[i]-=n;

 

}

 

}

 

main()

 

{

 

intc[5]={5,4,3,2,1},i;

 

fun(c,5);

 

for(i=0;i<5;i++)

 

printf("%d,",c[i]);

 

printf("\n");

 

}

 

程序运行后输出的结果是(A)(二级题)

 

A.10,-1,8,-3,6,B.5,4,3,2,1,C.10,2,8,4,6,D.5,-1,3,-3,1,

 

51.有以下程序

 

26

 

#include

 

#defineN4

 

voidfun(inta[][N])

 

{

 

inti;

 

for(i=0;i

 

a[0][i]=a[N-1][N-1-i];

 

}

 

main()

 

{

 

int

 

x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i;

 

fun(x);

 

for(i=0;i

 

printf("%d,",x[i][i]);

 

printf("\n");

 

}

 

程序运行后输出的结果是(A)(二级题)B

 

A.16,6,11,16,

 

B.1,6,11,16,

 

C.4,7,10,13,

 

D.17,17,17,17,

 

27

 

52.有以下程序

 

#include

 

#defineN4

 

doublefun(doublea)

 

{

 

doublex;

 

x=a-(int)a;

 

returnx;

 

}

 

main()

 

{

 

doublea=3.1415;

 

printf("%f\n",fun(a));

 

}

 

程序的运行结果是(C)(二级题)

 

A.3.000000

 

B.3.141500

 

C.0.141500

 

D.0.000000

 

53.有如下程序

 

28

 

#include

 

intsum(intdata)

 

{

 

staticintinit=1;

 

returninit+=data;

 

}

 

main()

 

{

 

inti;

 

for(i=1;i<=1;i++)

 

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

当前位置:首页 > 求职职场 > 简历

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

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