ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:33.66KB ,
资源ID:11684861      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11684861.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计题库.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计题库.docx

1、C语言程序设计题库第五章 函 数51 选择题1 C语言是由( )构成。A. 主程序和子程序B. 主函数和若干子函数C. 一个主函数和一个其他函数D. 主函数和子程序2 以下说法中正确的是( )。A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3 以下对C语言函数的有关描述中,正确的是( )。A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B. C函数既可以嵌套定义又可以递归调用C. 函数必须有返回值,否则不能使用函数D

2、. C程序中有调用关系的所有函数必须放在同一个源程序文件中4 C语言程序中,当函数调用时( )。A. 实参和形参各占一个独立的存储单元B. 实参和形参共用一个存储单元C. 可以由用户指定是否共用存储单元D. 计算机系统自动确定是否共用存储单元 5 关于return语句,下列正确的说法是( )。A. 在主函数和其他函数中均要出现B. 必须在每个函数中出现C. 可以在同一个函数中出现多次D. 只能在除主函数之外的函数中出现一次6 一个函数返回值的类型是由( )决定的。A. return语句中表达式的类型B. 在调用函数时临时指定C. 定义函数时指定的函数类型D. 调用该函数的主调函数的类型7 在C

3、语言的函数中,下列正确的说法是( )。A. 必须有形参B. 形参必须是变量名C. 可以有也可以没有形参D. 数组名不能作形参8 以下描述正确的是( )。A. 函数调用可以出现在执行语句或表达式中B. 函数调用不能作为一个函数的实参C. 函数调用可以作为一个函数的形参D. 以上都不正确9 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。A. 地址传递 B. 单向值传递C. 由实参传给形参,再由形参传回实参 D. 传递方式由用户指定10当调用函数时,实参是一个数组名,则向函数传送的是( )。A. 数组的长度 B. 数组的首地址C. 数组每一个元素的地址 D. 数组每个元素

4、中的值11如果在一个函数的复合语句中定义了一个变量,则该变量( )。A. 只在该复合语句中有效,在该复合语句外无效B. 在该函数中任何位置都有效C. 在本程序的源文件范围内均有效D. 此定义方法错误,其变量为非法变量 12下列说法不正确的是( )。A. 主函数main中定义的变量在整个文件或程序中有效B. 不同函数中,可以使用相同名字的变量C. 形式参数是局部变量D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效13在一个源程序文件中定义的全局变量的有效范围是( )。A. 本源程序文件的全部范围B. 一个C程序的所有源程序文件C. 函数内全部范围D. 从定义变量的位置

5、开始到源程序文件结束14以下叙述中不正确的是( )。A. 在不同的函数中可以使用相同名字的变量B. 函数中的形式参数是局部变量C. 在一个函数内定义的变量只在本函数范围内有效D. 在一个函数内的复合语句中定义的变量在本函数范围内有效15如果要限制一个变量只能为本文件所使用,必须通过( )来实现。A. 外部变量说明 B. 静态局部变量C. 静态外部变量 D. 局部变量说明16下列哪种数据不存放在动态存储区中( )。A. 函数形参变量 B. 局部自动变量C. 函数调用时的现场保护和返回地址 D. 局部静态变量17以下叙述中不正确的是( )。A. 函数中的自动变量可以赋初值,每调用一次,赋一次初值。

6、B. 在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C. 外部变量的隐含类别是自动存储类别。D. 函数形参可以说明为register变量。18以下只有在使用时才为该类型变量分配内存的存储类说明是( )。A. auto和 static B. auto和 registerC. register和 static D. extern和 register19C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。A. void B. int C. float D. double20在C语言中,函数的隐含存储类别是( )。A. auto B. static C. extern D. 无存

7、储类别21在C语言中,形参的缺省存储类是( )。A. auto B. register C. static D. extern22若有以下程序#include void f(int n);main() void f(int n);f(5);void f(int n)printf(%dn,n); 则以下叙述中不正确的是( )。A. 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB. 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC. 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D. 函数f无返回值,所以可用void将其类型定义为无值

8、型23以下所列的各函数首部中,正确的是( )。A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. void play(int a,int b)D. Sub play(a as integer,b as integer)24有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是( )。A. 3 B. 4 C. 5 D. 有语法错25若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是( )。A.3 B

