函数和模块设计.doc_第1页
函数和模块设计.doc_第2页
函数和模块设计.doc_第3页
函数和模块设计.doc_第4页
函数和模块设计.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章 函数和模块设计选择题1、若有以下程序#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将其类型定义为无值型2、在C语言中,形参的缺省存储类是A) autoB) registerC) staticD) extern3、以下程序的输出结果是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) 10B) 18C) 8D) 154、有如下程序void f(int x,inty)intt;if(xy)t=x;x=y;y=t;main()inta=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf(%d,%d,%dn,a,b,c);执行后输出结果是A) 3,4,5B) 5,3,4C) 5,4,3D) 4,3,55、 下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N10void arrin(intxN)inti=0;while(iy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%dn”,x,y,z);执行后输出结果是A) 1,2,3B) 3,1,2C) 1,3,2D) 2,3,114、 有以下程序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 3B) 5 3 3 5C) 3 5 3 5D) 3 5 5 315、在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则A) 称为函数的直接递归调用 B) 称为函数的间接递归调用C) 称为函数的循环调用D) C语言中不允许这样的递归调用16、以下关于函数的叙述中正确的是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数17、设函数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);18、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。A) 函数调用可以作为独立的语句存在B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中D) 函数调用可以作为一个函数的形参19、以下函数调用语句中含有 个实参。func(exp1,exp2),(exp3,exp4,exp5);A) 1B) 2C) 4D) 520、若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是A)3B)4C)5D)6填空题1、下面程序的输出是_。#define MAX 5int aMAX,k;main( ) fun1( );fun3( ); fun2( );fun3( ); printf(n);fun1( ) for (k=0;kMAX;k+)ak=k+k;fun2( ) int aMAX,k; for (k=1;k5;k+)ak=k;fun3( ) int k; for (k=0;kMAX;k+)printf(%d,*(a+k) ); 2、若有以下程序 int f(int x,int y) return(y-x)*x; main() int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5); printf(%dn,d); 执行后输出结果是_。3、设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部_。要求形参名为b。 main() double s1022; int n; fun(s);以下程序的输出结果是_。main() int x=0; sub(&x,8,1); printf(%dn,x);sub(int *a,int n,int k) if(k=n) sub(a,n/2,2*k); *a+=k;4、下面程序的运行结果是_。void swap(int *a,int *b) int *t; t=a;a=b;b=t; main() int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf(%d%dn,*p,*q); 5、以下程序输出的最后一个值是_ _。int ff(int n) static int f=1; f=f*n; return f;main() int i; for(i=1;i=5;i+) printf(%dn,ff(i);6、以下程序运行后的输出结果是_。void fun(int x,int y) x=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); 7、以下程序的输出结果是_。void fun() static int a=0; a +=2; printf(%d,a);main() int cc; for(cc=1;ccb ? a:b);9、以下程序运行后的输出结果是_。fun(int x) if(x/20) fun(x/2); printf(%d ,x);main() fun(6); 10、有以下程序 int sub(int n) return (n/10+n%10); main() int x,y; scanf(%d,&x); y=sub(sub(sub(x); printf(%dn,y);若运行时输入:1234,程序的输出结果是 。11、以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空int isprime(int a) int i;for(i=2;i=a/2;i+)if(a%i=0) _;_;12、以下程序的功能是调用函数fun计算:m=1-2+3-4+9-10,并输出结果。请填空。int fun ( int n) int m=0,f=1,i; for(i=1; i=n; i+) m+=i*f; f=_; return m;main() printf(m=%dn,_);13、若给fun函数的形参s传送字符串: 6354abc,则函数的返回值是_。(字符串中包括空格)long fun(char s ) long n; int sign; for (; isspace(*s);s+); sign=(*s=-)?-1:1; if (*s=+ | *s=-) s+; for (n=0;isdigit(*s);s+) n=10*n+(*s-0); return sign*n;14、以下程序运行后的输出结果是_。int a=5;fun(int b) static int a=10; a+=b+; printf(%d ,a);main() int c=20; fun(c); a+=c+; printf(%dn,a);15、以下程序运行后的输出结果是_。void swap(int x,int y) int t; t=x;x=y;y=t;printf(%d %d ,x,y);main() int a=3,b=4; swap(a,b); printf(%d %d,a,b);16、以下程序通过函数SunFun和f(x),x=0到10,这里f(x)=x2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论