下面的程序段运行后,输出结果是 int i,j,x=0; static int a[8][8]; for(i=0;<3;++) for(j=0;<3;j++) a[i][j]=2*i+j; for(i=0;<8;++) x+=a[i][j]; printf("%d",x);A.9B.不确定值C.0D.18

题目

下面的程序段运行后,输出结果是 int i,j,x=0; static int a[8][8]; for(i=0;<3;++) for(j=0;<3;j++) a[i][j]=2*i+j; for(i=0;<8;++) x+=a[i][j]; printf("%d",x);

A.9

B.不确定值

C.0

D.18


相似考题
更多“下面的程序段运行后,输出结果是int i,j,x=0;static int a[8][8];for(i=0;<3;++)for(j=0;<3;j++)a ”相关问题
  • 第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
    解析:本题考核的知识点是倘单程序的分析。函数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符合题意。

  • 第2题:

    有以下程序: main { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) {if(j=0;j<=3;j++) x++; } x++; } printf("x=%d\n",x); } 程序执行后的输出结果是( )。

    A. x=4

    B.x=8

    C.x=6

    D.x=12


    正确答案:B
    当i=0时,i<2成立,执行第一个for循环x自加为1,接着执行第二个for循环;j=0时j<=3成立,此时if不成立,执行x++后,x为2;接着j=1时,i<=3成立,继续循环,此时if成立,continue是跳出本次循环,继续下一次循环,不再执行x++了;接着j=2时,j<=3成立,此时if不成立,执行其后的语句;当j=4时,退出第二个循环,接着执行循环外部的x++,x为4;当i=1时,i<2成立,执行第一个循环,x=5,此时接着执行循环外部的语句,即第二个循环;j=0时j<3成立,此时if不成立,x++后,x为6,接着j为1时,j<=3成立,继续循环,此时if成立,不再执行x++了;接着J=2时,j<=3成立,此时if不成立,执行其后的x++,x为7;i=3时,j<=3成立,此时if成立,不再执行其后的语句了;当j=4时,退出第二个循环,执行循环外部的语句,最终x为8,故选B选项。

  • 第3题:

    有以下程序片段 int a[3][3]= {1,2,3,4,5,6,7,8,9}; int i=0,j=0; for(i=0; i<3; i++) for(j=0; j<3; j++) { if((i+j)%2==0) a[i][j]=1; } for(i=0; i<3; i++) printf("%d",a[i][i]); 程序运行后的输出结果是

    A.111

    B.159

    C.359

    D.222


    D

  • 第4题:

    有以下程序 void fun(int *a,int i,int j) { int t; if (i<j) { t=a[j]; 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]); } 程序运行后的输出结果是______。

    A.1 2 6 8

    B.8 6 2 1

    C.8 1 6 2

    D.8 6 1 2


    正确答案:C

  • 第5题:

    下面的程序段运行后,输出结果是 int i,j,x=0; static int a[8][8]; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=2*i+j; for(i=0;i<8;i++) x+=a[i][j]; printf("%d",x);

    A.9

    B.不确定值

    C.0

    D.18


    正确答案:C
    解析:本题主要考查的是用二维数组首地址和下标来引用二维数组元素的方法。通过分析可知,程序中的双重循环定义了一个如下的二维数组:

    由于数组的下标是从。开始的,所以二维数组元素a[i][j]表示的是二维数组a的第i+1行、第j+1列对应位置的元素。