当前位置: 首页 > 其他范文 > 其他范文

实验10,编译预处理

作者:一生信用 | 发布时间:2020-12-30 07:08:40 收藏本文 下载本文

实验 1 10 0 编译预处理 【实验目的】 ① 掌握宏定义的功能和使用 ② 掌握文件包含的功能和使用 ③ 了解条件编译的作用和使用 【实验 1 10 0..1 1】 】三角型的面积为:

area =(s(s-a)(s-b)(s-c))1/2 其中,s=1/2(a+b+c),a,b,c 为三角形的三条边。定义两个带参数的宏,一个用来求 s,另一个用来求 area。编写程序,输入三角形的三条边长,然后使用带参数的宏求三角形的面积,并输出。

【指导】 】本题考察带参数的宏定义和使用方法。

这里需要定义两个宏 S(a,b,c)和 AREA(a,b,c)。其中 AREA(a,b,c)宏嵌套使用 S(a,b,c)宏。注意求平方根需要使用一个数学函数 sqrt()。

另外,对于用户输入的三条边需要检验是否能构成一个三角形,检验的方法是判断两边之和是否大于第三边。

【参考程序 】 #include #include #define S(a,b,c)(a+b+c)/2 #define AREA(a,b,c)sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))void main(){ float a,b,c;// 提示输入三角形的三条边 printf(“Input a,b,c of triangle:”);scanf(“%f,%f,%f”,&a,&b,&c);// 检验三条边是否能构成一个三角形,能则求出面积,不能则显示错误。

if(a+b>c && a+c>b && b+c>a)printf(“Area is %8.2f.n”,AREA(a,b,c));else printf(“It is not a triangle!”);} 【实验 1 10 0..2 2】 】输入菱形的边长和一个角度值,求菱形的面积,并输出。

【提示 】(1)参考实验 11.1 的程序;(2)菱形的面积公式为:s = a*a*sin b,其中 a 是菱形的边长,b 是一个角度值。

【实验 1 10 0..3 3】 】定义一个宏 DEBUG,和一个带参数的宏 DEBUG_PRINT(x),若定义了 DEBUG则定义 DEBUG_PRINT(x)为输出 x 的值,输出格式为“x=x 的值n”,否则定义DEBUG_PRINT(x)为空。编写程序,对一个整型数组中的数据进行排序,采用选择排序法,定义一个数组大小的宏 NUM,和交换两个变量的宏 SWAP,并利用前面定义的DEBUG_PRINT(x)输出外层循环变量的值。

【指导】 】本题考察带参数的宏定义以及条件编译的使用,注意 DEBUG_PRINT(x)的定义,需要采用了#号运算符。

选择排序算法的思想是:首先找到值最小的元素,然后再把这个元素与第一个元素互换,这样值最小的元素就放到了第一个位置,接着,再从剩下的元素中找值最小的,把它和第二个元素互换,使得第二小的元素放在第二个位置上,知道所有的值由小到大顺序排列为止。

【参考程序 】 #define NUM 10 #define SWAP(x,y,t){t=x;x=y;y=t;} #define DEBUG #ifdef DEBUG #define DEBUG_PRINT(x)printf(#x"=%dn",x);#else #define DEBUG_PRINT(x)#endif void main(){ int a[NUM],i,j,r,temp;printf("Please input %d numbers:n",NUM);for(i=0;i

编写程序,提示输入一行电报文字,可以任选两种输出:一为原文输出;一为加密输出,即将字母变成其下一字母(如‘a’变成‘b’......‘z’变成‘a’,其他字符不变)。

【提示 】(1)定义一个宏 CRYPTO,和一个带参数的宏 CRYPTO_PRINT(x),若定义了 CRYPTO则定义 CRYPTO_PRINT(x)为加密输出 x 的值,否则定义 DEBUG_PRINT(x)原文输

出 x 的值。

(2)定义一个数组大小的宏 NUM 为字符串的大小。利用前面定义的 CRYPTO_PRINT(x)输出字符串中每个字符。

编译原理实验指导书

编译原理实验三

编译原理实验指导书-实验六

编译原理实验_词法分析实验-LL1文法分析实验

喷漆预处理岗位职责

本文标题: 实验10,编译预处理
链接地址:https://www.dawendou.com/fanwen/qitafanwen/344913.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《实验10,编译预处理》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

重点推荐栏目

关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有