电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言函数题库及答案

17页
  • 卖家[上传人]:cl****1
  • 文档编号:553066320
  • 上传时间:2022-08-17
  • 文档格式:DOCX
  • 文档大小:44.89KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第六部分 函数一、单项选择题1.C 语言中的函数返回值的类型是由( D)决定A.return 语句中的表达式 B.调用函数的主调函数C.调用函数时临时 D .定义函数时所指定的函数类型2.下面不正确的描述是( B )A.调用函数时,实参可以是表达式B.调用函数时,实参和形参可以共用内存单元C.调用函数时,将形参分配内存单元D.调用函数时,实参与形参的类型必须一致3.在 C 语言中,调用一个函数时,实参变量和形参变量之间的数据传递是( D )A.地址传递 B .值传递C.由实参传递给形参,并由形参传回给实参 D.由用户指定传递方式4. 下面的函数调用语句中含有( A )个实参 int a,b,c;int sum(int x1,int x2);⋯⋯total=sum((a,b),c);A.2 B .3 C .4 D.55. 在 C 语言中( C )A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和调用均不可以嵌套C.函数的定义不可以嵌套,但是函数的调用可以嵌套D.函数的定义和调用均可以嵌套6. 关于C语言中的 return 语句正确的是( C )A.只能在主函数中出现..B.在每个函数中都必须出现C.可以在一个函数中出现多次D.只能在除主函数之外的函数中出现7. 两个形参中,第一个形参为指针类型、 第二个形参为整型, 则对函数形参的说明有错误的是( D)A. int a(float x[],int n)B. int a(float *x,int n)C. int a(float x[10],int n)D.int a(float x,int n)8. 在 C 语言中,函数的数据类型是指 ( A ) A. 函数返回值的数据类型B. 函数形参的数据类型C. 调用该函数时的实参的数据类型D. 任意指定的数据类型9. 已知如下定义的函数:fun1(a){ printf("\n%d",a) ;}则该函数的数据类型是 ( C )A.与参数 a 的类型相同B.void 型C. 整型D. 无法确定10. 定义一个函数实现交换 x 和 y 的值,并将结果正确返回。

      能够实现此功能的是 ( D )A. swapa(int x,int y){ int temp ;temp=x; x=y;y=temp;}..B. swapb(int *x,int *y){ int temp ;temp=x; x=y;y=temp;}C.swapc(int *x,int *y){ int temp ;temp=*x;*x=*y ;*y=temp;}D. swapd(int *x,int *y){ int *temp ;temp=x; x=y;y=temp;}11. 求一个角的正弦函数值的平方能够实现此功能的函数是 (B)A.sqofsina(x){ float x;return(sin(x)*sin(x));}B. double sqofsinb(x){ float x;return(sin((double)x)*sin((double)x));}C.double sqofsinc(x){ return(((sin(x)*sin(x));}D. sqofsind(x){ float x;return(double(sin(x)*sin(x)));..12. 已知函数定义如下:float fun1(int x,int y){ float z ;z=(float)x/y ;return(z) ;}主调函数中有 int a=1,b=0 ;可以正确调用此函数的语句是 (D )A.printf("%f",fun1(a,b)) ; B. printf("%f",fun1(&a,&b)) ;C. printf("%f",fun1(*a,*b)) ; D. 调用时发生错误13. 下面函数的功能是 ( B ) a(s1,s2)char s1[],s2[] ;{ while(s2++=s1++) ;}A. 字符串比较B. 字符串复制C. 字符串连接D. 字符串反向二、填空题1.在 C 语言中,存储类型为 局部和自动型的变量,只能在使用它们时才占用存储空间。

      2.在一个源文件中定义的全局变量的作用域为 整个源程序3.下面程序的执行结果是 84int d=1;fun(int p){int d=5;d+=p++;printf( “%d”,d);..}main(){int a=3;fun(a);d+=a++;printf( “%d”,d);}4.该 fun 函数的功能是求 10 的阶乘1) #include2) long fun ( int n)3) {if (___1___)4) return (n*fun(___2___));5) else if ( ___3___)6) return 1;}第一处: n>1第二处: n-1·第三处: n==1解析: 从第 2、 4 行看到了函数名,函数体中又出现了函数的调用,则是递归我们知道: n!=n*(n-1)! 这就是一个递归的表达式,写成函数就是 fun(n)=n*fun(n-1) 因此, 4 行处填写 n-1又: 1!=1 故 3,5 行就好填了因此答案是 n>1 n-1 n==1 还有 0!=1 故,还可填写: n>0 n-1 n==0注意: 3 5 行的条件是相反的,这也是 if 与 else 条件的互斥性。

      5. 程序的功能是计算 s=1!+2!+3!+ ⋯⋯ +n!1) long fun(int n)2) { int i;3) long s;4) s=___1___;5) for (i=1; i<=n; i++)6) s=___2___;7) return s;..8) }9) main()10) { long s;11) int k,n;12) scanf("%d",&n);13) s=___3___;14) for (k=1; k<=n; k++)15) s=___4___;16) printf("%ld\n", s);17) }第一处: 1第二处: s*i第三处: 0第四处: s+fun(k)解析: 首先,搞清楚函数 fun、 main 各自的功能Fun 是求一个数的阶乘,我们知道: n!=1*2*3* ⋯ *n同时要死记住:求积,积的初值一般等于 1故 fun 中 s 是用来存放积的,其初值等于1;求阶乘是连乘,故 s=s*iMain 是求和,记住:和的初值一般等于 0.两个函数中的局部变量 s 的作用是不同的 Main 中的 s 是存放和的最后:注意一些变量的类型阶乘是求积,积的增长速度是比较快的,为防止溢出, fun 的返回值类型是 long 。

      输出中 ld 是输出长整数6. 请在函数 fun 的横线上填写若干个表达式,使从键盘上输入一个整数 n,输出斐波纳契数列 斐波契数列是一种整数数列, 其中每数等于前两数之后, 如: 0 1 1 2 3 5 8 13⋯⋯1) int fun(int n){2) if(___1___)3) return 0;4) else if(___2___)5) return 1;6) else7) return___3___;8) }..第一处: n==0第二处: n==1第三处: fun(n-1)+fun(n-2)解析:求斐波契数列:一项等于其前两项的和这也是一个递归求斐波契数列的第 n 项的值, n 从 0 开始7. 请补全函数 fun ,该函数的功能是求出以下分数序列的前 n 项之和和值通过函数值返回到 main 函数1) #include2) #include3) ___1___ fun(int n)4) {int a,b,c,k;5) double s;6) s=0.0;7) a=2;8) b=1;9) for(k=1;k<=n;k++)10) {11) s=s+(___2___)a/(___3___)b;12) c=a;13) a=a+b;14) b=c;15) }16) return s;17) }第一处: double第二处: double第三处: double解析: 从第 11----14 总结出数列的表达式。

      第 1 项是 a/b=2/1;3/2 4/3故: s=2/1+3/2+4/3+ ⋯⋯ 和的初值是 0记住:两个整数进行算术运算结果也是整数, 算术运算中只要有一个操作数是实数, 运算结果就是实数本题希望结果是实数,故要进行强制类型转换, 2, 3 只要有一个进行强制转换就可以..了最后,函数需要有一个返回值类型,当然也是双精度浮点数了8. 给定程序的功能是计算并输出下列级数的前 N 项之和 SN,直到 SN 大于 q 为止, q 的值通过形参传入1) double fun( double q )2) {int n;3) double s;4) n = 2;5) s = 2.0;6) while (s ___1___ q)7) {8) s=s+(double)(n+1)/n;9) ___2___ ;10) }11) printf(。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.