版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、函数练习题1.以下正确的说法是( )A.用户若需调用标准库函数,调用前必须重新定义 B.用户可以重新定义标准库函数,若如此,该函数失去原有含义C。系统根本不允许用户重新定义标准库函数D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自去调2.以下函数的正确定义形式是( )Adouble fun(int x,int y) fun(int x;int y) fun(int x,int y); fun(int x,y);3.以下正确的函数形式是( )Adouble fun(int x,int y) z=x+y;return z;(int x,y) int z
2、;return z; (x,y) int x,y; double z; z=x+y; retun z; fun(int x,int y) double z;z=x+y;return z; 4.以下正确的说法是( )在C语言中:A实参和与其对应的形参各占用独立的存储单元 B。实参和与其对应的形参共占用一个存储单元C只有当实参和与其对应的形参同名时才共占用存储单元 D。形参是虚拟的,不占用存储单元5.若调用一个函数,且此函数中没有return语句,则正确的说法是( )该函数:A没有返回值 B。返回若干个系统默认值 C。能返回一个用户所希望的函数值 D。返回一个确定的值6.以下说法不正确的是( )C
3、语言规定: A。实参可以是常量、变量或表达式B形参可以是常量、变量或表达式 C。实参可以为任意类型 D。形参应与其对应的实参类型一致7.以下说法正确的是( )A定义函数时,形参的类型说明可以放在函数体内 B。return后边的值不能为表达式。如果函数值的类型与返回值类型不一致,以函数值类型为准。如果形参与实参的类型不一致以实参类型为准8.语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( )。地址传递单向值传递 由实参传给形参,再由形参传回给实参由用户指定传递方式9.语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。
4、float型 。int型 。long型 型10.语言规定,函数返回值的类型是由().return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定11.下面函数调用语句含有实参的个数为()A. 1.212.以下错误的描述是()函数调用可以A. 出现在执行语句中B.出现在一个表达式中 C.做为一个函数的实参D.做为一个函数的形参13.以下正确的描述是()在语言程序中A. 函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和调用均可
5、以嵌套14.已有以下数组定义和f函数调用的语句,则在f函数的说明中,对形参数组array的错误定义方式为()int a34; f(a);(int array6) (int array3) (int array4) (int array2515.若使用一维数组名作函数实参,则以下正确的说法是()A.必须在主调函数中说明此数组的大小B.实参数组类型与形参数组类型可以不匹配C.在被调函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致16.以下正确的说法是()如果在一个函数中的复合语句中定义了一个变量,则该变量A.只在该复合语句中有效B.在该函数中有效C.在本程序范围内均有效D.为非
6、法变量17.以下不正确的说法为()A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量C.在函数内定义的变量只在函数范围内有效D.在函数内的复合语句中定义的变量在本函数范围内有效19.以下程序的正确运行结果是()void num()extem int x,y; int a=15;b=10;x=a-b; y=a+b; int x,y;main()int a=7,b=5;x=a+b; y=a-b; num(); printf(“%d,%d”,x,y);,2 B,不正确 C,5,25 ,1220.凡是函数中未指定存储类别的局部变量,其隐含的存储类型是() B. static C.
7、extern D. register21.在一个源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是() 22.以下程序的正确运行结果是()main()int a=2,I;for(I=0;I<3;I+) printf(“%4d”,f(a);f(int a)int b=0; static int c=3;b+; c+; return(a+b+c); 7 7 10 13 C.7 9 11 8 923.以下程序的正确运行结果是( )#include<>main()int k=4,m=1,p;p=func(k,m); printf(“%d”,
8、p);p=func(k,m); printf(“%dn”,p);func(int a,int b)static int m=0,I=2;I+=m+1; m=I+a+b; return(m);,17 ,16 C.8,20 ,8填空题:24.语言规定,可执行程序的开始执行点是_25.在语言中,一个函数一般由两个部分组成,它们是_和_26.下面add函数的功能是求两个参数的和,并将值返回调用函数。函数中错误的部分是_,改正后应是_void add(float a,float b)float c; c=a+b; return c;printf(“%f”,c);27.以下程式序的运行结果是_main()
9、int I=2,x=5,j=7;fun(j,6);printf(“I=%d;j=%d;x=%dn”,I,j,x);fun(int I,int j)int x=7; printf(“I=%d;j=%d;x=%dn”,I,j,x);28.以下程序的运行结果是_main()increment();increment();increment();increment()int x=0;x+=1; printf(“%d”,x);29.以下程序的运行结果是_main()int a=1,b=2,c;c=max(a,b);printf(“max is %dn”,c);max(int x,int y)int z;
10、 z=(x>y)x;y; return(z);30.若输入一个整数不清10,以下程序运行结果是_main()int a,e10,c,I=0;printf(“输入一个整数: n”);scanf(“%d”,&a);while(a!=0)c=sub(a); =a/2; eI=c; I+;for(;I>0;I-) printf(“%d”,eI-1);sub(int a)int c;c=a%2; return c;31.以下程序的运行结果是_main()int x=2,y=3,z=0;printf(“(1)x=%d y=%d z=%dn”,x,y,z);add(x,y,z);prin
11、tf(“(3)x=%d y=%d z=%dn”,x,y,z);add(int x,int y, int z)z=x+y; x=x*x; y=y*y;printf(“(2)x=%d y=%d z=%dn”,x,y,z);32.下面程序的运行结果是_main()int I=5;printf(“%dn”,sub(I);sub(int n)int a;if(n=1) return 1;a=n+sub(n-1);return(a);33.以下程序运行结果是_main()int a=1,b=2,c=3;+a; c+=+b;int b=4,c;c=b*3; a+=c; printf(“first:%d,%d
12、,%dn”,a,b,c);a+=c;printf(“second:%d,%d,%dn”,a,b,c);printf(“third:%d,%d,%dn”,a,b,c); 34.以下程序的运行结果是_int k=1;main()int I=4;fun(I); printf(“(1)%d,%dn”,I,K);fun(int m)m+=k; k+=m;char k=B;printf(“(2)%dn”,k-A);printf(“(3)%d,%dn”,m,k);35.以下程序的运行结果是_int x1=30,x2=40;main()int x3=10,x4=20;sub(x3,x4); sub(x2,x1
13、);printf(“%d,%d,%d,%dn”,x3,x4,x1,x2);sub(int x,int y)x1=x; x=y; y=x1;36.以下程序的运行结果是_int I=0;main()int I=5;reset(I/2); printf(“I=%dn”,I);reset(I=I/2); printf(“I=%dn”,I);reset(I/2);printf(“I=%dn”,I);workover(I); printf(“I=%dn”,I);workover(int I)I=(I%I)*(I*)/(2*I)+4);printf(“I=%dn”,I);return(i);reset(in
14、t I)I=I<=25:0; return(I);37.以下程序的运行结果是_int a=5; int b=7;main()int a=4,b=5,c;c=plus(a,b);printf(“A+B=%dn”,c);plus(int x,int y)int z;z=x+y; return(z);38.以下程序的运行结果是_int a=3,b=5;max(a,b)int c; c=a>ba:b; return(c);main()int a=8; printf(“%d”,max(a,b);39.以下程序的运行结果是_int x;main()x=5; cude(); printf(“%d
15、n”,x);cude()x=x*x*x;40.以下程序的运行结果是_main()incx(); incy(); incx(); incy(); incx(); incy();incx()int x=0; printf(“x=%dt”,+x);incy()static int y=0; printf(“ny=%dn”,+y);41.以下程序的运行结果是_main()increment(); increment(); increment();increment()static int x=0;x+=1; printf(“%d”,x);42.以下程序的运行结果是_int n=1;main()stat
16、ic int x=5; int y;y=n; printf(“MAIN:x=%2d y=%2d n=%2dn”,x,y,n);func(); printf(“MAIN:x=%2d y=%2d n=%2dn”,x,y,n);func();func()static int x=4; int y=10;x=x+2; n=n+10; y=y+nprintf(“FUNC:x=%2d y=%2d n=%2dn”,x,y,n);43.以下程序的运行结果是_int fac(int n)static int f=1;f=f*n;return(f);main()int I;for(I=1;I<=5;I+)
17、printf(“%d!=%dn”,I,fac(I);44. 有以下程序void f( int y,int *x)y=y+*x; *x=*x+y;main( ) int x=2,y=4; f(y,&x); printf(“%d %dn”,x,y);执行后输出的结果是【11】 。45、 函数fun的功能是计算xndouble fun(double x,int n) int i; double y=1; for(i=1;i<=n;i+) y=y*x; return y;主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算: m=a4+b4-(a+B) 3。实现这一计算的函数调
18、用语句为【12】 。46分析并写出以下程序的运行结果include<>int func(int n)if (n= =1) return 1;else return( n*func(n-1); main( )int x ; x=func(3);printf(“%dn”,x); 47.分析并写出以下程序的输出结果fun1(int a,int b) int c; a+=a;b+=b; c=func2(a,b); return c*c; fun2(int a,int b) int c; c=a*b%3; return c;main( ) int x=11,y=19; printf(“%dn
19、”,fun1(x,y);48写出以下程序的输出结果()#include<>main( ) int I,x33=1,2,3,4,5,6,7,8,9; for(I=0;I<3;I+) printf(“%d”,xi2-i); 49阅读程序写出执行结果#include<> func(int b ) int j;for(j=0;j<4;j+) bj=j; main( )int a4,I;func(a);for(I=0;I<4;I+)printf(“%d”,aI) ;50.若程序中定义了以下函数 double myadd(double a,double B) re
20、turn (a+B) ;并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是A) double myadd(double a,B) ; B) double myadd(double,double);C) double myadd(double b,double A) ; D) double myadd(double x,double y);51. 有以下程序void f(int v , int w) int t; t=v;v=w;w=t;main( ) int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z
21、); else f(x,z); printf(“%d,%d,%dn”,x,y,z);执行后输出结果是A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,152. 有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(A) ; swap2(b0,b1); printf(“%d %d %d %dn”,a0,a1,b0,b1);其输出结果是A) 5 3 5 3 B) 5 3 3 5 C
22、) 3 5 3 5 D) 3 5 5 353、有以下程序int f(int b4) int i,j,s=0; for(j=0;j<4;j+) i=j; if(i>2) i=3-j; s+=bij; return s;main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;printf(“%dn”,f(A) );执行后的输出结果是A) 12 B) 11 C) 18 D) 1654、 有以下定义#include char a10,*b=a;不能给数组a输入字符串的语句是A) gets(A) B) gets(a0) C) gets(&a0); D) gets(B) ;55、有以下程序void sort(int a,int n) int i,j,t; for(i=0;i for(j=i+2;j if(ai main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i<10;i+) printf(“%d”,aai); printf(“n”);其输出结果是A) 1,2,3,4,5,6,7,8,9,10, B) 10,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年航空业飞行员制式劳动合同3篇
- 2025年度石油钻井设备搬运合同3篇
- 二零二五年地下室产权交易与资产评估合同3篇
- 二零二五年度仓储租赁合同范本(含仓储技术支持)3篇
- 二零二五年度企业环保责任担保合同2篇
- 2024版产品工艺保密合作合同书版B版
- 2025短期劳务试用合同文本
- 2024年版股权回购保障合同版
- 2024版商铺权属变更协议样本3篇
- 2024年蒸汽锅炉安装合作协议
- 艺考培训合作合同协议书2024年
- 期末复习综合卷(试题)-2024-2025学年一年级上册数学人教版
- 施工员岗位述职报告
- 第47届江苏省选拔赛化学实验室技术项目技术文件
- 2024年精美《婚姻法》课件模板:法律教育的新趋势
- 项目管理年终总结汇报
- 夫妻共同房产变更为一方单独所有协议书(2篇)
- 第六单元《多边形的面积》 单元测试(含答案)2024-2025学年人教版五年级数学上册
- 光伏电站安装与调试教学培训课件:太阳能光伏发电系统概论
- 工程伦理(2024东莞理工)学习通超星期末考试答案章节答案2024年
- 平安在线测评 iq 30题 答案
评论
0/150
提交评论