9、.4 C.5 D.626以下函数值的类型是( )。fun (float x) float y;y= 3*x-4;return y;A. int B. 不确定 C. void D. float27下列函数定义不正确的是( )。A. int max() B. int max(x,y) int x,y,z; int x,y; z=xy?x:y; int z; z=xy?x:y;return(z);C. int max(x,y) D. int max()int x,y,z; z=xy?x:y; return(z);28下列程序的运行结果是( )。main()int i=3;printf(%d,%d,%

10、dn,i,i+,i+);A. 5,5,4 B. 3,4,5 C. 3,3,4 D. 5,4,329以下程序的输出结果是( )。fun(int x, int y, int z) z=x*x+y*y; main()int a=31;fun(5,2,a);printf(%d,a);A. 0 B. 29 C. 31 D. 无定值30下列程序执行后的输出结果是( )。void func1(int i);void func2(int i);char st=hello,friend!;void func1(int i) printf(%c,sti);if(i3)i+=2;func2(i);void func

11、2(int i)printf(%c,sti);if(i3)i+=2;func1(i);main()int i=0; func1(i); printf(n);A. hello B. hel C. hlo D. hlm31有如下程序int func(int a,int b) return(a+b);main()int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(%dn,r);该程序的输出的结果是( )。A. 12 B. 13 C. 14 D. 1532有以下程序float fun(int x,int y) return(x+y); main()int a=2,

12、b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是( )。A. 编译出错 B. 9 C. 21 D. 9.033有以下程序#include stdio.hint abc(int u,int v);main () int a=24,b=16,c;c=abc(a,b);printf(%dn,c);int abc(int u,int v) int w;while(v) w=u%v; u=v; v=w return u;输出结果是( )。A. 6 B. 7 C. 8 D. 934阅读以下函数:fun(char s,char t)int i

13、=-1;while(+i,si=ti&si!=0);return(si=0&ti=0);以上函数的功能是( )。A. 比较串s和t的长度 B. 比较串s和t的大小C. 比较串s和t是否相等 D. 将串t赋给串s35以下程序的输出结果是( )。f( int b , int m, int n) int i,s=0;for(i=m;in;i=i+2) s=s+bi;return s; main()int x, a =1,2,3,4,5,6,7,8,9;x=f(a,3,7); printf(%dn,x);A. 10 B. 18 C. 8 D. 1536以下程序中函数reverse的功能是将a所指数组中

14、的内容进行逆置。void reverse(int a ,int n) int i,t;for(i=0;in/2;i+) t=ai; ai=an-1-i;an-1-i=t;main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0;reverse(b,8);for(i=6;i10;i+) s+=bi;printf(%dn,s);程序运行后的输出结果是( )。A. 22 B. 10 C. 34 D. 3037请读程序:#includefunc( int a, int b) int c;c=a+b;return c;main() int x=6, y=7, z=8,

15、 r;r=func( (x-,y-,x+y),z-);printf(%dn,r);上面程序的输出结果是( )。A. 11 B. 19 C. 21 D. 3138请读程序:#includef(in b, int n) int i, r;r=1; for(i=0; i=n; i+) r=r*bi;return r;main() int x, a= 2,3,4,5,6,7,8,9;x=f(a, 3);printf(%dn,x); 上面程序的输出结果是( )。A. 720 B. 120 C. 24 D. 639下面程序的输出是( )。main()int t=1; fun(fun(t);fun(int

