77范文网 - 专业文章范例文档资料分享平台

C语言课后习题答案第八章

来源:网络收集 时间:2018-12-02 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

作业八:函数程序设计答案

(一)选择题(30分)

1.以下正确的函数定义形式是 A__。

A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y);

2.以下正确的函数形式是 D__。

A)double fun(int x,int y) { z=x+y; return z; } B)fun(int x,y)

{ int z; return z; } C)fun(x,y)

{ int x,y; double z; z=x+y; return z; } D)double fun(int x,int y)

{ double z; z=x+y; return z; }(重要)

3.以下正确的说法是 A__。

在C语言中 A)实参和与其对应的形参各占用独立的存储单元 B)实参和与其对应的形参共占用一个存储单元 C)只有当实参和与其对应的形参同名时才共占用存储单元 D)形参是虚拟的,不占用存储单元

4.若调用一个函数,且此函数中没有return语句,则正确的说法是 D__。 该函数 A)没有返回值 B)返回若干个系统默认值 C)能返回一个用户所希望的函数值 D)返回一个不确定的值(重要) 5.以下不正确的说法是 B__。 C语言规定 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以为任意类型 D)形参应与其对应的实参类型一致 6.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 B__。

A)地址传递 B)单向值传递

C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式

7.以下程序有语法性错误,有关错误原因的正确说法是 C__。 main() { int G=5,k; void Prt_char(); ? ?

k=Prt_char(G); ? ? }

A)语句void prt_char();有错,它是函数调用语句,不能用void说明

B)变量名不能使用大写字母

C)函数说明和函数调用语句之间有矛盾 D)函数名不能使用下划线

8.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B__。

A)float型 B)int型 C)long型 D)double型

9.C语言规定,函数返回值的类型是由 D__。

A)return语句中的表达式类型所决定 B)调用该函数时的主调函数类型所决定 C)调用该函数时系统临时决定

D)在定义该函数时所指定的函数类型所决定

10.下面函数调用语句含有实参的个数为 B__。 func((exp1,exp2),(exp3,exp4,exp5));

A)1 B)2 C)4 D)5(重要)

11.以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请

选择填空。

#include #include main() { float x,y,z,sum; scanf(“%f %f %f”,&x,&y,&z); sum=f(【1】__B__)+f(【2】__C__); printf(“sum=%f\\n”,sum); } float f(float a,float b) { float value; value=a/b; return(value); } 【1】 A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y 【2】 A)x-y,x+y B)x+y,x-y C)z+y,z-y D)z-y,z+y 12.以下正确的描述是 B__。

在C语言程序中 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套

C)函数的定义和函数的调用均不可以嵌套 D)函数的定义和函数的调用均可以嵌套 13.以下正确的说法是 A__。 如果在一个函数中的复合语句中定义了一个变量,则该变量

A)只在该复合语句中有效 B)在该函数中有效

C)在本程序范围内均有效 D)为非法变量

14.凡是函数中未指定存储类型的局部变量,其隐含的存储类别为 A__。 A)自动(auto) B)静态(static) C)外部(extern) D)寄存器(register) 15.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全

局变量,则该变量需要使用的存储类别是 D__。

A)extern B)register C)auto D)static

(二)填空题(50分)

1.若输入的值是-125,以下程序的运行结果是 -5*5*5__。

#include main() {

int n;

scanf(“%d”,&n); printf(“%d=”,n);

if(n<0) printf(“-”); n=fabs(n); fun(n); }

fun(int n) {

int k,r;

for(k=2;k<=sqrt(n);k++) {

r=n%k;

while(r==0) {

printf(“%d”,k); n=n/k;

if(n>1) printf(“*”); r=n%k; } }

if(n!=1) printf(“%d\\n”,n); }

2.以下程序的运行结果是 i=7;j=6;x=7

i=2;j=7;x=5。

main() { int i=2,x=5,j=7; fun(j,6); printf(“i=%d;j=%d;x=%d\\n”,i,j,x); } fun(int i,int j) { int x=7; printf(“i=%d;j=%d;x=%d\\n”,i,j,x); }

3.以下程序的运行结果是 111__。 main() { increment(); increment(); increment(); } increment() { int x=0; x+=1; printf(“%d”,x); }

4.以下程序的运行结果是 max is 2_。 #include main() { int a=1,b=2,c; c=max(a,b); printf(“max is %d\\n”,c); } max(int x,int y) { int z; z=(x>y)?x:y; return(z); }

5.以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别

显示出“This is YES.”与“This is NO.”。请填空。

#include void YesNo(char ch) { switch(ch) { case ‘y’: case ‘Y’: printf(“\\nThis is YES.\\n”); _break_; case ‘n’: case ‘N’: printf(“\\nThis is No.\\n”); _break_; } } main() { char ch; printf(“\\nEnter a char ‘y’,‘Y’or‘n’,‘N’:”); ch=getchar(); printf(“ch:%c”,ch); YesNo(ch); }

6.以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的

数及其个数。请选择填空。

sub(int k,int n) { int a1,a2; a2=【1】__C__; a1=k-【2】__A__; if((k%3==0&&a2==5)||(k%3==0&&a1==5)) { printf(“%d”,k); n++; return n; } else return -1; } main() { int n=0,k,m; for(k=10;k<=99;k++) { m=sub(k,n); if(m!=-1) n=m; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言课后习题答案第八章在线全文阅读。

C语言课后习题答案第八章.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/331684.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: