C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx

上传人:b****1 文档编号:13699023 上传时间:2022-10-12 格式:DOCX 页数:13 大小:20.40KB
下载 相关 举报
C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx_第1页
第1页 / 共13页
C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx_第2页
第2页 / 共13页
C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx_第3页
第3页 / 共13页
C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx_第4页
第4页 / 共13页
C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx

《C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计第3版何钦铭 颜 晖 第5章函数Word文档下载推荐.docx

sum=%d\n"

sum(n));

return0;

}

intsum(intn)

{

intresult,i;

result=0;

for(i=1;

i<

=n;

i++)

result=result+i;

returnresult;

n)之和,则需要在main()中定义2个变量m和n:

%d%d"

m,&

sum(m,n));

同时在函数定义时需设置2个形参:

intsum(intm,intn)

for(i=m;

【练习5-2】使用函数找最大值:

输入2个数,输出其中较大的数。

要求定义和调用函数max(a,b)找出并返回a、b中较大的数。

doublemax(doublea,doubleb);

inta,b;

printf(“Inputaandb:

”);

%lf%lf"

&

a,&

b);

max=%lf\n"

max(a,b));

doublemax(doublea,doubleb)

if(a>

b)

returna;

else

returnb;

【练习5-3】数字金字塔:

输入一个正整数n,输出n行数字金字塔。

intn,i,j;

printf(“Entern:

i++){

for(j=1;

j<

=n-i;

j++)

"

);

=i;

%d"

i);

putchar('

\n'

}

【练习5-4】思考:

若把例5-9中静态变量f定义成普通局部变量,还能实现计算n!

吗?

请上机检验。

若把f换成全局变量又会如何?

若把例5-9中静态变量f定义成普通局部变量,无法实现计算n!

,因为函数返回后f单元被系统回收,不再保存原有数据。

若把f换成全局变量,则能实现计算n!

,因为f的作用范围和生命周期一直存在。

习题5

一、选择题

1.在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为D。

A.voidB.doubleC.charD.int

2.下列程序的输出结果是D。

fun(inta,intb,intc)

{c=a*b;

{intc;

fun(2,3,c);

printf(”%d\n”,c);

A.0B.1C.6D.无法确定

3.建立自定义函数的目的之一是B(优先)、C。

A.提高程序的执行效率B.提高程序的可读性

C.减少程序的篇幅D.减少程序文件所占内存

4.以下正确的函数定义形式是A。

A.doublefun(intx,inty)B.doublefun(intx;

inty)

C.doublefun(intx,inty);

D.doublefun(intx,y)

5.以下不正确的说法是C。

A.实参可以是常量、变量或表达式

C.形参可以是常量、变量或表达式

B.实参可以是任何类型

D.形参应与对应的实参类型一致

6.以下正确的说法是D。

A.实参与其对应的形参共同占用一个存储单元

B.实参与其对应的形参各占用独立的存储单元

C.只有当实参与其对应的形参同名时才占用一个共同的存储单元

D.形参是虚拟的,不占用内存单元

二、填空题

1.下列程序的输出结果为2357。

intfun3(intm);

{intn;

for(n=1;

n<

10;

n++)

if(fun3(n)==1)printf("

n);

return0;

intfun3(intm)

{inti;

if(m==2||m==3)return1;

if(m<

2||m%2==0)return0;

for(i=3;

m;

i=i+2)

if(m%i==0)return0;

return1;

}

2.输入若干个正整数,判断每个数从高位到低位各位数字是否按值从小到大排列,请根据题意,将程序补充完整。

intfun1(intm);

while(n>

0){

if(fun1(n))

%d中各位数字按从小到大排列\n"

intfun1(intm)

{intk;

k=m%10;

while(m)

if(m/10%10>

k)

else{m=m/10;

k=m%10;

return1;

3.下列函数输出一行字符:

先输出kb个空格,再输出n个指定字符(由实参指定)。

请根据题意,将程序补充完整。

voidprint(intkb,intn,charzf)

=kb;

printf(“”);

for(i=1;

i++)

printf(“%c”,zf);

三、程序设计题

1.使用函数计算分段函数的值:

输入x,计算并输出下列分段函数f(x)的值。

要求定义和调用函数sign(x)实现该分段函数。

1x>0

f(x)=0x=0

-1x<0

intsign(intx);

intx,y;

scanf("

x);

y=sign(x);

printf("

sign(%d)=%d\n"

x,y);

intsign(intx)

inty;

if(x>

0)y=1;

elseif(x==0)y=0;

elsey=-1;

returny;

2.使用函数求奇数和:

输入一批正整数(以零或负数为结束标志),求其中的奇数和。

要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0。

inteven(intn);

intn,sum;

sum=0;

while(n>

0){

if(even(n)==0)sum=sum+n;

Thesumoftheoddnumbersis%d.\n"

sum);

inteven(intn)

if(n%2==0)y=1;

elsey=0;

returny;

3.使用函数计算两点间的距离:

给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。

要求定义和调用函数dist(x1,y1,x2,y2)计算两点之间的距离。

#include<

math.h>

doubledist(doublex1,doubley1,doublex2,doubley2);

doublex1,y1,x2,y2;

Enterx1andy1:

x1,&

y1);

Enterx2andy2:

x2,&

y2);

Distance=%.2lf"

dist(x1,y1,x2,y2));

doubledist(doublex1,doubley1,doublex2,doubley2)

doubledistance;

distance=sqrt(pow(fabs(x2-x1),2)+pow(fabs(y2-y1),2));

returndistance;

4.利用函数计算素数个数并求和:

输入两个正整数m和n(1<

=m,n<

=500),统计并输出m和n之间的素数的个数以及这些素数的和。

要求定义并调用函数prime(m)判断m是否为素数。

intprime(intm);

intm,n,sum,count;

printf("

Inputm:

scanf("

m);

Inputn:

scanf("

sum=0;

count=0;

for(;

m<

=n;

m++){

if(prime(m)==1){

sum=sum+m;

count++;

}

printf("

%d和%d之间素数的个数:

%d\n"

m,n,count);

%d和%d之间素数的和:

m,n,sum);

return0;

i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1