实验06 函数、编译预处理.doc

实验06 函数、编译预处理.doc

ID:57402429

大小:440.50 KB

页数:19页

时间:2020-08-16

实验06 函数、编译预处理.doc_第1页
实验06 函数、编译预处理.doc_第2页
实验06 函数、编译预处理.doc_第3页
实验06 函数、编译预处理.doc_第4页
实验06 函数、编译预处理.doc_第5页
资源描述:

《实验06 函数、编译预处理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、班级:B12数信班:岁梦学号:1205025106实验6函数、编译预处理实验目的:1.掌握函数的定义、函数的说明和调用方法;2.掌握函数实参与形参的对应关系以及“值传递”的方式和函数值的正确返回;3.掌握函数的嵌套调用和递归调用的方法;4.掌握数组做函数参数的用法;5.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法;6.掌握宏定义、文件包含处理和条件编译的方法;7.学习对多文件程序的编译和运行。实验容:1.程序阅读理解训练。1)输入并运行下面的程序,分析输出的结果。#include

2、>voidtry(int,int,int);voidmain(){intx=2,y=3,z=4;printf("(1)x=%dy=%dz=%d",x,y,z);try(x,y,z);printf("(4)x=%dy=%dz=%d",x,y,z);}voidtry(intx,inty,intz){printf("(2)x=%dy=%dz=%d",x,y,z);z=x+y;x=x*x;y=y*y;printf("(3)x=%dy=%dz=%d",x,y,z);}2)输入并运行下面的程序,分析输出的

3、结果。#includevoidswap(int,int);voidmain(){intx=10,y=20;printf("(1)x=%dy=%d",x,y);swap(x,y);printf("(4)x=%dy=%d",x,y);}voidswap(inta,intb){intt;printf("(2)a=%db=%d",a,b);t=a;a=b;b=t;printf("(3)a=%db=%d",a,b);}3)输入并运行下面的程序,分析输出的结果。#include

4、o.h>inta=3,b=5,c;voidf(intb){c=a+b;printf("%d%d%d",a,b,c);}voidmain(){inta=8;f(3);printf("%d%d%d",a,b,c);}4)输入并运行下面的程序,分析输出的结果。#includeintf1(intn){staticintf=1;f=f*n;return(f);}voidmain(){inti;for(i=1;i<=4;i++)printf("%5d",f1(i));printf("");}

5、5)输入并运行下面的程序,说明程序及其ispring函数的功能。运行程序时,分别输入数据:17、34、2,1、0,检查结果是否正确,如果结果不正确,请修改。(熟练掌握该程序)#includeintisprime(int);voidmain(){intx;printf("Enteraintegernumber:");scanf("%d",&x);if(isprime(x))printf("%disprime.",x);elseprintf("%disnotprime.",x);}inti

6、sprime(inta){inti;for(i=2;i<=sqrt((double)a);i++)if(a%i==0)return0;return1;}6)输入并运行下面的程序,说明函数fun的功能。#includeintfun(intnum){intk=1;do{k*=num%10;num/=10;}while(num);returnk;}voidmain(){intn=26;printf("%d",fun(n));}思考:如果将函数fun中的变量k初始化为0,并将语句“k*=num%

7、10;”改为“k+=num%10;”,函数fun的功能变为什么?7)输入并运行下面的程序,说明函数fun的功能。(熟练掌握该程序)#includevoiddtob(intn){inti;if(n>1){i=n%2;dtob(n/2);}elsei=n;printf("%d",i);}voidmain(){inti=11;printf("%d->",i);dtob(i);printf("(2)");}2.程序填空(根据题意在空白处填入适当的容,使程序变得完整,并上机进行调试验证)1)程序说

8、明:下面程序将输入的十进制数n转换为b进制数,并将转换结果输出。转换的方法是:除b取余法。#include"stdio.h"voidtransfer(intm,intk){inta[20],i;for(i=0;m;i++){a[i]=;m/=k;}for(;i>=0;i--)printf("%d",a[i]);}voidmain(){intb,n;scanf("%d%d",);;}修改:#inclu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。