版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选学习资料 - - - 欢迎下载第六部分函数一.单项挑选题1c 语言中的函数返回值的类型为由(d)打算areturn语句中的表达式b调用函数的主调函数 c调用函数时暂时d定义函数时所指定的函数类型2.下面不正确的描述为(b); a调用函数时,实参可以为表达式 b调用函数时,实参和形参可以共用内存单元c调用函数时,将形参安排内存单元 d调用函数时,实参加形参的类型必需一样3.在 c 语言中,调用一个函数时,实参变量和形参变量之间的数据传递为( d)a地址传递b值传递c由实参传递给形参,并由形参传回给实参d由用户指定传递方式4. 下面的函数调用语句中含有(a)个实参int a、b、c;int s
2、umint x1、int x2;total=suma、b、c;a2b3c4d55. 在 c 语言中( c) a函数的定义可以嵌套,但函数的调用不行以嵌套b函数的定义和调用均不行以嵌套 c函数的定义不行以嵌套,但为函数的调用可以嵌套 d函数的定义和调用均可以嵌套6. 关于语言中的 return语句正确选项( c )a只能在主函数中显现精品学习资料精选学习资料 - - - 欢迎下载b在每个函数中都必需显现c可以在一个函数中显现多次 d只能在除主函数之外的函数中显现7. 两个形参中, 第一个形参为指针类型. 其次个形参为整型, 就对函数形参的说明有错误选项(d)a. int afloat x、int
3、 nb. int afloat *x、int nc. int afloat x10、int n d.int afloat x、int n8. 在 c 语言中,函数的数据类型为指 aa. 函数返回值的数据类型b. 函数形参的数据类型c. 调用该函数时的实参的数据类型d.任意指定的数据类型9. 已知如下定义的函数:fun1a printf"n%d"、a;就该函数的数据类型为 c a与参数 a 的类型相同bvoid 型c 整型d 无法确定10. 定义一个函数实现交换x 和 y 的值,并将结果正确返回;能够实现此功能的为 d a. swapaint x、int y int temp
4、;temp=x; x=y;y=temp;精品学习资料精选学习资料 - - - 欢迎下载b. swapbint *x、int *y int temp;temp=x; x=y;y=temp;c. swapcint *x、int *y int temp;temp=*x;*x=*y ;*y=temp;d. swapdint *x、int *y int *temp;temp=x; x=y;y=temp;11. 求一个角的正弦函数值的平方;能够实现此功能的函数为b a.sqofsinax float x;returnsinx*sinx;b. double sqofsinbx float x;returns
5、indoublex*sindoublex;c. double sqofsincx returnsinx*sinx;d. sqofsindx float x;returndoublesinx*sinx;精品学习资料精选学习资料 - - - 欢迎下载12. 已知函数定义如下:float fun1int x、int y float z; z=floatx/y; returnz;主调函数中有 int a=1、b=0;可以正确调用此函数的语句为d a.printf"%f"、fun1a、b; b. printf"%f"、fun1&a、&b;c. pr
6、intf"%f"、fun1*a、*b; d. 调用时发生错误13. 下面函数的功能为 b as1、s2char s1、s2; whiles2+=s1+;a. 字符串比较b. 字符串复制c. 字符串连接d. 字符串反向二.填空题1.在 c 语言中,储备类型为局部和自动型 的变量,只能在使用它们时才占用储备空间;2.在一个源文件中定义的全局变量的作用域为整个源程序;3.下面程序的执行结果为84 intd=1;funint pint d=5; d+=p+;printf “%d”、d;精品学习资料精选学习资料 - - - 欢迎下载mainint a=3; funa; d+=a+;p
7、rintf “%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.这就为一个递归的表达式,写成函数就为funn=n*funn-1;因此, 4 行处填写 n-1;又: 1.=1故 3,5 行就好填了;因此答案为n>1 n-1 n=1 ;仍有0.=1故,仍可
8、填写: n>0 n-1 n=0留意: 3 5 行的条件为相反的,这也为if 与 else 条件的互斥性;5. 程序的功能为运算s=1.+2.+3.+n.1) long funint n2) int i;3) long s;4 s= 1 ;5 for i=1; i<=n; i+ 6 s= 2 ;7 return s;精品学习资料精选学习资料 - - - 欢迎下载8 9) main10) long s;11) int k、n;12 scanf"%d"、&n; 13 s= 3 ;14 for k=1; k<=n; k+ 15 s= 4 ;16 print
9、f"%ldn"、 s;17 第一处: 1 其次处: s*i 第三处: 0第四处: s+funk解析: 第一,搞清晰函数fun. main 各自的功能;fun 为求一个数的阶乘,我们知道:n.=1*2*3*n同时要死记住:求积,积的初值一般等于1;故 fun 中 s 为用来存放积的,其初值等于 1;求阶乘为连乘,故s=s*imain 为求和,记住:和的初值一般等于0.两个函数中的局部变量s 的作用为不同的;main 中的 s 为存放和的;最终:留意一些变量的类型;阶乘为求积,积的增长速度为比较快的,为防止溢出,fun 的返回值类型为long ; 输出中ld为输出长整数;6.
10、请在函数fun 的横线上填写如干个表达式,使从键盘上输入一个整数n,输出斐波纳契数列; 斐波契数列为一种整数数列,其中每数等于前两数之后,如: 0 1 1 2 3 5 8 131 int funint n 2 if 1 3) return 0;4) else if 2 5) return 1;6) else7) return 3 ; 8 精品学习资料精选学习资料 - - - 欢迎下载第一处: n=0其次处: n=1第三处: funn-1+funn-2解析:求斐波契数列:一项等于其前两项的和;这也为一个递归;求斐波契数列的第n 项的值, n 从 0 开头;7. 请补全函数fun ,该函数的功能为
11、求出以下分数序列的前n 项之和;和值通过函数值返回到 main 函数;1) #include2) #include3) 1 funint n4) int a、b、c、k;5) double s; 6 s=0.0;7 a=2;8 b=1;9 fork=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+和的初
12、值为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+doublen+1/n; 9
13、 2 ;10 11 printf"n=%dn"、n; 12 3 ;13 第一处: s <= q其次处: n+第三处: return s解析:从第8 行,从数学的角度总结出数列的表达式;n+1/n n 从 2 开头,每次增加 1,故: sn=2+3/2+4/3+和的初值为 2.0循环条件为“ sn 大于 q 为止” , while 为满意条件才循环,故填写 s <= q 最终,函数需要有一个返回值;9. 给定程序功能为运算s=f-n+f-n+1+f0+f1+f2+fn 的值; float f double xif x = 0.0 | x = 2.0 return
14、1 ;else if x < 0.0 return x -1/x-2; elsereturn x +1/x-2;精品学习资料精选学习资料 - - - 欢迎下载double fun int n int i; double s=0.0、 y;for i= -n; i<= 2 ; i+ y=f1.0*i; s += y; return 3 ;main printf"%fn"、 fun5 ;第一处: 0.0 其次处: n 第三处: s解析: 函数 f double x求每个单项的值;ifelse 的条件为互斥的; fun 为求和;10.给定程序的功能为运算score 中
15、 m 个人的平均成果aver ,将低于 aver 的成果放在below中,通过函数名返回人数;int funint score、 int m、 int belowint i、 j = 0 ;float aver = 0.0 ;fori = 0 ; i < m ; i+ aver += scorei ; aver /= float m ;fori = 0 ; i < m ; i+ifscorei < aver belowj+ = 1 ; return j ;mainint i、 n、 below9 ;int score9 = 10、 20、 30、 40、 50、 60、 70
16、、 80、 90 ;n = funscore、 9、 2 ;printf "nbelow the average score are: " ; for i = 0 ; i < n ; i+ printf"%d "、 3 ;精品学习资料精选学习资料 - - - 欢迎下载第一处: scorei 其次处: below 第三处: belowi解析: 求平均值,应先求和;此处,和与平均值使用了同一个变量;score 为原先的成果,below【 】存放低于平均分的分数,仍有人数; below 的长度肯定不大于score 的长度;below 的长度必需通过计数才
17、能得到,且为在比较的过程中得到的;below 数组的长度用j来计数,其初值当然为0;fun 函数中:先求总分,平均分;再比较,比平均分低,存于below ,j+ ;j 为后加,不能错了;函数 fun 的返回值赋值给n,n 就为 below 数组的长度;11. 在主函数中从键盘输入如干个数放入数组x 中,用 0 终止输入但不计入数组;以下给定程序中,函数fun 功能为:输出数组元素中小于平均值的元素;void fun 1 、int ndouble sum=0.0;double average=0.0; int i=0; fori=0;i<n;i+< p> 2 ;average=
18、 3 ; for i=0;i<n;i+< p>ifxi<average< p>ifi%5=0 printf"n"精品学习资料精选学习资料 - - - 欢迎下载printf"%d、 "、xi;第一处: int x其次处: sum+=xi第三处: sum/n解析: 算法思想同上题12.请补全 fun 函数,该函数的功能为求不超过给定自然数的各个偶数之和;int funint xint i、s;s= 1 ;for 2 s+=i;return s;第一处: 0其次处: i=2; i解析: 求和,和的初值s 为 0 ;最小的非负
19、偶数为0,偶数间的大小关系为相差 2;13. 请补全 main 函数,该函数的功能为:运算并输出以下多项式的值;s=1+1/1+2+1/1+2+3+1/1+2+3+50#include精品学习资料精选学习资料 - - - 欢迎下载 1 funint nint i、j;double sum=0.0、t; fori=1;i<=n;i+t=0.0;forj=1;j<=i;j+ t+= 2 ; sum+= 3 ;return sum;第一处: double其次处: j第三处: 1.0/t解析: s 中的每一项的分母为1+2+3+i 需要用一个一重循环实现,把全部商相加,需要用一个循环;组合
20、起来整个就需要二重循环;内循环求每个单项的和,外循环求商的和;每单项的分子为1,应当用浮点数1.0;每单项的分母为求和,和的初值为0.0;函数的返回值为浮点数;14. 请补全 main 函数,该函数的功能为,运算两个自然数n 和 mm<10000 之间全部数的和; n 和 m 从键盘输入;main精品学习资料精选学习资料 - - - 欢迎下载int n、m;long sum; 1 ;clrscr;printf"ninput n、mn" scanf"%d、%d"、&n、&m; while n<=m 2 ;n+;printf&qu
21、ot;sum=% 3 n"、sum;第一处: sum=0 其次处: sum += n 第三处: ld解析:求和问题15.请补全 main 函数,该函数的功能为:从键盘上输入3 个整数,然后找出最大的数并输出;mainint a、b、c、max;clrscr;printf"ninput three numbers:n"精品学习资料精选学习资料 - - - 欢迎下载scanf"%d、%d、%d"、&a、&b、&c;printf"thethree numbers are:%d、%d、%dn"、a、b、c; if a>b 1 ; else 2 ;ifmax<c< p> 3 ; p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东茂名出入境边防检查站编制外人员招聘1人备考题库附答案详解(培优A卷)
- 2026年7月福建福州市鼓楼区国有资产投资发展集团有限公司招聘3人备考题库含答案详解【综合卷】
- 财富管理专题系列1:全球财富管理全景扫描
- 钎焊工考试题库及答案
- 大一设计类考试题目及答案
- 工业园区固废填埋处置场项目绩效评价
- 粉尘爆炸风险防控实 用手册
- 2026年广告公司服务报价单
- 2026-2030调味酱市场投资前景分析及供需格局研究预测报告
- 【答案】《模拟电子技术基础》(郑州大学)章节期末中国大学慕课答案
- 校园制度文化实施方案
- 2026年国企招聘副总测试题及答案
- 骨髓抑制患者的感染护理与预防
- 南网共享公司招聘笔试题库2026
- (2026版)早绝经与绝经女性骨质疏松防治指南解读课件
- 2026年及未来5年市场数据中国城市客运行业市场调研分析及投资前景预测报告
- STEMI诊疗新指南课件
- 云南曲靖市马龙区第一中学2025-2026学年高一上学期期中考试数学试卷(含答案)
- 军事通信基础知识
- GB/T 31897.201-2025灯具性能第2-1部分:特殊要求LED灯具
- 专题11 阅读理解一轮复习难点突破2(名师点津+名校模拟)原卷版-2026年高考英语一轮复习知识清单
评论
0/150
提交评论