16、h)static int a3=1,2,3;int k;for(k=0;k3;k+) ak+=ak-h;for(k=0;k2) return(fib(n-1)+fib(n-2);else return(2);main() printf(%dn,fib(3); 该程序的输出结果是( )。A. 2 B. 4 C. 6 D. 841以下程序的输出结果是( )。long fun( int n) long s;if(n=1 | n=2) s=2;else s=n-fun(n-1);return s;main() printf(%ldn, fun(3); A. 1 B. 2 C. 3 D. 442以下程序

17、的输出结果是( )。func(int x)int p;if(x=0|x=1) return(3);p=x-func(x-2);return p;main() printf(%dn,func(9);A. 7 B. 2 C. 0 D. 343有以下程序int f(int n) if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;i3;i+) j+=f(i);printf(%dn,j);程序运行后的输出结果是( )。A. 4 B. 3 C. 2 D. 144下面程序的输出是( )。int w=3;main() int w=10

18、; printf(%dn,fun(5)*w); fun(int k) if(k=0) return w;return(fun(k-1)*k); A. 360 B. 3600 C. 1080 D. 120045以下程序的输出结果是( )。#include stdio.hint i=5;main()int i=3; int i=10;i+;f1();i+=1;printf(%dn,i);int f1()i=i+1; return(i);A.7 B.4 C.12 D.646以下程序的输出结果是( )。int a, b;void fun()a=100; b=200; main() int a=5, b

19、=7;fun();printf(%d%dn, a,b);A. B. 57 C. D. 7547以下程序输出结果是( )。main()int i; for(i=0;i2;i+) add();add()int x=0;static int y=0;printf(%d,%dn,x,y);x+; y=y+2;A. 0,0 B. 0,0 C. 0,0 D. 0,0 0,0 0,2 1,0 1,248设有以下函数:f (int a) int b=0;static int c = 3;b+; c+;return(a+b+c);如果在下面的程序中调用该函数,则输出结果是( )。main() int a = 2

20、, i;for(i=0;i3;i+) printf(%dn,f(a);A. 7 B. 7 C. 7 D. 78 9 10 79 11 13 749以下程序的输出的结果是( )。int x=3;main() int i; for (i=1;ix;i+) incre();incre() static int x=1;x*=x+1;printf( %d,x);A. 3 3 B. 2 2 C. 2 6 D. 2 550有以下程序int a=3;main() int s=0; int a=5; s+=a+; s+=a+;printf(%dn,s);程序运行后的输出结果是( )。A. 8 B. 10 C.

21、 7 D. 1151下面程序的输出是( )。fun3(int x) static int a=3;a+=x;return(a);main() int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(%dn,n);A. 3 B. 4 C. 6 D. 952下面程序的输出是( )。int m=13;int fun2(int x, int y) int m=3;return(x*y-m);main() int a=7, b=5;printf(%dn,fun2(a,b)/m);A. 1 B. 2 C. 7 D. 1053下列程序执行后输出的结果是( )。#include

22、f(int a) int b=0; static c=3;a=c+,b+;return (a); main( ) int a=2,i,k;for(i=0;i2;i+) k=f(a+);printf(%dn,k); A. 3 B. 0 C. 5 D. 454下列程序执行后输出的结果是( )。int d=1;fun (int p) int d=5;d+=p+; printf(%d,d); main( ) int a=3;fun(a);d+=a+; printf(%dn,d); A. 84 B. 96 C. 94 D. 8555以下程序的输出结果是( )。int d=1;fun(int p) sta

23、tic int d=5;d+=p;printf(%d ,d);return(d); main( ) int a=3; printf(%d n,fun(a+fun(d); A. 6 9 9 B. 6 6 9 C. 6 15 15 D. 6 6 1552 填空题1 下面程序的输出结果是 _。 int t(int x,int y,int cp,int dp) cp=x*x+y*y;dp=x*x-y*y;main( ) int a=4,b=3,c=5,d=6;t(a,b,c,d);printf(%d %d n,c,d);2 下面程序运行后的输出结果是_。void fun(int x,int y) x=

24、x+y;y=x-y;x=x-y;printf(%d,%d,x,y); main() int x=2,y=3;fun(x,y);printf(“%d,%dn”,x,y);3 下面程序的输出结果是_。void fun() static int a=0;a+=2; printf(%d,a);main() int cc;for(cc=1;cc4;cc+) fun();printf(n);4 下面程序输出的最后一个值是_。int ff(int n) static int f=1;f=f*n;return f;main() int i;for(i=1;i=5;i+) printf(%5d,ff(i);5

25、下面程序运行结果为_。#includemain()int i;for(i=0;i2;i+) as();as()int lv=0;static int sv=0;printf(%d,%dn,lv,sv);lv+;sv+;return;6 下面程序的输出是_。unsigned fun6( unsigned num) unsigned k=1;do k*=num%10;num/=10; while(num);return(k);main() unsigned n=26;printf(%dn, fun6(n);7 下面程序的输出结果是_。#include fun( int x) int p;if( x

26、=0|x=1) return(3);p=x-fun( x-2);return p;main() printf( %dn, fun(9);8 下面程序的输出是_。long fun5(int n) long s;if(n=1)|(n=2)s=2;elses=n+fun5(n-1);return(s); main() long x;x=fun5(4);printf(%ldn,x);9 下面程序的输出是_。#define MAX 5int aMAX,k;main() fun1();fun3(); fun2(); fun3();printf(n); fun1() for(k=0;kMAX;k+) ak=k+k;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2