C例题3.docx

上传人:b****8 文档编号:9885602 上传时间:2023-05-21 格式:DOCX 页数:10 大小:15.48KB
下载 相关 举报
C例题3.docx_第1页
第1页 / 共10页
C例题3.docx_第2页
第2页 / 共10页
C例题3.docx_第3页
第3页 / 共10页
C例题3.docx_第4页
第4页 / 共10页
C例题3.docx_第5页
第5页 / 共10页
C例题3.docx_第6页
第6页 / 共10页
C例题3.docx_第7页
第7页 / 共10页
C例题3.docx_第8页
第8页 / 共10页
C例题3.docx_第9页
第9页 / 共10页
C例题3.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C例题3.docx

《C例题3.docx》由会员分享,可在线阅读,更多相关《C例题3.docx(10页珍藏版)》请在冰点文库上搜索。

C例题3.docx

C例题3

例7.1用户自定义函数——求数的平方

#include

longsquare(long)

voidmain()

{

longin_num,result;

printf(“inputaninteger:

”);

scanf(“%ld”,&in_num);

result=square(in_num);

printf(“\nthesquarenumberof%ldis%ld\n”,in_num,result);

}

longsquare(longi)

{

longj;

j=i*i;

returnj;

}

例7.2计算x的n次方,x=2,-3;n=1,2,3~9.

#include

intmain(void)

{

intn;

doublepower(int,int);

for(n=1;n<=9;n++)

printf(“power(2,%d)=%f,power(-3,%d)=%f\n”,n,power(2,n),n,power(-3,%d));

return0;

}

doublepower(intx,inty)

{

doubleu=1;inti;

for(i=1;i<=y;i++)

u=u*x;

returnu;

}

例7.3形参与实参的数值传递

#include

voidswap(intx,inty)

{

intz;

z=x;x=y;y=z;

}

voidmain()

{

inta,b;

a=10;b=20;

swap(a,b);

printf(“a=%d,b=%d\n”,a,b);

}

运算结果:

a=10,b=20

例7.4求参数的求值顺序

#include

voidmain()

{

intx=0;

printf(“x=%d\n”,x);

printf(“x++=%dx++=%d\n”,x++,x++);

printf(“x=%d\n”,x);

}

结果:

x=0

x++=1x++=0

x=2

例7.5函数的返回值

#include

floatmax(floata,floatb)

{

if(a>b)

return(a);

elsereturn(b);

}

voidmain()

{

floatx,y;

printf(“inputtwonumbers:

”);

scanf(“%d%d”,&x,&y);

printf(“max=%d”,max(x,y));

}

例7.9变量的作用域

#include

intx=999;

voidprint_value(void);

voidmain()

{

printf(“%d\n”,x);

print_value();

}

voidprint_value(void)

{

printf(“%d\n”,x);

}

例7.10变量的作用域

#include

voidprint_value(void);

voidmain()

{

intx=999;

printf(“%d\n”,x);

printf_value();

}

voidprint_value(void)

{

printf(“%d\n);

}

例7.11局部变量与全局变量同名

#include

inta=1,b=2;

intmax(inta,intb)

{

intc;

c=a>b?

a:

b;

return(c);

}

voidmain()

{

inta=8;

printf(“%d”,max(a,b));

}

例7.12局部静态变量的使用

#include

voidf()

{

inta,b=3;

staticintc,d=5;

a=3;c=5;

a++;b++;c++;d++;

printf(“%d\t%d\t%d\t%d\t”,a,b,c,d);

}

voidmain()

{

f();f();

}

运行结果:

4466

4467

例7.13打印1到5的阶乘

#include

intfac(intn)

{

staticints=1;

s*=n;

return(s);

}

voidmain()

{

inti;

for(i=1;i<6;i++)

{

printf(“%d!

=%d\n”,i,fac(i));

}

}

例7.14输入以秒为单位的一个时间值,将其转化为“时:

分:

秒”的形式输出。

将转化工作定义为函数。

#include

intss,mm,hh;

voidconvert_time(void);long

voidmain()

{

longintsecond;

printf(“hh=%d,mm=%d,ss=%d”,hh,mm,ss);

printf(“\ninputatimeinsecend:

”);

scanf(“%ld”,&second);

convert_time(second);

printf(“%d:

%d:

%d\n”,hh,mm,ss);

}

voidconvert_time(longint)second

{

hh=second%3600;

mm=(second-3600*hhL)/60;

ss=second-3600*hhL-60*mm;

}

例7.15计算s=x^1+x^2+….+x^n,x和n由终端输入。

#include

longsum(registerintx,intn)

{

inti;longints;

registerintt;

t=s=x;

for(i=2;i<=n;i++)

{

t*=x;

s+=t;

}

return(s);

}

voidmain()

{

intx,n;

printf(“inputx,n:

”);

scanf(“%d,%d”,x,n);

printf(“s=%ld\n”,sum(x,n));

}

例7.17计算矩形或圆的面积。

#include

#defineR1

voidmain()

{

floatc,r,s;

printf(“inputanumber:

”);

scanf(“%f”,&c);

#ifR

r=3.141592*c*c;

printf(“areaofroundis:

%f\n”,r);

#else

s=c*c;

printf(“areaofsquareis:

%f\”,s);

#endif

}

例8.6函数的参数传递。

#include

voidswap(inta,intb)

{

intp;

p=a;a=b;b=p;

}

voidmain()

{

intm=10,n=20;

swap(m,n);

printf(“%d,%d\n”,m,n);

}

结果m=10,n=20

例8.7指针做函数的参数。

#include

voidswap(int*pa,int*pb)

{

inttemp;

temp=*pa;*pa=*pb;*pb=temp;

}

voidmain()

{

inta=10,b=20,*p,*q;

p=&a;q=&b;

swap(*p,*q);

printf(“a=%d,b=%d”,a,b);

}

结果:

a=20.b=10

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2