有以下程序#include <stdio.h>#define S(x) (x)*x*2main( ){ int k=5, j=2;printf( "%d,”,s(k+j) ); printf(”%d\n”,s( (k-j) ) );}程序运行后的输出结果是A) 98,18B) 39,11C) 39,18D) 98,11

题目

有以下程序

#include <stdio.h>

#define S(x) (x)*x*2

main( )

{ int k=5, j=2;

printf( "%d,”,s(k+j) ); printf(”%d\n”,s( (k-j) ) );

}

程序运行后的输出结果是

A) 98,18

B) 39,11

C) 39,18

D) 98,11


相似考题
更多“有以下程序#include &lt;stdio.h&gt; #define S(x) (x)*x*2 main( ){ int k=5, j=2; printf( "%d ”相关问题
  • 第1题:

    以下程序的输出结果是( )。 include main()fint x=0; sub(&x,16,2); printf("%d\n",

    以下程序的输出结果是( )。

    include<stdio.h>

    main()

    fint x=0;

    sub(&x,16,2);

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

    }

    sub(int*a,int n,int k)

    {if(k<=n) sub(a,n/2,2*k);

    *a+=k;

    }


    正确答案:14
    14 解析:本题考查递归函数的调用。在主函数中调用sub(&x,16,2)函数,此时n=16,k=2,if语句的控制的条件k=n成立,所以执行下面的语句,调用sub(x,8,4),此时n=8,k=4,if语句的控制条件k=n成立,所以执行下面的语句,调用sub(x,4,8),此时n=4,k=8,if语句控制的条件k=n不成立,因此,最后得x=2+4+8=14。

  • 第2题:

    有以下程序: #include<stdi0.h> #define S(x)(x)"x"2 main( ) { int k一5,j=2; Drintf("%printf,",S(k+j));printf("%printf\n",S((k—j))); } 程序运行后的输出结果是( )。

    A.98,18

    B.39,11

    C.39,18

    D.98,11


    正确答案:B
    S(k+j)=(k+j)*k+j*2=(5+2)*5+2*2=39,同理S(k-1)=(k+j)*k+j*2=(5-2)*5-2*2=11,所以答案选择B。

  • 第3题:

    有以下程序:main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+

    有以下程序: main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的个元素的值为75310246,所以,4个选项中选项A符合题意。

  • 第4题:

    有以下程序

    #include<stdio.h>

    #define S(x)4*(x)*x+1

    main()

    {int k=5,j=2;

    printf(“%d\n”,S(k+j));

    }

    程序运行后的输出结果是

    A.197

    B.143

    C.33

    D.28


    正确答案:B

  • 第5题:

    有以下程序: #include<stdio.h> #define S(x)4*(x)*x+1 main( ) {int k=5,j=2; printf("%d\n",S(k+j)); } 程序运行后的输出结果是( )。

    A.197

    B.143

    C.33

    D.28


    正确答案:B
    此程序考查带参数的宏定义,S(k+j)展开后即4*(k+j)*k+j+1,所以结果为l43,答案为B。