C语言程序设计 第2版 项目7习题与答案_第1页
已阅读1页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

项目7【思考与练习】一、选择题1.在C语言的函数中,下列说法正确的是_________。

A.必须有形参

B.形参必须是变量名

C.可以有也可以没形参

D.数组名不能作形参

答案:C2.数组名作为实参传递给函数时,传递的是________。

A.该数组长度

B.该数组的元素个数

C.该数组首地址

D.该数组中各个元素的值

答案:C3.以下函数定义正确的是________。

A.

intfnSum(intiNum1,intiNum2)

B.

intfnsum(intiNum1,iNum2)

C.

intfnsum(iNum1,iNum2)

D.

intfnsum(intiNum1;intiNum2)

答案:A4.简单变量做实参时,它和对应形参之间的数据传递方式为______。

A.地址传递

B.单向值传递

C.由实参传给形参,再由形参传回给实参

D.由用户指定传递方式

答案:B5.C语言允许函数值类型默认定义,此时该函数值隐含的类型是______。

A.float

B.int

C.long

D.double

答案:B以下说法正确的是_________。

A.定义函数时,形参类型说明可以放在函数体内

B.函数能嵌套定义

C.return后边的值不能为表达式

D.如果函数值的类型与返回值的类型不一致,以函数类型为准。

答案:D7.如果未指定局部变量类型,其隐含的存储类别为_________。

A.自动(auto)

B.静态(static)

C.外部(extern)

D.寄存器(register)

答案:A8.以下叙述中不正确的是_________。

A.在不同的函数中可以使用相同名字的变量

B.函数中的形式参数是局部变量

C.在一个函数内定义的变量只在本函数范围内有效

D.在一个函数内的复合语句中定义的变量在本函数范围内有效

答案:D(复合语句中定义的变量作用域仅限于该复合语句内部)二、填空题1.以下函数是求最大值的函数,请补充完整以下程序。#include"stdio.h";main(){intiNum1,iNum2,iMax;scanf("%d,%d",&iNum1,&iNum2);iMax=;printf("%d",iMax);}fnMax(intiNum1,intiNum2){if(iNum1>iNum2)returniNum1;else;}答案:intfnMax(int,int);intfnMax(int,int);returniNum2;2.以下程序的运行结果是_______。intiNum1=5;intiNum2=7;main(){intiNum1=4,iNum2=5,iSum;iSum=fnPlus(iNum1,iNum2);printf("A+B=%d\n",iSum);}fnPlus(intiNum1,intiNum2){intiSum;iSum=iNum1+iNum2;return(iSum);}答案:A+B=9以下程序的运行结果是_________。#include"stdio.h"intfnFun(){staticintiNum=1;iNum=iNum+2;returniNum;}main(){printf("%d\n",fnFun()+fnFun());}答案:8三、编程题编写函数求1+1/2+1/3+1/4+……+1/n的值。答案:#include"stdio.h"doublesumSeries(intn){doublesum=0.0;for(inti=1;i<=n;i++){sum+=1.0/i;}returnsum;}intmain(){intn;printf("Entern:");scanf("%d",&n);printf("Sum=%f\n",sumSeries(n));return0;}2.使用函数,利用遍历数组找出全班同学成绩的最高分。答案:#include"stdio.h"intfindMaxScore(intscores[],intn){intmax=scores[0];for(inti=1;i<n;i++){if(scores[i]>max){max=scores[i];}}returnmax;}intmain(){intscores[]={85,92,78,88,95};intn=sizeof(scores)/sizeof(scores[0]);intmaxScore=findMaxScore(scores,n);printf("Thehighestscoreis%d\n",maxScore);return0;}3.使用递归方法,求Fibonacci数列的第N项。答案: #include"stdio.h" intfibonacci(intn){ if(n<=1){ returnn; } returnfibonacci(n-1)+fibonacci(n-2); } int

温馨提示

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

评论

0/150

提交评论