C语言第八章习题带答案-2012.11.6更新
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言第八章习题带答案-2012.11.6更新
练习8答案
选择题
1.在程序中要使用语句:printf("%s\n", STRING);输出一个长度为5个字符的提示信息"OK!",则应使用宏定义语句( D )。
A.#define STRING "OK!" B.#define STRING ""OK!""
C.#define STRING \"OK!\" D.#define STRING "\"OK!\""
2.以下正确的描述为( C )。
A.每个C语言程序必须在开头用预处理命令#include
B.预处理命令必须位于C源程序的首部
C.在C语言中预处理命令都以"#"开头
D.C语言的预处理命令只能实现宏定义和条件编译的功能
3.C语言的编译系统中宏命令是( D )。
A.在程序运行时进行代换处理的
B.在程序连接时进行处理的
C.和源程序中其他C语句同时进行编译的
D.在对源程序中其他成分正式编译之前进行处理的
4.从下列选项中选择不会引起二义性的宏定义是( D )。
A.#define POWER(x) x*x B.#define POWER(x) (x)*(x)
C.#define POWER(x) (x*x) D.#define POWER(x) ((x)*(x)) 5.若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出结果是( D )。
int a; a=Y;
printf("%d,", Z);
printf("%d\n", --a);
A.7,6 B.12,6 C.12,5 D.7,5
6.若a、b、c、d、t均为int型变量,则执行以下程序段后结果为( C )。
#define MAX(A, B)(A)>(B)?(A):(B)
#define PRINT(Y) printf("Y=%d\n", Y)
……
a=1; b=2; c=3; d=4;
t=MAX(a+b, c+d);
PRINT(t);
A.Y=3 B.存在语法错误C.Y=7 D.Y=0
- 1 -。