有以下宏定义#defineN2#defineY(n)((N+1)

题目

有以下宏定义#defineN2#defineY(n)((N+1)*n)则表达式z=2*(N+Y(5));的值为()

  • A、34
  • B、70
  • C、无定值
  • D、表达式有误
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下选项中与k=n++;完全等价的表达式是

A.k=n,n=n+1;

B.n=n+1,k=n;

C.k=++n;

D.k+=n+1;


正确答案:A
解析:本题考察混合表达式的展开。

第2题:

以下选项中,与k=n++完全等价的表达式是

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1


正确答案:A

第3题:

若程序中有宏定义行 :#define N 100 则以下叙述中正确的是

A) 宏定义行中定义了标识符 N 的值为整数100

B) 在编译程序对C 源程序进行预处理时用100 替换标识符N

C) 对 C 源程序进行编译时用 100 替换标识符N

D) 在运行时用 100 替换标识符N


正确答案:B

第4题:

若程序有宏定义:#define N 100则以下叙述中正确的是______。

A.宏定义中定义了标识符N的值为整数100

B.在编译程序对C源程序进行预处理时用100替换标识符N

C.对C源程序进行编译时用100替换标识符N

D.在运行时用100替换标识符N


正确答案:B
解析: 本题考查的重点是宏定义。#define指令定义一个标识符和一个串,编译程序在对C源程序处理时,发现该标识符就都用该串替换,因此选项B是正确的。

第5题:

若程序有宏定义:#define N l00,则以下叙述中正确的是( )。

A.宏定义中定义了标识符N的值为整数100

B.在编译程序对C源程序进行预处理时用l00替换标识符N

C.对C源程序进行编译时用100替换标识符N

D.在运行时用100替换标识符N


正确答案:B
#defineN100定义了标识符N的替换文本为100,而非N的值为100。即在该命令行后的程序中,所有出现标识符N的地方都将替换为l00,而且这一替换过程是在程序预编译时逊行的。

第6题:

以下选项中与k=n++;完全等价的表达式是

A.k=n,n=n+1

B.n=n+1,k=n;

C.k=++n;

D.k+=n+1


正确答案:A
解析:本题考察混合表达式的展开。

第7题:

设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行以下语句后,z的值为______。z=2 * (N+Y(5+1));

A.出错

B.42

C.48

D.54


正确答案:C

第8题:

若有以下宏定义:

#define N 2

#define Y(n)((N+1)*n)

则执行语句z=2*(N+Y(5));后的结果是( )。

A.语句有错误

B.z=34

C.z=70

D.z无定值


正确答案:B

本题考查宏定义的功能,可以把它看成一个函数,直接代人参数,可计算出结果为34, 故选B。 

第9题:

设有以下宏定义: # define N 3 # defi0ne Y(n)(N+1) * n) 则执行语句“z=2*(N+Y(5+1));”后,z的值为 ( )

A.出错

B.42

C.48

D.54


正确答案:C

第10题:

以下选项中,与k = n + +完全等价的表达式是

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1


正确答案:A

更多相关问题