C语言题库函数Word版.docx
- 文档编号:10740780
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:39
- 大小:24.61KB
C语言题库函数Word版.docx
《C语言题库函数Word版.docx》由会员分享,可在线阅读,更多相关《C语言题库函数Word版.docx(39页珍藏版)》请在冰豆网上搜索。
C语言题库函数Word版
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语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是(
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:
出现在执行语句中;
B:
出现在一个表达式中;
C:
为一个函数的实参;
D:
作为一个函数的形参;
8.若函数的形参为一维数组,则下列说法中正确的是(B)
A:
调用函数时的对应实参必为数组名。
B:
形参数组可以不指定大小。
C:
形参数组的元素个数必须等于实参数组的元素个数。
D:
形参数组的元素个数必须多于实参数组的元素个数。
9.下面叙述中正确的是(C)
A:
对于用户自己定义的函数,在使用前必须加以说明。
B:
说明函数时必须明确其参数类型和返回类型。
C:
函数可以返回一个值,也可以什么值也不返回。
D:
空函数不完成任何操作,所以在程序设计中没有用处。
10.若使用一维数组名作函数参数,则以下正确的说法是(C)
A:
必须在主调用函数中说明此数组的大小;
B:
实参数组类型与形参数组类型可以匹配;必须
C:
在被调函数中,不需要考虑形参数组的大小;
D:
实参数组名与形参数组名必须一致
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;
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;
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()
{
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();
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:
主函数中定义的变量在整个程序中都是有效的。
B:
在其它函数中定义的变量在主函数中也不能使用。
C:
形式参数也是局部变量。
D:
复合语句中定义的变量只在该复合语句中有效。
18.下正确的说法是(A)
如果在一个函数中的复合语句中定义了一个变量,则该变量
A:
只在该复合语句中有效
B:
在该函数中有效
C:
本程序中有效
D:
为非法变量
19.下面程序的输出结果是(B)
#include
main()
{
intx=10;
{
intx=20;
printf("%d,",x);
}
printf("%d\n",x);
}
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)
{
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);
}
A 8,17
B 8,16
C 8,20
D 8,8
23.C语言程序的基本单位是(C)(二级题)
A.程序行
B.语句
C.函数
D.字符
24.C语言规定,程序中各函数之间(A)(二级题)
A.既允许直接递归调用也允许间接递归调用
B.不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D.不允许直接递归调用允许间接递归调用
25.C语言可执行程序的开始执行点是(C)(二级题)
A.程序中第一条可执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
26.C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为(D)(二级题)
A.该数组的长度。
B.该数组的元素个数。
C.该数组中各元素的值。
D.该数组的首地址。
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)类型(二级题)
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()函数开始执行
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
#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中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
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
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
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;
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)
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);
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()
{
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);
}
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
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 { 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.有以下程序 #include #defineN4 voidfun(inta[][N]) { inti; for(i=0;i a[0][i]=a[N-1][N-1-i]; } main() { intx[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, 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.有如下程序 #include intsum(intdata) { staticintinit=1; returninit+=data; } main() { inti; for(i=1;i<=1;i++) printf("%d,",sum(i)); printf("\n"); } 程序运行后输出的结果是(A)(二级题) A.2, B.2,3, C.3, D.1, 54.以下针对全局变量的叙述错误的是(C)(二级题) A.全局变量的作用域是从定义位置开始至源文件结束 B.全局变量是在函数外部任意位置上定义的变量 C.用extern说明符可以限制全局变量的作用域 D.全局变量的生存期贯穿于整个程序运行期间 55.有以下程序 #include voidfun(inta[],intn) { inti; for(i=0;i { if(i%3==0) a[i]-=n; else a[i]+=n; } } main() { intc[5]={6,7,8,9,10},i; fun(c,5); for(i=0;i<5;i++) printf("%d,",c[i]); printf("\n"); } 程序运行后输出的结果是(A)(二级题) A.1,12,13,4,15, B.10,9,8,7,6, C.1,7,13,9,15, D.10,12,8,4,6, 56.有以下程序 #include intsub(doublea,doubleb) { return(int)(a-b-1.3); } main() { printf("%d\n",sub(3.2,4.1)); } 程序运行后输出的结果是(A)(二级题) A.-2 B.1.7 C.-3 D.2.0 57.有如下程序 #include voidconvert(charch) { if(ch<'X')convert(ch+1); printf("%c",ch); } main() { convert('W'); printf("\n"); } 程序运行后输出的结果是(D)(二级题) A.YZ B.VW C.XY D.XW 58.有如下程序 #include voidget_put() { charch; ch=getchar(); if(ch! ='\n')get_put(); putchar(ch); } main() { get_put(); } 程序运行时,输入ABCD<回车>,则输出结果是(B)(二级题) A.DCDC B.DCBA C.BABA D.ABCD 59.以下叙述错误的是(A)(二级题) A.未经赋值的全局变量值不确定 B.未经赋值的auto变量值不确定 C.未经赋值的register变量值不确定 D.未经赋值的静态局部变量值为0 60.有如下程序 #include intsum(inta,intb) { returna+b-2; } main() { inti; for(i=0;i<5;i++) printf("%d",sum(i,3)); printf("\n"); } 程序运行后的输出结果是(D)(二级题) A.54321 B.01234 C.45678 D.12345 二、填空题 1.C语言规定,可执行程序的开始执行点是main()。 2.阅读以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 函数 Word
![提示](https://static.bdocx.com/images/bang_tan.gif)