ImageVerifierCode 换一换
你正在下载:

函数.docx

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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

函数.docx

1、函数习题六 函数选择题1. 在一个C源程序文件中所定义的全局变量,其作用域为_。A、所在文件的全部范围 B、所在程序的全部范围C、所在函数的全部范围 D、由具体定义位置和extern说明来决定范围2. 有以下程序#include int a=1;int f(int c) static int a=2; c=c+1; return (a+)+c;main() int i,k=0; for(i=0;i2;i+) int a=3; k+=f(a); k+=a; printf(%dn,k);程序的运行结果是_。A、14 B、15 C、16 D、173. 若函数调用时的实参为变量时,以下关于函数形参和实

2、参的叙述中正确的是_。A、函数的实参和其对应的形参共占同一存储单元B、形参只是形式上的存在,不占用具体存储单元C、同名的实参和形参占同一存储单元D、函数的形参和实参分别占用不同的存储单元5. 有以下程序#include int f(int x) int y; if(x=0|x=1) return(3); y=x*x-f(x-2); return y;main() int z; z=f(3); printf(%dn,z);程序的运行结果是_。A、0 B、9 C、6 D、86. 下面的函数调用语句中func函数的实参个数是_。func(f2(v1,v2),(v3,v4,v5),(v6,max(v7

3、,v8);A、3 B、4 C、5 D、87. 以下叙述中错误的是_。A、用户定义的函数中可以没有return语句B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C、用户定义的函数中若没有return语句,则应当定义函数为void类型D、函数的return语句中可以没有表达式8. 以下所列的各函数声明中,正确的是_。A、void play(var a: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)9. 以

4、下叙述中错误的是_。A、C程序必须由一个或一个以上的函数组成B、函数调用可以作为一个独立的语句存在C、若函数有返回值,必须通过return语句返回 D、函数形参的值也可以传回给对应的实参10. 有以下程序#include int fun(int a, int b) if(b=0) return a; else return(fun(-a,-b);main() printf(%dn,fun(4,2); 程序的运行结果是_。A、1 B、2 C、3 D、411. 若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是_。A、main() B、float

5、fun(int a,int b) x=fun(2,10); main()float fun(int a,int b) x=fun(i,j); C、float fun(int int); D、main()main() float fun(int i, int j); x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b) 12. 以下存储类型中,只有在使用时才为该类型的变量分配内存的是_。A、auto和static B、auto和register C、register和static D、extern和regis

6、ter13. 以下程序的输出结果是_。 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、414. 设函数fun的定义形式为void fun(char ch,float x) 则以下对函数fun的调用语句中,正确的是_。A、fun(abc,3.0); B、t=fun(D,16.5); C、fun(65,2.8); D、fun(32,32);15. 设有以下函数;f(int a) int b=0; static int c=3;

7、 b+;c+; return(a+b+c); 如果在下面的程序中调用该函数,则输出结果是_。 main() int a=2, i; for(i=0;iy) f(x,y); else if(yz) f(y,z); 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,122. 若程序中定义了以下函数:double myadd(double a,double b)return(a+b);并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是_。A、double myadd(do

8、uble a, b); B、double myadd(double,double);C、double myadd(double b, double a); D、double myadd(double x, double y);23. 有以下程序:float fun(int x,int y) return(x+y); main() int a=2,b=5,c=8; printf(%3.0fn,fun(int)fun(a+c,b),a-c); 程序运行后的输出结果是_。A、编译出错 B、9 C、21 D、9.024. 有以下程序int a=3;main() int s=0; int a=5; s+

9、=a+; s+=a+; printf(%dn,s); 程序运行后的输出结果是_。A、8 B、10 C、7 D、1125. 下面程序的输出是_。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、1026. 下列函数定义中,会出现编译错误的是_。A、max(int x,int y,int *z) B、int max(int x,y) *z=xy ? x:y; int z;z=xy ? x:y;return z;C、max(i

10、nt x,int y) D、int max(int x,int y) int z; z=xy?x:y; return(z); return(xy?x:y); 27. 以下叙述中正确的是_。A、全局变量的作用域一定比局部变量的作用域范围大B、静态(static)类别变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值28. 有以下程序void f(int x,int y) int t; if(xy) t=x; x=y; y=t; main() int a=4,b=3,c=5; f(a,b); f(a,c); f(

11、b,c); printf(%d,%d,%dn,a,b,c);执行后输出的结果是_。A、3,4,5 B、5,3,4 C、5,4,3 D、4,3,529. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。A、函数的实参和其对应的形参共占同一存储单元B、形参只是形式上的存在,不占用具体存储单元C、同名的实参和形参占同一存储单元D、函数的形参和实参分别占用不同的存储单元 30. 下列叙述不正确的是_。A、在不同的函数内可使用相同名字的变量B、函数中的形式参数是局部变量C、函数内的变量只在函数内有效D、函数内复合语句中定义的变量在函数内都有效四 1. C程序运行时的内存空间可以分成

12、程序区,静态存储区和_动态存储区_。 2. 全局变量和静态局部变量具有静态生存期,存放在内存的_静态存储区_区中。 3. 局部变量具有局部生存期,存放在内存的_动态存储_区中。 4. 函数形参的作用域是该函数的_内部_。 5. 在C语言中,一个函数由函数头和_函数体_组成。 6.函数调用的条件是:实参与形参的 个数 应相等,类型应一致。7. 如果一个函数只允许同一程序文件中的函数调用,则应在该函数定义前加上_static_C保留字。8. 若“double x=100;”是文件F1.C中的一个全局变量定义语句,若文件F2.C中的某个函数需要访问此x , 则应在文件F2.C中添加对x的声明语句为_

