更多“执行下面的程序后,a的值是() #define SQR(X) ”相关问题
  • 第1题:

    有以下程序:

    define f(x)x*x

    main()

    { int i;

    i=f(4+4)/f(2+2);

    printf("% d\n", i);

    }

    执行后的输出结果是【 】。


    正确答案:28
    28 解析:i=f(4+4)/f(2+2)=4+4×4+4/2+2×2+2=4+16+2+4+2=28。

  • 第2题:

    下列程序执行后的输出结果是( ) #define MA(x) x*(x-1) main() { int a=1,b=2; printf("%d\n",MA(1+a+b)); }

    A.5

    B.6

    C.7

    D.8


    正确答案:D
    解析:本题中的宏调用MA(1+a+b)展开后的结果是1+a+b*(1+a+b-1)=1+1+2*(1+1+2-1)=2+2*3=8。所以输出的结果是8,选项D正确。

  • 第3题:

    执行下面的程序后,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

  • 第4题:

    以下程序的输出结果是 ______。 #define SQR(X) X * X main() { int a=16,k=2,m=1; a/=SQR(k/m)/SQR(k+m); printf("%d\n",A) ; }

    A.16

    B.2

    C.9

    D.1


    正确答案:B
    解析:C语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换。在做这题时,也不妨运用置换法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注:a为整型,所以在做除法,自动取整。

  • 第5题:

    有以下程序段:include define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i

    有以下程序段:

    include<iostream.h>

    define MIN(x,y) (x)<(y)?(x):(y)

    void main()

    {

    int i,j,K;

    i=10;j=15;

    k=10*MIN (i,j);

    cout<<k<<endl;

    }

    程序执行后的输出结果是______。


    正确答案:15
    15

  • 第6题:

    以下程序运行后,输出结果是______。 define P4.5 define S(x)P*x*x include main() {

    以下程序运行后,输出结果是______。 #define P4.5 #define S(x)P*x*x #include<stdio.h> main() { int a=2,b=3; printf("%.1f\n",S(a+b)); }

    A.49.5

    B.112.5

    C.18

    D.24


    正确答案:C

  • 第7题:

    有以下程序:include define f(x) x*xmain(){int i; i=f(4+4)/f(2+2); priatf("%d\n",

    有以下程序: #include <stdio.h> #define f(x) x*x main() { int i; i=f(4+4)/f(2+2); priatf("%d\n",i); } 执行后的输出结果是( )。

    A.28

    B.22

    C.16

    D.4


    正确答案:A
    解析:程序中的带参宏定义,替换展开后为i=4+4*4+4/2+2*2+2=4+16+2+4+2=28。

  • 第8题:

    执行下列程序后,输出的结果是()。 include define S(X)X*X void main() {iht a=9,k=3,

    执行下列程序后,输出的结果是( )。

    #include<stdio.h>

    #define S(X)X*X

    void main()

    { iht a=9,k=3,m=2;

    a/=S(k+m)/S(k+m);

    printf("%d",A) ;

    }

    A.1

    B.4

    C.9

    D.0


    正确答案:D
    解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/(S(k+m)/S(k+m))=a/(k+ m*k+m/k+m*k+m)=9/ (3+2*3+2/3+2*3+2)=0。

  • 第9题:

    已知下面的程序段,正确的判断是______ #define A3 #define B(A) ((A+1)*a) X=3*(A+B(7)); 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。

  • 第10题:

    执行下面的程序段后,x的值为______。 x=5 For i=3 To 8 Step 2 x=x+1 Next i

    A.5

    B.6

    C.7

    D.8


    正确答案:D

  • 第11题:

    设x是值大于零的实型变量,计算PASCAL中x8的表达式为()。

    • A、ln(8*exp(x))
    • B、exp(8*ln(x))
    • C、x^8
    • D、sqr(sqr(sqr(x)))*x

    正确答案:B

  • 第12题:

    单选题
    设x是值大于零的实型变量,计算PASCAL中x8的表达式为()。
    A

    ln(8*exp(x))

    B

    exp(8*ln(x))

    C

    x^8

    D

    sqr(sqr(sqr(x)))*x


    正确答案: D
    解析: 暂无解析

  • 第13题:

    以下程序的输出结果是 ( ) # define SQR (X) X*X main( ) { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }

    A.16

    B.2

    C.9

    D.1


    正确答案:B

  • 第14题:

    已知下面的程序段,正确的判断是______。 #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。

  • 第15题:

    执行下列程序后,输出的结果是()。 includedefine S(X) X*Xvoid main(){int a=9,k=3,m=

    执行下列程序后,输出的结果是( )。 #include<stdio.h> #define S(X) X*X void main() { int a=9,k=3,m=2; a/=S(k+m)/S(k+m); printf("%d",a); }

    A.1

    B.4

    C.9

    D.0


    正确答案:D
    解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m=9/(3+2*3+2/3+2*3+2)=0。

  • 第16题:

    以下程序的输出结果是 ______。includedefine SQR(x)x*xmain((){ int a,k=3;a=++SQR(K

    以下程序的输出结果是 ______。#include<stdio.h>#define SQR(x)x*xmain((){ int a,k=3; a=++SQR(K+1); printf("%d\n",A) ;}

    A.8

    B.9

    C.17

    D.20


    正确答案:B
    解析:本题宏替换中遇到形参x以实参k+1代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。

  • 第17题:

    以下程序的输出结果是_______。includedefine SQR(x)x*xmain(){int a;k=3; a=++SQR(k+

    以下程序的输出结果是_______。 #include<stdio.h> #define SQR(x)x*x main() { int a;k=3; a=++SQR(k+1); printf("%d\n",a) ; }

    A.8

    B.9

    C.17

    D.20


    正确答案:B
    解析:本题宏替换中遇到形参x以实参k+1代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。

  • 第18题:

    以下程序的输出结果是______。includedefme SQR(x)x*xmain(){int a,k=3; a=++SQR(k+1)

    以下程序的输出结果是______。 #include<sulio.h> #defme SQR(x)x*x main() { int a,k=3; a=++SQR(k+1); printf("%d\n",a) ; }

    A.8

    B.9

    C.17

    D.20


    正确答案:B
    解析:本题宏替换中遇到形参x以实参k+l代替,其他字符不变。SQR(k+1)展开后应为字符串k+l*k+l。

  • 第19题:

    以下程序的输出结果是______。includedefine SQR(x)x*xmain(){int a,k=3; a=++SQR(k+1

    以下程序的输出结果是______。 #include<stdio.h> #define SQR(x)x*x main() { int a,k=3; a=++SQR(k+1); printf("%d\n",a); }

    A.8

    B.9

    C.17

    D.20


    正确答案:B
    解析:本题宏替换中遇到形参x以实参k+1代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。

  • 第20题:

    下列程序段的执行结果为 ______。 N=10 For K=N To 1 Step -1 X=Sqr(K) X=X-2 Next K Print X-2

    A.-3

    B.-1

    C.1

    D.1.16227765


    正确答案:A
    解析:分析程序:因为在For循环每次执行时,都会根据循环控制变量K给x重新赋值,所以我们只需要根据最后一次循环的值计算x的值就可以了。最后一次循环,K=1,所以X-Sqr(1)=1,X-X-2=-1,打印X-2的值,即为-1-2=3。

  • 第21题:

    计算平方数时不可能引起二义性的宏定义是( )

    A.define SOR(x)x*x

    B.define SQR(x)(x)*(x)

    C. define SQR(x)(x*x)

    D. define SQR(x)((x)*(x))


    正确答案:D
    分析备选答案A:如果宏引用是“SQR(2+3)”,则宏替换后的结果是“2+3*2+3”,结果是错误的,因此这个答案可能引起二义性。分析备选答案B:如果宏引用是“3/SQR(2+3)”,则宏替换后的结果是“3/(2+3)*(2+3)”,结果也是错误的,因此这个答案可能引起二义性。分析备选答案C:如果宏引用是“SQR(2+3)”,则宏替换后的结果是“(2+3*2+3)”,结果也是错误的,因此这个答案可能引起二义性。只有备选答案D不会引起二义性。所以本题答案应选D。

  • 第22题:

    下面程序的输出结果是( )。 #define SQR(X) 2*X+1 main() { int a,b,C; a=3;b=2;C=1; a* =SQR(b+c)/SQR(b+c); printf("%d",a); }

    A.3

    B.18

    C.21

    D.24


    正确答案:C
    解析:以b+c代替参数x,a*=a*(2*b+c+1/2*b+c+1)=3*(2*2+1+1/2*2+1+1)=21。

  • 第23题:

    单选题
    有以下程序:#include #define F(x) 2.84+x#define PR(a) printf(%d,(int)(a))#define PRINT(a) PR(a);putchar('')main(){ PRINT(F(5)*2);}程序运行后的输出结果是(  )。
    A

    12

    B

    13

    C

    15

    D

    11


    正确答案: A
    解析:
    直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。将PRINT(F(5)*2)用PR(F(5)*2); putchar('')替换,将PR(F(5)*2)用printf(“%d”, (int)(F(5)*2))替换,再将F(5)用2.84+5替换,最后替换结果为printf(“%d”, (int)(2.84+5*2)); putchar(''),运行结果为:12<回车>。答案选择A选项。

  • 第24题:

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

    10

    B

    1

    C

    9

    D

    0


    正确答案: D
    解析: 暂无解析