更多“以下程序的输出结果是______。#define TIMES(X)X*Xmain(){int a=16,k=2,m=1; a/=TIMES (k+m)/TIME ”相关问题
  • 第1题:

    以下程序的输出结果为【18】。

    #define JFT(x)x*x

    main()

    { int a, k=3;

    a=++JFT(k+1);

    printf("%d",A.;

    }


    正确答案:
    9

  • 第2题:

    以下程序运行后,输出结果是______。includedefine PT 5.5difine S(x) PT*x*xmain(){i

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

    A.49.5

    B.9.5

    C.22

    D.45


    正确答案:B
    解析:C语言中宏替换只是字符替换,因此:S(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5。

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

    执行下列程序后,输出的结果是()。 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。

  • 第5题:

    以下程序的输出结果是 ______。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。

  • 第6题:

    以下程序的输出结果是______。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。

  • 第7题:

    以下程序运行后,输出结果是( )。

    #include

    #define PT 5.5

    #define S(x)PT*x*X

    main

    { int a=1,b=2;

    printf("%4.1f\n",s(a+b));}

    A.49.5

    B.9.5

    C.22.0

    D.45.0


    正确答案:B
    本题考查函数调用,由于a+b没有被括起来,所以s(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5,故选择B。

  • 第8题:

    以下程序的输出结果是______。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。

  • 第9题:

    下列程序的输出结果是______。 #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

  • 第10题:

    下列程序的运行结果是( )。

    #include<stdio.h>

    #define ADD(x) x+x

    main

    { int m=1,n=2,k=3;

    int S=ADD(m+n)*k;

    printf("s=%d",s);

    }

    A.A.sum=18

    B.sum=10

    C.sum=9

    D.sum=25


    正确答案:B
    本题考查带参数的宏的定义:“#defineADD(x)x+x”中X代表m+n,故s写成s=m+n+m+n*k=1+2+1+2*3=10。

  • 第11题:

    单选题
    执行下面的程序后,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
    解析: 暂无解析

  • 第12题:

    单选题
    有以下程序:#include #define FNA(x) x*x#define FNB(x) x+xmain(){ int a=2,b=4; printf(%d,%d,FNA(FNB(a)),FNB(FNA(b)));}程序运行后的输出结果是(  )。
    A

    8,16

    B

    16,32

    C

    8,32

    D

    16,16


    正确答案: A
    解析:
    带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA(FNB(a))的替换过程为:FNB(a)*FNB(a) = a+a*a+a,则FNA(FNB(2))替换为2+2×2+2,计算结果为8。FNB(FNA(b))的替换过程为:FNA(b)+FNA(b) = b*b+b*b,FNB(FNA(b))替换为4×4+4×4 = 32。程序运行后的输出结果是8,32,答案选择C选项。

  • 第13题:

    有以下程序:

    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。

  • 第14题:

    以下程序的输出结果是 ( ) # 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

  • 第15题:

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

    A.16

    B.2

    C.9

    D.1


    正确答案:D
    解析:本题考查带参数的宏调用。a/=SQR(k+m)/SQR(k+m)进行宏替换后得:a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)=10/(2+2+0+2+1)=10/7/1。

  • 第16题:

    以下程序的输出结果是 ______。 #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为整型,所以在做除法,自动取整。

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

    执行下述程序后,输出的结果是( )。 #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
    本题j=要是考查带参数的宏的定义,过程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。

  • 第19题:

    有以下程序: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。

  • 第20题:

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

    #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
    本题是考查带参数的宏的定义,过程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。

  • 第21题:

    下列程序的运行结果是()。 include define ADD(x)x+x main() {int m=1,n=2,k=3; int s

    下列程序的运行结果是( )。

    #include<stdio.h>

    #define ADD(x)x+x

    main()

    { int m=1,n=2,k=3;

    int s=ADD(m+n)*k;

    printf("s=%d",s);

    }

    A.sum=18

    B.sum=10

    C.sum=9

    D.sum=25


    正确答案:B
    解析:本题考查带参数的宏的定义及相关运算: S=m+n+m+n*k=1+2+1+2*3=10。

  • 第22题:

    执行下列程序后,输出的结果是()。 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。

  • 第23题:

    单选题
    有以下程序:#include #define PT 3.5#define S(x) PT*x*xmain(){ int a=1,b=2; printf(%4.1f,S(a+b));}程序运行后的输出结果是(  )。
    A

    14.0

    B

    31.5

    C

    7.5

    D

    程序有错无输出结果


    正确答案: A
    解析:
    宏定义分为两种:①无参数的宏定义,即#define PT 3.5;②带参数的宏定义,即#define S(x) PT*x*x。S(a+b)的运算过程即3.5*1+2*1+2,最后结果为 7.5,注意,7前面有一个空格字符。%4.1f要求输出的浮点数的宽度为4(包括小数点),且小数点后保留一位小数。若数字宽度不够则添加空格。答案选择C选项。