欢迎来到天天文库
浏览记录
ID:38090948
大小:49.00 KB
页数:6页
时间:2019-05-24
《C实验七+存储类型和编译预处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验七存储类型和编译预处理实验目的(1)掌握全局变量和局部变量的含义及其使用方法。(2)掌握变量的各种存储类型及其使用方法。(3)掌握内部函数和外部函数的含义及其使用方法。(4)掌握静态变量的作用域及其使用。(5)掌握宏定义和文件包含的含义及其使用方法。实验内容1.读程序、写结果(1)/*****s7-1.c*****/#includeintx=-8,y=100;intfunc(inta){inty;y=x+a;x++;a++;return(x+y+a);}main(){intm=2;y=func(m);printf(“x=%d,y=%d,m=%d
2、n”,x,y,m);}上机前分析结果:实际上机结果:X=-7,Y=-10,M=-2(2)/*****s7-2.c*****/#includemain(){voidfunc(ints[],inty);inta[]={3,8,4,2},i;intx=0;for(i=0;i<4;i++){func(a,x);printf("%d",x);}printf("");}voidfunc(ints[],inty){staticintt=0;y=s[t];t++;}上机前分析结果:实际上机结果:0000(3)/*****s7-3.c*****/#include<
3、stdio.h>#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=1;i<=NUM;i++){n++;printf("%d",n);}printf("");}上机前分析结果:实际上机结果:12345678(4)/*****s7-4.c*****/#include#defineS(x)x*xmain(){ inta,k=3;a=++S(k+1);printf("%d",a);}上机前分析结果:实际上机结果:9(5)/*****s7-5.c*****/#include4、io.h>#defineT(x,y)(x)<(y)?(x):(y)main(){inti=5,j=10,k; k=10*T(i,j);printf("%d",k);}上机前分析结果:实际上机结果:10(6)/*****s7-6.c*****/#includeinti=1;intreset(){return(i);}intnext(intj){return(j=i++);}intlast(intj){staticinti=10;retrun(j=i--);}intnew(inti){intj=10;return(i=j+=i);}main(){in5、ti,j;i=reset();for(j=1;j<=3;j++){printf(“i=%d,j=%d;”,i,j);printf(“(i)=%d”,next(i));printf(“last(i)=%d”,last(i));printf(“new(i+j)=%d”,new(i+j));}}上机前分析结果:实际上机结果:(7)/*****s7-7.c*****/#include#defineDEBUG0main(){inta=10;#ifndefDEBUGprintf("thevalueis%d",a);#elseprintf("n6、othing");#endif}上机前分析结果:实际上机结果nothing(8)按下列步骤完成指定的操作,理解文件嵌入并分析运行结果。①定义如下内容的头文件mycount.h#definePI3.14159#definrR2.0②定义如下内容的程序文件calculate.cfloatcircum(floatx){floaty;y=2*PI*x;return(y);}floatarea(floatx){floatz;z=PI*x*x;return(z);}③输入主程序并运行/*****s7-8.c*****/#include#include"myc7、ount.h"#include"calculate.c"main(){floatl,s;l=circum(R);s=area(R);printf("l=%fs=%f",l,s);return0}上机前分析结果:实际上机结果l=12.566360,s=12.5663601.完善程序程序功能:将一个十六进制数字的字符串转换成与它等价的十进制整数值。十六进制允许的字符是从0~9和a~f(A~F)。主函数负责收集字符,并判别它们是否为十六进制数,子函数htoi()完成数的转换功能。/*****s7-9.c*****/#include#d
4、io.h>#defineT(x,y)(x)<(y)?(x):(y)main(){inti=5,j=10,k; k=10*T(i,j);printf("%d",k);}上机前分析结果:实际上机结果:10(6)/*****s7-6.c*****/#includeinti=1;intreset(){return(i);}intnext(intj){return(j=i++);}intlast(intj){staticinti=10;retrun(j=i--);}intnew(inti){intj=10;return(i=j+=i);}main(){in
5、ti,j;i=reset();for(j=1;j<=3;j++){printf(“i=%d,j=%d;”,i,j);printf(“(i)=%d”,next(i));printf(“last(i)=%d”,last(i));printf(“new(i+j)=%d”,new(i+j));}}上机前分析结果:实际上机结果:(7)/*****s7-7.c*****/#include#defineDEBUG0main(){inta=10;#ifndefDEBUGprintf("thevalueis%d",a);#elseprintf("n
6、othing");#endif}上机前分析结果:实际上机结果nothing(8)按下列步骤完成指定的操作,理解文件嵌入并分析运行结果。①定义如下内容的头文件mycount.h#definePI3.14159#definrR2.0②定义如下内容的程序文件calculate.cfloatcircum(floatx){floaty;y=2*PI*x;return(y);}floatarea(floatx){floatz;z=PI*x*x;return(z);}③输入主程序并运行/*****s7-8.c*****/#include#include"myc
7、ount.h"#include"calculate.c"main(){floatl,s;l=circum(R);s=area(R);printf("l=%fs=%f",l,s);return0}上机前分析结果:实际上机结果l=12.566360,s=12.5663601.完善程序程序功能:将一个十六进制数字的字符串转换成与它等价的十进制整数值。十六进制允许的字符是从0~9和a~f(A~F)。主函数负责收集字符,并判别它们是否为十六进制数,子函数htoi()完成数的转换功能。/*****s7-9.c*****/#include#d
此文档下载收益归作者所有