练习题第六单元函数及参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六单元函数一、选择题1.在C语言中,当函数调用时。A.实参和形参各占一个独立的存储单元B.实参和形参共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.由系统自动确定实参和形参是否共用存储单元2.以下函数调用语句中实参的个数为。exce((v1,v2),(v3,v4,v5),v6);A.3B.4C.5D.63.如果在一个函数的复合语句中定义了一个变量,则该变量。A.只在该符合语句中有效,在该符合语句外无效B.在该函数中任何位置都有效C.在本程序的原文件范围内均有效D.此定义方法错误,其变量为非法变量4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。A.float型B.int型C.long型D.double型5.C语言规定,函数返回值的类型是由。A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型决定6.在C语言程序中,以下描述正确的是。A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套7.以下叙述中正确的是。A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值8.以下程序的运行结果是:#includestdio_hvoidsub(ints[],inty){staticintt=3;y=s[t];t--;}main(){inta[]={1,2,3,4},i,x=0;for(i=0;i4;i++){sub(a,x);printf("%d",x);}printf("\n");}A)1234B)432lC)0000D)44449.以下程序的运行结果是:main(){intw=5;fun(w);printf("\n");}fun(intk){if(kO)fun(k-1);printf("%d",k);}A)5432lB)012345C)12345D)54321010.以下所列的各函数首部中,正确的是_______。A)voidplay(vata:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)11.当调用函数时,实参是一个数组名,则向函数传送的是_______。A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值12.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。A)地址传递B)单向值传递C)由实参传给形,再由形参传回实参D)传递方式由用户指定13.以下函数值的类型是_______。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)float二、填空题1.编写一个验证正整数M是否为素数的函数,若M是素数则把1送到T中,否则零送到T中。在主函数中读入N个正整数,每读入一个则调用函数判断它是否为素数,在主函数中将T的值累加到另一个变量中。用此方法可求出N个数中素数的个数。请填空完成上述功能的程序。#includestdio.h#includemath.hintprime(intm){inti,pp=1;for(i=2;(1);i++)if(m%i==0)pp=0;if(m==1)(2)return(pp);}main(){inta[20],i,sum=0;for(i=0;i10;i++){scanf(%d,&a[i]);sum=(3)}printf(thenumberofprimedatais:%d,sum);}2.编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述的结果。请填空完成上述功能的程序。#includestdio.h#includectype.hvoidfltj(charstr[],inta[]){intll,i;ll=(1)for(i=0;ill;i++){if((2))a[0]++;elseif((3))a[1]++;elseif((4))a[2]++;elsea[3]++;}}main(){staticcharstr[60];staticinta[4]={0,0,0,0};gets(str);fltj(str,a);printf(%schar:%ddigit:%dspace:%dother:%d,str,a[0],a[1],a[2],a[3]);}3.用递归方法求N阶勒让德多项式的值,递归公式为Pnxnnxpxnpxnnnnn101211112()()(()()()())/()#includestdio.hmain(){floatpn();floatx,lyd;intn;scanf(%d%f,&n,&x);lyd=(1)printf(pn=%f,lyd);}floatpn(floatx,intn){floattemp;if(n==0)temp=(2)elseif(n==1)temp=(3)elsetemp=(4)return(temp);}4.以下函数的功能是:求x的y次方,请填空。doublefun(doublex,inty){inti;doublez:for(i=1,z=x;iy;i++)z=z*__(1)___;returnz:}第六单元函数一、选择题1.A2.A3.A4.B5.D6.B7.B8.C9.B10.C11.B12.B13.A二、读程序写结果1.Thefinalresultis:42.1253.94.0,00,25.8,176.567.318.579.2610.1511.4三、填空1.(1)im(2)pp=0;(3)sum+prime(a[i]);2.(1)strlen(str);(2)str[i]=’A’&&str[i]=’Z’||str[i]=’a’&&str[i]=’z’(3)str[i]=’0’&&str[i]=’9’(4)str[i]==’’3.(1)pn(x,n);(2)1;(3)x;(4)((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n;4.x

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功