C语言题库函数.docx
- 文档编号:10490841
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:39
- 大小:24.43KB
C语言题库函数.docx
《C语言题库函数.docx》由会员分享,可在线阅读,更多相关《C语言题库函数.docx(39页珍藏版)》请在冰豆网上搜索。
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语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型就是(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 函数