实验四 编译预处理实验

实验四 编译预处理实验

ID:47121947

大小:274.00 KB

页数:8页

时间:2019-08-08

实验四 编译预处理实验_第1页
实验四 编译预处理实验_第2页
实验四 编译预处理实验_第3页
实验四 编译预处理实验_第4页
实验四 编译预处理实验_第5页
资源描述:

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

1、C语言程序设计实验报告专业信息安全班级1103日期成绩实验组别第1次实验指导教师学生姓名严志颖学号U201114113同组人姓名实验名称编译预处理实验一、实验目的1.掌握文件包含、宏定义、条件编译、assert宏的使用;2.练习带参数的宏定义、条件编译的使用;3.练习assert宏的使用;4.使用codeblocks开发环境中的调试功能:单步执行、设置断点、观察变量值。二、实验任务1.源程序改错题下面是用宏来计算平方差、交换两数的源程序,在这个源程序中存在若干语法和逻辑错误。要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。#in

2、clude"stdio.h"#defineSUMa+b#defineDIFa-b#defineSWAP(a,b)a=b,b=avoidmain{intb,t;printf("Inputtwointegersa,b:");scanf("%d,%d",&a,&b);printf("SUM=%dthedifferencebetweensquareofaandsquareofbis:%d",SUM,SUM*DIF);SWAP(a,b);Printf("Nowa=%d,b=%d",a,b);}2.源程序修改替换题下面是用函数实现求三个数中最大

3、数、计算两数之和的程序,在这个源程序中存在若干语法和逻辑错误。要求:1)对这个例子程序进行调试修改,使之能够正确完成指定任务;2)用带参数的宏替换函数max,来实现求最大数的功能。voidmain(void){inta,b,c;floatd,e;printf("Enterthreeintegers:");scanf("%d,%d,%d",&a,&b,&c);printf("themaximumofthemis%d",max(a,b,c));printf("Entertwofloatingpointnumbers:");scanf("%f,%

4、f",&d,&e);printf("thesumofthemis%f",sum(d,e));}intmax(intx,inty,intz){intt;if(x>y)t=x;elset=y;if(t

5、fRs=3.14159*r*r;printf("areaofroundis:%f",s);s_integer=integer_fraction(s);printf("theintegerfractionofareais%d",s_integer);assert((s-s_integer)<1.0);#endif}intinteger_fraction(floatx){inti=x;returni;}1)修改程序,使程序编译通过且能运行;2)单步执行。进入函数decimal_fraction时watch窗口中x为何值?在返回main时,wat

6、ch窗口中i为何值?3)排除错误,使程序能正确输出面积s值的整数部分,不会输出错误信息assertionfailed。4.编程设计题(1)三角形的面积是,其中,a,b,c为三角形的三边,定义两个带参数的宏,一个用来求s,另一个用来求area。编写程序,用带参数的宏来计算三角形的面积。(2)用条件编译方法来编写程序。输入一行电报文字,可以任选两种输出:一为原文输出;二为变换字母的大小写(如小写‘a’变成大写‘A’,大写‘D’变成小写‘d’),其他字符不变。用#define命令控制是否变换字母的大小写。例如,#defineCHANGE1则输出变换后的文

7、字,若#defineCHANGE0则原文输出。三、实验步骤及结果1.源程序改错题修改后的程序如下:#include#defineSUM(a+b)#defineDIF(a-b)#defineSWAP(a,b)t=a,a=b,b=tintmain(void){inta,b,t;printf("Inputtwointegersab:");scanf("%d%d",&a,&b);printf("SUM=%dthedifferencebetweensquareofaandsquareofbis:%d",SUM,SUM*DIF);SW

8、AP(a,b);printf("Nowa=%d,b=%d",a,b);return0;}运行结果:2.源程序修改替

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

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

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