有宏定义#define M(x)x*x*2;则a=M(2+3)的值()
第1题:
已知#define M 2;的宏定义,执行语句k=M*5;后,k的值是
A.10
B.5
C.2
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
第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
解析:根据宏替换的替换规则,我们可知,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
第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)
第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的值是【 】。
第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)
第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)
第9题:
有以下程序: #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
第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);