参考答案和解析
正确答案:
3 解析:该题先是初始化数组n[2]中的元素全部赋值为0,然后执行两层for循环,当i=0,j=0,a[0]为1、a[1]为0,当j=1时,a[0]为1、a[1]为2;当i=1,j=0,a[0]为3、a[1]为2,当i=1,j=1时,a[0]为3、a[1]为3。
更多“以下程序运行后的输出结果是【13】。include<stdio.h>main(){int n[2],i,j; for(i=0;i<2;i ”相关问题
  • 第1题:

    有以下程序

    void fun(int *a,int i,int j)

    { int t;

    if(i<j)

    { t=a[i];a[i]=a[j];a[j]=t;

    i++; j--;

    fun(a,i,j);

    }

    }

    main( )

    { int x[ ]={2,6,1,8},i;

    fun(x,0,3);

    for(i=0;i<4;i++) printf("%2d",x[i]);

    printf("\n");

    }

    程序运行后的输出结果是

    A.1 2 6 8

    B.8 6 2 1

    C.8 1 6 2

    D.8 6 1 2


    正确答案:C
    解析:程序运行结果是8 1 6 2。

  • 第2题:

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

    A.1 2 6 8

    B.8 6 2 1

    C.8 1 6 2

    D.8 6 1 2


    正确答案:C
    解析:本题考核的知识点是倘单程序的分析。函数fun()中用了一个if语句,当数组下标i小于数组下标j时,交换数组元素a[i]和a[j]的值,并使i值加1,j值减1。其功能就是把数组a中从下标i到j的元素首尾互换。主函数中定义一个数组,在定义该数组的时候缺省了定义长度,定义的同时将其初始化赋值,所以该数组的长度为初始化该数组时的元素的个数即4,接着调用fun(a,0,3),其中将a数组的第一个元素的下标0和最后一个元素的下标3传给了函数fun(),故执行完该函数后,数组a中的元素首尾互换,因此最后依次输出的数组a中值为8,1,6和2,所以,4个选项中选项C符合题意。

  • 第3题:

    以下程序运行后输出结果是()。 main() { int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for (i=0;i<k;i++) for (j=0;j<k;j++) n[j]=n[i]+1; printf("%dn",n[1]); }

    A.2

    B.1

    C.0

    D.3


    C 解析:本题考查的是对位与运算符&的理解。位与运算是将两个运算分量看作两个二进制数,然后对两个二进制数的相应位进行与运算,若同时为1则结果相应位为1,否则结果相应位为0。因此,当两个运算分量相同时,它们的相应位肯定也相同,即不同为1就同为0。所以得到的结果和运算分量也相同。所以,4个选项中选项C)符合题意。

  • 第4题:

    有以下程序main(){ int n[3],i,j; for(i=0;i<3;i++) n[i]=0; for(i=0;i<2;i++) for(j=0;j<2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是A.2 B.1C.0 D.3


    正确答案:D
    初始时定义一个大小为3个一维整型数组,第一个for语句是对数组赋初值,每个值都为0。后面是一个for语句的嵌套调用,外层的循环变量i的取值为[0,2],内层循环变量的取值范围为[0,2]。最初外层的循环变量i=0,内层的循环变量j取值从0到2,计算n[j]=n[0]+1,得到n[0]=1,n[1]=1,n[2]=1。外层for语句的循环变量为1时,内层的循环变量j取值从0到2,计算n[j]=n[1]+1,得到n[0]=2,n[1]=2,n[2]=2。外层for语句的循环变量为2时,内层的循环变量j取值从0到2,计算n[j]=n[2]+1,得到n[0]=3,n[1]=3,n[2]=3。最后的输出结果为3。

  • 第5题:

    试题13

    以下程序运行后的输出结果是______.

    #include <stdio.h>

    main()

    { int n[2], i, j;

    for(i=0; i<2;i++) n[i]=0;

    for(i=0; i<2; i++)

    for(j=0; j<2; j++) n[j]=n[i]+1;

    printf(“%d\n”, n[1]);

    }


    正确答案:
    试题13分析
    for(i=0; i<2;i++)    n[i]=0;使得每个项的值赋为0。
    i=0,j=0,n[0]=n[0]+1=1;i=0,j=1,n[1]=n[0]+1=2;
    i=1,j=0,n[0]=n[1]+1=3;i=1,j=1,n[1]=n[1]+1=3;
    试题13答案
      3