itgle.com

有以下程序:includedefineN5defineMN+1definef(x)(x*M)main(){ inti1,i2;i1=f(2);i有以下程序: #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 12B.11 7C.11 11D.12 7

题目
有以下程序:includedefineN5defineMN+1definef(x)(x*M)main(){ inti1,i2;i1=f(2);i

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


相似考题
更多“有以下程序:#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){ inti1,i2;i1=f(2);i ”相关问题
  • 第1题:

    有以下程序:include define f(x) (x * x)main ( ){ int i1 ,i2;i1 = f(8)/f(4) ;i2

    有以下程序:#include <stdio, h>#define f(x) (x * x)main ( ){ int i1 ,i2; i1 = f(8)/f(4) ;i2 =f(4 +4)/f(2 +2); printf("% d,% d\n" ,i1 ,i2);

    A.64,28

    B.4,4

    C.4,3

    D.64,64


    正确答案:C
    解析:程序中i1=f(8)/f(4)宏替换后得到i1=(8*8)/(4*4),结果为4;i2=f(4+4)/f(2+2)宏替换后得到i2=(4+4*4+4)/(2+2*2+2),其结果为3。故本题输出的值为4,3。

  • 第2题:

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

  • 第3题:

    有以下程序includedefineN5defineMN+1definef(x)(x*M)main(){ inti1,i2;i1=f(2);i2

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

  • 第4题:

    有以下程序: # define f(x) (x*x) main() { int i1, i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("% d, % d\n", i1, i2); } 程序运行后的输出结果是______。

    A.64, 28

    B.4, 4

    C.4, 3

    D.64, 64


    正确答案:C
    解析:用宏代换有:i1=f(8)/f(4)=(8×8)/(4×4)=4,i2=f(4+4)/f(2+2)=(4+4×4+4)/(2+2×2+2)=3。

  • 第5题:

    有以下程序

    #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。