有宏定义#define M(x)x*x;则a=M(2+3)的值是()A、2B、3C、11D、25

题目

有宏定义#define M(x)x*x;则a=M(2+3)的值是()

  • A、2
  • B、3
  • C、11
  • D、25
参考答案和解析
正确答案:C
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知下面的程序段,正确的判断是 ______。#define A 3#define B(A) ((A+1)*A) ……int a=3;X=3*(A+B(7));

A.程序错误,不允许嵌套定义

B.X=93

C.X=81

D.程序错误,宏定义不允许有参数


正确答案:C
解析:本题的宏定义是合法的,宏定义展开为3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。

第2题:

执行下面的程序后,a的值是 ( ) # define SQR (X) X * X main( ) { int a=10,k=2,m=l; a/=SQR (k+m)/SQR (k+m); printf("%d\n",a); }

A.10

B.1

C.9

D.0


正确答案:B

第3题:

有以下程序

# include <stdio.h>

# define N 5

# define M N+1

# define f(x) (x*M)

main()

{ int i1, i2;

i1 = f(2) ;

i2 = f(1+1) ;

printf("%d %d\n", i1, i2);

}

程序的运行结果是

A)12 12

B)11 7

C)11 11

D)12 7


正确答案:B

答案 B
解析:根据宏替换的替换规则,我们可知,f(2)=2*N+1=2*5+1=11,f(1+1)=1+1*N+1=1+1*5+1=7 。因此本题的选项为 B 。

第4题:

下列选项中不会引起二义性的宏定义是( )。

A.#define S(x)x*x

B.#define S(x)(x)*(x)

C.#define S(x)(x*x)

D.#define S(x)((x)*(x))


正确答案:D
解析: 本题考查带参数的宏的替换。有些参数表达式必须加括号,否则,在实参表达式替换时,会出现错误。

第5题:

#define 能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为( )。

A.#define f(x)5*x*x+5*x+5

B.#define f5*x*x+5*x+5

C.#define f(a)(5*a*a+5*a+5)

D.#define(5*x*x+5*x+5)fx)


正确答案:C
解析:带参数宏的格式为:#define标识符(形参衰) 形参表达式。其功能是:预处理程序将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。

第6题:

已知下面的程序段,正确的判断是______。 #define A 3 #define B(A) ((A+1)*a) int a=3; ...... X=3*(A+B(7));

A.程序错误,不允许嵌套定义

B.X=93

C.X=81

D.程序错误,宏定义不允许有参数


正确答案:C
解析:本题的宏定义是合法的,宏定义展开为3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。

第7题:

#define能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为( )。

A.#definef(x)5*x*x+5*x+5

B.#definef5*x*x+5*x+5

C.#definef(a)(5*a*a+5*a+5)

D.#define(5*x*x+5*x+5)f(x)


正确答案:C
解析: 带参数宏的格式为:#define标识符(形参表)形参表达式。其功能:预处理程序将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。

第8题:

#define能作简单的替代,用宏来替代计算多项式5*x*x+5*+5的值的函数f,正确的宏定义语句为( )。

A.#definef(x)5*x*x+5*+5

B.#definef5*x*x+5*x+5

C.#definef(a) (5*a*a+5*a+5)

D.#define5*x*x+5*+5f(x)


正确答案:C
解析:带参数宏的格式:#define标识符(形参表)形参表达式。其功能:在预处理程序中将程序中出现的所有带实参的宏名,展开成由实参组成的表达式。

第9题:

下面宏定义正确的是( )

A.#define S a*b

B.#define PI 3.14;

C.#define max(a,b) ((a) >(b) ?(a) ;(b) )

D.#define s(x) (x)*(x);


正确答案:C

第10题:

#define能做简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为( )。A.

B.

C.

D.

A.A

B.B

C.C

D.D


正确答案:C
本题考查带参数宏的格式:#define标识符(形参表)形参表达武。其功能是:把预处理程序中出现的所有带实参的宏名,展开形成由实参组成的表达式。故C正确。

更多相关问题