C语言程序设计 第八章 预处理命令_第1页
C语言程序设计 第八章 预处理命令_第2页
C语言程序设计 第八章 预处理命令_第3页
C语言程序设计 第八章 预处理命令_第4页
C语言程序设计 第八章 预处理命令_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——C语言程序设计第八章预处理命令一、选择题

1、对宏命令的处理是____

A、在程序执行时进行的B、在对程序中其他语句进行编译前进行的C、在程序连接时进行的D、与程序中其他语句同时进行编译2、下面对编译预处理的表达正确的是______A、预处理命令只能位于程序的开始处

B、预处理功能是指完成宏替换和文件包含的调用C、只要行首以“#〞标识的控制行都是预处理命令D、编译预处理就是对源程序进行初步的语法检查

3、以下表达中不正确的是()。

A)预处理命令行都必需以#号开始

B)在程序中凡是以#号开始的语句行都是预处理命令行C)C程序在执行过程中对预处理命令行进行处理D)以下是正确的宏定义#defineIBM-PC4、以下表达中正确的是()。

A)在程序的一行上可以出项多个有效的预处理命令行B)使用带参的宏时,参数的类型应与宏定义时的一致

C)宏替换不占用运行时间,只占编译时间

D)在以下定义中CR是称为〞宏名〞的标识符#defineCR0455、#defineADD(x)x+x

main()

{intm=1,n=2,k=3;

intsum=ADD(m+n)*k;

printf(“sum=%d〞,sum);}上面程序的运行结果是()。

A)sum=9B)sum=10C)sum=12D)sum=186、以下程序的运行结果是()。

#defineMIN(x,y)(x)(B)?(A):(B)#definePARTY(Y)printf(“Y=%d\\t“,Y)

main()

{inta=1,b=2,c=3,d=4,t;T=MAX(a+b,c+d);PRINT(t);}

A)Y=3B)存在语法错误C)Y=7D)Y=015、下程序段中存在错误的是()。

A)#definearray_size100Intarray1[array_size];

B)#definePI3.14159#defineS(r)PI*(r)*(r)???

Area=S(3.2);

C)#definePI3.14159

#defineS(r)PI*(r)*(r)???

Area=S(a+b);

D)#definePI3.14159

#defineS(r)PI*(r)*(r)

????..

Area=S(a);

...

area=S(a);

16、请读程序

#include#defineMUL(x,y)(x)*ymain()

{inta=3,b=4,c;c=MUL(a++,b++);

printf(\

上面程序的输出结果是()。A.12B.15C.20D.16

17、#define能做简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数F,正确的宏定义是()。

A.#definef(x)4*x*x+3*x+2B.#definef4*x*x+3*x+2C.#definef(a)(4*a*a+3*a+2)D.#define(4*a*a+3*a+2)f(a)18、对下面程序段

#defineA3

#defineB(a)((A+1)*a).

.

x=3*(A+B(7));

正确的判断是()。

A.程序错误,不许嵌套宏定义B.x=93C.x=21D.程序错误,宏定义不许有参数19、以下程序中,第一个输出值(1)()。其次输出值是(2)().

#include#defineM3

#defineN(M+1)#defineNMN*N/2main()

{printf(\printf(\[1]A.3B.4C.6D.8[2]A.17B.18C.30D.4020、以下程序的输出结果为()。

#include

#define(y)3.84+y

#definePR(a)printf(\#definePRINT(a)PR(a);putchar(\\'n')main(){intx=2;

PRINTF(F(3)*x));}A.8B.9C.10D.11

21、以下程序的输出结果为()。

#definePT5.5

#defineS(x)PT*x*xmain()

{inta=1,b=2;

printf(\

A.12.0B.9.5C.12.5D.33.5

22、以下在任何状况下计算平方数时都不会引起二义性的宏定义是()。

A.#definePOWER(x)x*xB.#definePOWER(x)(x)*(x)

C.#definePOWER(x)(x*x)D.#definePOWER(x)((x)*(x))

23、在“文件包含〞预处理语句的使用形式中,当#include后面的文件名用“〞括起时,寻

找被包含文件的方式是()。

A)直接按系统设定的标准方式探寻目录

B)先在源程序所在目录探寻,再按系统设定的标准方式探寻C)仅仅探寻源程序所在目录D)仅仅探寻在前目录

24、在“文件包含〞预处理语句的使用形式中,当#include后面的文件名用括起时,寻找

被包含文件的方式是()。

A)仅仅搜索当前目录B)仅仅搜索源程序所在目录C)直接按系统设定的标准方式搜索目录

D)先在源程序所在目录搜索,再按系统设定的标准方式搜索25、请读程序

#defineLETTER0main()

{charstr[20]=\inti;i=0;

while((c=str[i])!='\\0'){i++;

#ifLETTER

if(c>='a'

#else

if(c>='A'#endif

printf(\

上面程序的运行结果是()。

A)CLanguageB)clanguageC)CLANGUAGED)cLANGUAGE26、以下正确的描述是()。

A)C语言的预处理功能是指定完成宏替换和包含文件的调用

B)预处理指令只能位于C源程序文件的首部

C)凡是C源程序中行首以“#〞标识的控制行都是预处理指令D)C语言的编译预处理就是对源程序进行初步的语法检查27、C语言提供的预处理功能包括条件编译,其基本形式为:

#XXX标识符

程序段1#else程序段2

#endif

这里XXX可以是()。

A)define或includeB)ifdef或includeC)ifdef或ifndef或defineD)ifdef或ifndef或if二、填空题

1、设有以下宏定义:#defineWIDTH80

#defineLENGTHWIDTH+40

则执行赋值语句:v=LENGTH*20;(v为int型变量)后,k的制式。2、设有以下宏定义:#defineWIDTH80#defineLENGTH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论