- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
厦门大学本科生公共课 《C程序设计基础》 教材习题答案 第七章 编译预处理
第 PAGE 1页/共 NUMPAGES 2页
一、选择题
1、下列叙述中错误的是C)预处理命令必须位于源文件的开始处
2、C语言编译系统对宏替换的处理是在A)源程序编译前进行的
3、在宏定义“#define PI 3.14159”中,3.14159是
4、设有宏定义“#define A B abcd”,则宏替换时,A)宏名A用B abcd替换
5、下列有关宏的叙述中错误的是A)宏名必须使用大写英文字母
6、下列宏定义中,最不会引起二义性的是D)#define ADD(a,b) ((a)+(b))
7、设有宏定义“#define M 3+2”,则表达式2*M*3的值为
8、设有宏定义“#define Y(n) (4*n)”,则表达式3+Y(5+1)的值为B)24
9、设有宏定义
#define N 3
#define M N+2
则表达式2*M/N的值为A)6
10、在#include命令中,#include后面的文件名用双引号定界,则系统寻找被包含文件的方式是D)先在源程序所在文件夹查找,查找失败后再到C系统的Include文件夹中查找
11、设有以下A、B两个程序段,则说法正确的是B)两个程序的目标代码不同,但运行结果相同
//A程序段 //B程序段
#define N 3 #define N 3
void main() void main()
{ {
if(N0) #if(N0)
{ printf(“N=%d\n”,N);
printf(“N=%d\n”,N); #else
} printf(“N0”
else #endif
printf(“N0”
}
12、执行以下程序,结果为A)DEBUG OK
#define DEBUG
void main()
{
#ifdef DEBUG
printf(“DEBUG”);
#endif
printf(OK);
}
二、编程题
编写一个计算圆的程序,将pi值定义为符号常量
#include stdio.h
#define pi 3.14
void main()
{
float r;
printf(输入圆的半径:);
scanf(%f, r);
printf(圆的面积为%f\n, pi*r*r);
}
将求圆柱体的体积写成带参数的宏定义,并使用该宏定义计算圆柱体的体积
#include stdio.h
#define volumn(r,h) 3.14*r*r*h
void main(){
float r, h;
printf(输入圆柱底面积半径:);
scanf(%f, r);
printf(输入圆柱的高:);
scanf(%f, h);
printf(圆柱的体积为:%f, volumn(r,h));
}
定义一个带有3个参数的宏MAX,求3个参数中的最大值
#include stdio.h
#define MAX(a,b,c) a b ? (a c ? a : c) : (b c ? b : c)
void main()
{
float a, b, c;
printf(输入三个数:);
scanf(%f%f%f, a, b, c);
printf(最大值为%f, MAX(a,b,c));
}
给年份YEAR定义一个宏,判定该年份是否是闰年
#include stdio.h
#define YEAR(a) (a % 4 == 0 a % 100 != 0) || (a % 400 == 0)
void main()
{
int year;
printf(输入年份:);
scanf(%d, year);
if(YEAR(year))
{
printf(%d是闰年\n, year);
}
else
{
printf(%d不是闰年\n, year);
}
}
文档评论(0)