13、extern double x;_。 9. 如果一个函数直接或间接地调用自身,这样的调用称为_函数递归_调用。 10. 对于无返回值函数,定义函数时要用_void_修饰函数类型。 11. 如果一个函数定义中使用了_static_修饰,则该函数不允许被其它文件中的函数调用。 12从一条函数原型语句“int fun1( );”可知,该函数的返回类型为_int_,该函数带有_0_个参数。13当使用_void_保留字作为函数类型时,该函数不返回任何值。14一个函数定义由_函数首部_和_函数体_两部分组成。15若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_声明_语句。16.C 语言

14、函数返回类型的默认定义类型是_int_ 。 17. 函数的实参传递到形参有两种方式:_传值_ 和_传址_ 。 18. 在一个函数内部调用另一个函数的调用方式称为_嵌套调用_。在一个函数内部直接或间接调用该函数称为函数_递归_ 的调用方式。 19.C 语言变量按其作用域分为_局部变量_和_全局变量_。21. 已知函数定义 :void dothat(int n,double x) , 其函数声明的写法为_ void dothat(int n,double x);_ 。 22.凡在函数中未指定存储类别的局部变量,其默认的存储类别为_auto_。 23. 在一个 C 程序中,若要定义一个只允许本源程序

15、文件中所有函数使用的全局变量,则该变量需要定义的存储类别为_static_ 。 24. 变量被赋初值可以分为两个阶段:即_编译期_和_运行期_。 函数 阅读程序说明程序功能和写出输出结果1.#define N 3int arrayNN;conv(int array33) int t,j,i; for(i=0;iN;i+) t=arrayij; arrayij=arrayji; arrayji=t; main() int i,j; for(i=0;iN;i+) for(j=0;jN;j+) scanf(“%d”,&arrayij);conv(array);printf(“nn”);for(i=0

16、;iN;i+) for(j=0;jN;j+) printf(“%5d”,arrayij); printf(“n”); 输入:1,2,3,5,6,7,9,11,12将N阶矩阵行列互换1 5 92 6 113 7 122.#include int maxvalue(int array34) int i,j,max; max= array00; for(i=0;i3;i+) for(j=0;jmax) max=arrayij; return max;void main() int a34=1,3,5,7,2,4,6,8,15,17,34,12; printf(max value is %dn, ma

17、xvalue(a);有一个34的矩阵,求所有元素中的最大值。max value is 343.#define N 3#define M 4void LineMax(int xNM) int i,j,p; for(i=0;iN;i+) p=0; for(j=1;jM;j+) if(xipxij) p=j; printf(%d,%dn,i, xip); main() int xNM=1,5,7,4,2,6,4,3,8,2, 3,1; LineMax(x); 输出NM矩阵中每一行的行号和最大值0,71,62,84.#include #define N 20int fmax(int s,int n)

18、int k,p; for(p=0,k=p;psk) k=p; return(k);void main() int i,aN; for(i=0;iN;i+) scanf(%d,&ai); printf(%dn, afmax(a,N);fmax函数返回n个元素的数组s中的最大元素所在的下标。主函数定义数组并循环输入元素值,调用fmax函数并输入返回值。5.float max(float x,float y)float z=x;if(zy) z=y;return(z);main()float a=3.5,b=8.7,c;c=max(a,b);printf(%4.2fn,c);定义函数求x,y最大值,

19、主函数调用函数求a,b最大值8.706.#include fun(int a,int b)int i,p=1;for(i=1;i=b;i+)p=p*a;return(p);main()int x=5;printf(%dn,fun(x,3);定义函数求ab主函数调用函数求531257.fact(int n)int answer;if(n=1) return(1);answer=fact(n-1)*n;return(answer);main()int sum=0;int num;for(num=1;num=5;num+=2)sum=sum+fact(num);printf(%d,sum);求sum

20、=1!+3!+5!1278.fact(int n)int answer;if(n=0) return(1);answer=fact(n-1)*n;return(answer);main()int sum=0;int num;for(num=0;numb?a:b;return(c);main()int a=8;printf(%d,max(a,b);定义最大值函数,主函数中通过调用函数求局部变量m和全局变量n的最大值810.int m=4,n=6;max(int x,int y)int max;max=xy?x:y;return(max);main()int m=10;printf(%dn,max

21、(m,n);定义最大值函数,主函数中通过调用函数求局部变量m和全局变量n的最大值1011. #include int age( int n ) int c; if( n=1 ) c=10; else c=2+age(n-1); return(c);void main() int n=5; printf(age:%dn, age(5);/age表示年龄计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。age:1812.#include int sum(int n) if(n0) r(m);void main() int n; r(12345);

22、 printf(n);用递归实现将整数按逆序输出。输出54321。16.#include int fun(int k)int m=0,mc=0; while (k=2)&(mc3) if (k%3=0)|(k%7=0) m=m+k;mc+; k-; return m;main() printf(%dn,fun(100);函数fun的功能是:计算并输出k以内最大的3个能被3或7整除的自然数之和。29317.#include fun(int x,int y,int z) int j,t,n,m; j=1; t=j%x; m=j%y; n=j%z; while(t!=0|m!=0|n!=0) j=j+1; t=j%x; m=j%y; n=j%z; return j;main() int x1,x2,x3,j;j=fun(2,7,8);printf(j=%dn,j);函数fun的功能是:求三个数的最小公倍数。5618. #include long fun(long num) long k=1; do k*=num%

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1