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

题目

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

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

第1题:

已知#define M 2;的宏定义,执行语句k=M*5;后,k的值是

A.10

B.5

C.2

D.以上答案都不对


正确答案:D

第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题:

若x、y、z、m均为int型变量,则执行下面语句后m的值是( )。 m=1; x=2; y=3; m=(m<x) ? m : x; m=(m<y) ? m : y; m=(m<y) ? m : z;

A.1

B.2

C.3

D.4


正确答案:A
解析:?:运算符首先执行?之前的表达式,如果表达式的值为真,则返回?和:之间的表达式的值,否则返回:之后的表达式的值。本题中m比x和y都要小,所以,3个表达式都没有改变m的值,故应该选择A。

第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题:

假定w、x、y、z、m均为int型变量,有如下程序段:

w=l;x=2;y=3;z=4;

m=(W<x)?w:x;

m=(m<y)?m:y;

m=(m<2)?m:z;

则该程序运行后,m的值是【 】。


正确答案:√
1 解析:此题考查条件表达式的运用。第1条语句执行后,变量m的值为1。第2条语句执行后,变量m的值为1。第3条语句执行后,变量m的值为1。

第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题:

有以下程序:includedefine N 5define M N+1define f(x)(x*M)main(){int i1,i2;i1=f

有以下程序: #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",i1,i2); } 程序的运行结果是( )。

A.12 12

B.11 7

C.11 11

D.12 7


正确答案:B
解析:根据define的定义,可得f(2)=2*5+1=11,f(1+1)=1+1*5+17。

第10题:

下面宏定义正确的是( )

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

更多相关问题