C语言题库函数Word下载.docx
《C语言题库函数Word下载.docx》由会员分享,可在线阅读,更多相关《C语言题库函数Word下载.docx(66页珍藏版)》请在冰豆网上搜索。
为一个函数的实参;
作为一个函数的形参;
8.若函数的形参为一维数组,则下列说法中正确的是(B)
调用函数时的对应实参必为数组名。
形参数组可以不指定大小。
形参数组的元素个数必须等于实参数组的元素个数。
形参数组的元素个数必须多于实参数组的元素个数。
9.下面叙述中正确的是(C)
对于用户自己定义的函数,在使用前必须加以说明。
说明函数时必须明确其参数类型和返回类型。
函数可以返回一个值,也可以什么值也不返回。
空函数不完成任何操作,所以在程序设计中没有用处。
10.若使用一维数组名作函数参数,则以下正确的说法是(C)
必须在主调用函数中说明此数组的大小;
实参数组类型与形参数组类型可以匹配;
必须
在被调函数中,不需要考虑形参数组的大小;
实参数组名与形参数组名必须一致
3
11.下面说法中不正确的是(B)在C语言中
实参可以是常量、变量或表达式;
形参可以是常量、变量或表达式;
函数的参数是函数间传递数据的一种手段;
实参个数应与对应的形参个数相等,类型匹配
12.以下叙述中正确的是(B)
A全局变量的作用域一定比局部变量的作用域范围大
B静态(static)类别变量的生存期贯穿于整个程序的运行期间
C函数的形参都属于全局变量
D未在定义语句中赋初值的auto变量(不确定)和static变量(为
0)的初值都是随机值
13.下面程序的输出结果是(B)
#include<
stdio.h>
voidnum()
{
externintx,y;
inta=15,b=10;
x=a-b;
4
y=a+b;
}
intx,y;
main()
inta=7,b=5;
num();
printf("
%d,%d\n"
x,y);
12,2
5,25
1,12
输出不确定
14.下面程序的输出结果是(D)
#include<
f(inta)
intb=0;
5
staticintc=3;
static为静态外部变量C不恒等于3(在每次
循环中),而是等于最近一次使用的值。
b++;
c++;
return(a+b+c);
inta=2,i;
for(i=0;
i<
3;
i++)
%d"
f(a));
777
71013
7911
789
15.下面程序的输出结果是(D)
tr()
6
staticintx=3;
x++;
return(x);
inti,x;
i<
=2;
i++)
x=tr();
%d\n"
x);
3
6
16.下面程序的输出结果是(D)
main()
intx=1;
voidf1();
7
voidf2(int);
f1();
f2(x);
voidf1()
intx=3;
intx;
voidf2(intx)
++x);
111
222
333
321
17.下列叙述中错误的是(A)
主函数中定义的变量在整个程序中都是有效的。
8
在其它函数中定义的变量在主函数中也不能使用。
形式参数也是局部变量。
复合语句中定义的变量只在该复合语句中有效。
18.下正确的说法是(A)
如果在一个函数中的复合语句中定义了一个变量,则该变量
只在该复合语句中有效
在该函数中有效
本程序中有效
为非法变量
19.下面程序的输出结果是(B)
intx=10;
intx=20;
printf("
%d,"
9
10,20
20,10
10,10
20,20
20.以下叙述中不正确的是(D)
A在不同的函数中可以使用相同名字的变量
B函数中的形式参数是局部变量
C在一个函数内定义的变量只在本函数范围内有效
D在一个函数内的复合语句中定义的变量在本函数范围内有效
21.下面说法中不正确的是(D)
A全局变量一定是外部变量
B局部变量一定是内部变量。
C全局变量作为函数间传递数据的手段时,与文件的作用类似,都是通过共享某种资源来传递数据。
D全局变量与局部变量不可以重名。
22.以下程序的正确运行结果是(A)(二级题)
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
p);
%d"
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)(二级题)
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
intd=1;
fun(intp)
intd=5;
d+=p++;
d);
inta=3;
fun(a);
d+=a++;
A.84
B.99
C.95
D.44
38.以下对C语言函数的有关描述中,正确的是(A)(二级题)
A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不
16
能传送给实参
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中
39.有如下程序
intfunc(inta,intb)
return(a+b);
intx=2,y=5,z=8,r;
r=func(func(x,y),z);
r);
该程序的输出的结果是(D)(二级题)
A.12
B.13
C.14
D.15
17
40.有如下程序(B)(二级题)
longfib(intn)
if(n>
2)
return(fib(n-1)+fib(n-2));
else
return
(2);
fib(3));
该程序的输出结果是
A.2
B.4
C.6
D.8
41.以下程序的输出结果是(B)(二级题)
18
inta,b;
voidfun()
a=100;
b=200;
inta=5,b=7;
fun();
%d%d\n"
a,b);
A.100200
B.57
C.200100
D.75
42.以下程序运行后,输出结果是(D)(二级题)
func(inta,intb)
intm=0,i=2;
19
m=i+a+b;
A8,15
C8,17
43.以下程序的输出结果是(A)(二级题)
longfun(intn)
longs;
if(n==1||n==2)
20
s=2;
s=n-fun(n-1);
returns;
%ld\n"
fun(3));
A.1
B.2
C.3
D.4
44.以下程序的输出结果是(C)(二级题)
fun(intp)
staticintd=5;
d+=p;
21
return(d);
%d\n"
fun(a+fun(d)));
A.699
B.669
C.61515
D.6615
45.下面程序的输出是(B)(二级题)
intw=3;
fun(intk)
if(k==0)
returnw;
return(fun(k-1)*k);
22
intw=10;
fun(5)*w);
A.360
B.3600
C.1080
D.1200
46.下面程序的输出是(B)(二级题)
intm=13;
intfun2(intx,inty)
intm=3;
return(x*y-m);
inta=7,b=5;
fun2(a,b)/m);
23
C.7
D.10
47.下面程序的输出是(C)(二级题)
fun3(intx)
staticinta=3;
a+=x;
return(a);
intk=2,m=1,n;
n=fun3(k);
n=fun3(m);
n);
A.3
24
D.9
48.C语言中函数能否嵌套调用和递归调用(D)(二级题)
A.二者均不可
B.前者可,后者不可
C.前者不可,后者可
D.二者均可
49.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));
该
函数调用语句中,含有的实参个数是(A)(二级题)
C.5
D.有语法错
50.有以下程序
voidfun(inta[],intn)
inti;
n;
25
if(i%2==0)
a[i]+=n;
a[i]-=n;
intc[5]={5,4,3,2,1},i;
fun(c,5);
5;
c[i]);
\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
#defineN4
voidfun(inta[][N])
N;
a[0][i]=a[N-1][N-1-i];
int
x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i;
fun(x);
x[i][i]);
程序运行后输出的结果是(A)(二级题)B
A.16,6,11,16,
B.1,6,11,16,
C.4,7,10,13,
D.17,17,17,17,
27
52.有以下程序
doublefun(doublea)
doublex;
x=a-(int)a;
returnx;
doublea=3.1415;
%f\n"
fun(a));
程序的运行结果是(C)(二级题)
A.3.000000
B.3.141500
C.0.141500
D.0.000000
53.有如下程序
28
intsum(intdata)
staticintinit=1;
returninit+=data;
for(i=1;
=1;