C例题3.docx
- 文档编号:9885602
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:10
- 大小:15.48KB
C例题3.docx
《C例题3.docx》由会员分享,可在线阅读,更多相关《C例题3.docx(10页珍藏版)》请在冰点文库上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 例题