- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一函数-指针及其应用
实验一函数、指针及其应用
(一)函数的基本应用
一、实验目的
1.掌握函数声明、定义及调用的方法。
2.掌握函数实际参数与形式参数的对应关系以及数据的“值传递”方式。
3.掌握递归的思想和递归调用的一般方法。
4.学习编写简单的递归程序。
二、实验内容
1.验证性实验
(1)下列程序的执行结果是什么?
#include stdio.h
void change(int a,int b)
{ int t;
t=a;a=b;b=t;
}
void main( )
{ int x,y;
printf(input x,y: );
scanf(%d,%d,x,y);
change(x,y);
printf(x=%d,y=%d\n,x,y);
}
思考:为什么x与y的值没有互换?
(2)下列程序的执行结果是什么?
#includestdio.h
void exam1(int);
void exam2(void);
int a=0;
void main(void)
{ int a;
a=15;
printf(a=%d\n,a);
exam1(a);
printf(a=%d\n,a);
exam2( );
printf(a=%d\n,a);
}
void exam1( int a)
{ printf(\ta=%d\n,a);
a++;
printf(\ta=%d\n,a);
}
void exam2(void)
{ printf(\ta=%d\n,a);
a++;
printf(\ta=%d\n,a);
}
2.程序填空
(1)下列程序的功能是输出100~1000之间所有既能被3整除,又能被7整除的数。
#include stdio.h
void main()
{int k;
int sele(int n);
for(k=100;k=1000;k++)
if( ① )
printf(%5d, ② );
printf(\n);
}
int sele(int n)
{ if( ③ )
return (1);
return 0 ;
}
(2)下列程序的功能是:prime()函数用于判别一个数是否为素数,在主函数输入一个整数,输出是否素数的信息。
#includestdio.h
void main()
{
int number;
int prime(int number);
printf(请输入一个正整数:\n);
scanf(%d,number);
if (prime(number))
printf(\n %d是素数. ,number);
else
printf(\n %d不是素数. ,number);
}
int prime(int num) /*此函数用于判别素数*/
{ int flag= ① ,n;
for(n=2;nnum/2 ② ;n++)
if ( ③ ==0)
flag=0;
return( ④ );
}
(3)以下程序功能是:输入一个长的正整数,将其每位数分离出来,并求其和。例如,输入650123,输出为:6+5+0+1+2+3=17。(求和采用递归实现)
#include stdio.h
int sum(long n)
{ unsigned long x;
if(n10)
① ;
else
x=sum(n/10)+ ② ;
return ③ ;
}
void main()
{ unsigned long x;
printf(请输入一个整数:);
scanf(%lu,x);
printf(s=%d, ④ );
printf(\n);
}
3.程序改错
(1)下列程序的功能是利用自定义函数计算一无符号整数各位数字的乘积。
#include stdio.h
unsigned f(unsigned num)
{unsigned k=0; ★
do
{k*=num/10; ★
num/=10;
}while(k); ★
return k;
}
void main()
{int x;
printf(input x=:\n);
scanf(%d, x); ★
printf(%d,f(x));
}
(2)以下程序的功能是:输入一个三位数,判断是否为“水仙花数”。函数flower()用以判断一个数是否为“
文档评论(0)