1、下面程序段执行后,i、j的值分别是()。 int i=1; j = 10; do{ if(i++>--j) continue; }while(i<5); System.out.println(“i = ” + i + “j = ” + j); A.i = 6 j = 5 B. i = 5 j = 5 C. i = 6 j = 4 D. i = 5 j = 6

题目

1、下面程序段执行后,i、j的值分别是()。 int i=1; j = 10; do{ if(i++>--j) continue; }while(i<5); System.out.println(“i = ” + i + “j = ” + j); A.i = 6 j = 5 B. i = 5 j = 5 C. i = 6 j = 4 D. i = 5 j = 6


相似考题
更多“1、下面程序段执行后,i、j的值分别是()。 int i=1; j = 10; do{ if(i++>--j) continue; }while(i<5); System.out.println(“i = ” + i + “j = ” + j); A.i = 6 j = 5 B. i = 5 j = 5 C. i = 6 j = 4 D. i = 5 j = 6”相关问题
  • 第1题:

    指出程序结束时,j、i、k的值分别是()。main(){inta=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;ab;++b)i++;while(a++c)j++;dok++;while(ad++);}

    A.j=5,i=4,k=6;

    B.i=5,j=4,k=6;

    C.j=6,i=5,k=7

    D.j=6,i=6,k=6;


    正确答案:B

  • 第2题:

    inti=1,j=10;do{if(i>j){continue;}j--;}while(++i<6);System.out.println(i=+i+”andj=+j);Whatistheresult?()

    A.i=6andj=5

    B.i=5andj=5

    C.i=6andj=4

    D.i=5andj=6

    E.i=6andj=6


    参考答案:A

  • 第3题:

    有以下程序: void fun(int a*a,int i,int i) {int t; if(i<j); {t=a[i];a[i]=a[j];a[j]=t; fun(a,++i,--j); } } main() {inta[]={1,2,3,4,5,6},i; fun(a,0,5); for(i=0;i(6;i++) cout<(a[i]; } 执行后输出结果是( )。

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析: 本题采用递归函数的方式将数组中的元素进行倒置,正确答案为A。

  • 第4题:

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

    有以下程序

    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+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

    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
    解析:程序运行的输出结果是75310246。

  • 第5题:

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

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析:函数fun()中有3个参数,参数。为一个指针变量,接收的实参可以是数组名,参数i和j分别表示数组元素的下标,当下标i小于下标j时,a[i]和a[j]交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组a,从下标为i的元素到下标为j的元素之间的所有元素反序存放。在主函数中调用fun()函数,把a数组从a[0]到a[5]之间的所有元素反序存放,最后输出从a[1]到a[5]的值,因此输出的值为6、5、4、3、2、1。

  • 第6题:

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

    A.654321

    B.432156

    C.456123

    D.123456


    正确答案:A
    解析:函数fun()中有3个参数,参数a为一个指针变量,接收的实参可以是数组名,参数i和j分别表示数组元素的下标,当下标i小于下标j时,a[i]和a[j]交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组a从下标为i的元素到下标为j的元素之间的所有元素反序存放。在主函数中调用fun()函数,把a数组从a[0]到a[5]之间的所有元素反序存放,最后输出从a[0]到a[5]的值,因此输出的值为6、5、4、3、2、1,.所以,A选项为所选。

  • 第7题:

    在执行完此程序段后,i,j值为 int i=1-10; do{ if(++i>j--)continue; } while(i<5);

    A.i=6 and j=5

    B.i=5 and j=5

    C.i=6 and j=4

    D.i=5 and j=6


    正确答案:D
    解析:本题考查考生对自增自减运算符的理解。++op和op++,表示对操作数op加1,其中++op表示先对op加I然后再取值,而op什表示先取值,然后再对op进行加1。-op和op一也是一样。当进行到i=5时退出循环,此时i为6。

  • 第8题:

    有以下程序: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符合题意。

  • 第9题:

    int i = 1,j = 10;  do{  if (i>j) {  continue;  }  j--;  } while (++i <6);  System.out.println(“i = “ +i+” and j = “+j);  What is the result?()  

    • A、 i = 6 and j = 5
    • B、 i = 5 and j = 5
    • C、 i = 6 and j = 4
    • D、 i = 5 and j = 6
    • E、 i = 6 and j = 6

    正确答案:A

  • 第10题:

    下列代码段inti=1,j=10;do{???if(i++>--j)continue;}while(i<5);执行完毕后,i和j的值分别是()。

    • A、i=6?j=5
    • B、i=5?j=5
    • C、i=6?j=4
    • D、i=5?j=6

    正确答案:A

  • 第11题:

    单选题
    int i= 1, j= 10 ;   do (   if (i++> --j) continue;  ) while (i<5);   After execution, what are the values for I and j? ()
    A

     i = 6 and j= 5

    B

     i = 5 and j= 5

    C

     i = 6 and j= 4

    D

     i = 5 and j= 6

    E

     i = 6 and j= 6


    正确答案: E
    解析: 暂无解析

  • 第12题:

    单选题
    int i = 1,j = 10;  do {  if(i>j) {  break;  } j--;  } while (++i <5);  System.out.println(“i =” +i+” and j = “+j); What is the result?()
    A

     i = 6 and j = 5

    B

     i = 5 and j = 5

    C

     i = 6 and j = 4

    D

     i = 5 and j = 6

    E

     i = 6 and j = 6


    正确答案: E
    解析: 暂无解析

  • 第13题:

    执行下面的程序段后i和j的结果为 int i=1,j=10; do { if(i++>--j)continue; } while(i<5);

    A.i=6,j=5

    B.i=5,j=5

    C.i=6,j=4

    D.i=5,j=6


    正确答案:D
    解析:本题考查考生对自增自减运算符的理解。++op和op++,表示对操作数op加1,其中++op表示先对op加1然后再取值,而op++表示先取值,然后再对op进行加1。-op和op--也是一样,当进行到i=5时退出循环,此时j为6。因此,本题正确答案为选项D。

  • 第14题:

    inti=1,j=10;do{if(i>j){break;}j--;}while(++i<5);System.out.println(i=”+i+”andj=+j);Whatistheresult?()

    A.i=6andj=5

    B.i=5andj=5

    C.i=6andj=4

    D.i=5andj=6

    E.i=6andj=6


    参考答案:D

  • 第15题:

    下面程序段的执行结果为( )。 int i=3,j=0,k=0; for(;i>0;--i) { ++k; do { ++j; if (i!=j) break; ++k; }while(j<5); } printf("i=%d j=%d k=%d\n",i,j,k);

    A.i=0 j=4 k=12

    B.i=0 j=5 k=5

    C.i=0 j=4 k=4

    D.i=0 j=3 k=3


    正确答案:C
    解析:程序开始时(i,j,k)三个值分别为(3,0,0),然后进入for循环,由于for的第一条语句空缺,所以不做初始化,此时i为3满足循环条件,进入循环体。然后执行“++k;”使k变成1,再无条件进入do-while循环体执行“++j;”使j变成1,此时i和j不相等所以执行break;语句跳出do-while循环。准备开始第二遍for循环,i的值被减1,此时3个值分别为(2,1,1),i为2满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j同为2相等,所以跳过break;语句再执行一次++k;使k为3,由于此时j满足do-while的循环条件,所以下一步回到前面执行do后面的++j;语句,使j为3,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第三遍for循环,i的值被减1,此时3个值分别为(1,3,3),i为1满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第四遍for循环,i的值被减1,此时3个值分别为(0,4,4),i为0不满足for语句的循环条件,所以执行循环体后面的printf()函数输出3个值,故正确答案为C。

  • 第16题:

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

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析:本题考核的知识点是指针变量作为函数的参数和递归函数的简单使用。函数fun()中有3个参数,参数a为一个指针变量,接收的实参可以是数组名,参数i和j分别表示数组元素的下标,当下标i小于下标j时,a[i]和a[j]交换,然后对自身进行调用,可见这是一个递归函数。其实现的功能是把数组a,从下标为i的元素到下标为i的元素之间的所有元素反序存放。在主函数中调用fun()函数,把a数组从a[0}到a[5]之间的所有元素反序存放,最后输出从a[0]到a[5]的值,因此输出的值为6、5、4、3,2、1,所以,A选项为所选。

  • 第17题:

    下面程序段的执行结果是( )。 main() {int a[5][5],i,j; for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i); for(i=1;i<5;i++) { for(j=1;j<5;j++) printf("%2d",a[i][j]); printf("\n"); } }

    A.1111 1111 1111 1111

    B.0001 0010 0100 1000

    C.1000 0100 0010 0001

    D.0000 0000 0000 0000


    正确答案:C
    解析:本题使用一个双重循环对—个二维数组的一部分赋值(下标中含0的元素不赋值),赋值表达式是a[i][j]=(i/j)*(j/i)。因为i和j都是正整数,所以当i大于j时,j/i为0,当i小于j时,i/j为0,而0乘以任何数都为0,故表达式(i/j)*(j/i)在i和j不相等时的值为0。当i和j相等时,i/j和j/i的值都为1,所以表达式(i/j)*(j/i)的值为1。故二维数组中的a[1][1]、a[2][2]、 a[3][3]、a[4][4]被赋为1,其余下标不含0的元素被赋为0。故应该选择C。

  • 第18题:

    有以下程序

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

    { int t;

    if(i<j);

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

    fun(a,++i,- -j);

    }

    }

    main( )

    { int a[]={1,2,3,4,5,6},i;

    fun(a,0,5);

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

    cout<<a[i];

    }

    执行后输出结果是

    A.6 5 4 3 2 1

    B.4 3 2 1 5 6

    C.4 5 6 1 2 3

    D.1 2 3 4 5 6


    正确答案:A
    解析:本题采用递归函数的方式将数组中的元素进行倒置,正确答案为A。

  • 第19题:

    有以下程序: void sott(int a[], int n) { int i, j, t; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;) } main() {int aa[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, I; sort(aa+2, 5); for (i=0; i<10; i++)printf("% d", aa[i]); printf("\n"); } 程序运行后的输出结果是______。

    A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

    B.1, 2, 7, 6, 3, 4, 5, 8, 9, 10,

    C.1, 2, 7, 6, 5, 4, 3, 8, 9, 10,

    D.1, 2, 9, 8, 7, 6, 5, 4, 3, 10,


    正确答案:C
    解析:aa+2=aa[2],因此sort(aa+2,5)是从aa[2]开始,依次与后面的元素进行比较,将当前值小于其后一项的值进行互换,循环5次。

  • 第20题:

    观察以下程序段:int i=1,j=10;do{if(i++>--j) continue;} while(i<5、;执行完后,i、j的值分别为:

    A. i=6 j=5

    B. i=5 j=5

    C. i=6 j=4

    D. i=5 j=6


    正确答案:B

  • 第21题:

    int i= 1, j= 10 ;  do (  if (i++> --j) continue;  ) while (i<5);   After execution, what are the values for I and j?()  

    • A、 i = 6 and j= 5
    • B、 i = 5 and j= 5
    • C、 i = 6 and j= 4
    • D、 i = 5 and j= 6
    • E、 i = 6 and j= 6

    正确答案:D

  • 第22题:

    int i = 1,j = 10;  do {  if(i>j) {  break;  } j--;  } while (++i <5);  System.out.println(“i =” +i+” and j = “+j); What is the result?()

    • A、 i = 6 and j = 5
    • B、 i = 5 and j = 5
    • C、 i = 6 and j = 4
    • D、 i = 5 and j = 6
    • E、 i = 6 and j = 6

    正确答案:D

  • 第23题:

    单选题
    int i = 1,j = 10;  do{  if (i>j) {  continue;  }  j--;  } while (++i <6);  System.out.println(“i = “ +i+” and j = “+j);  What is the result?()
    A

     i = 6 and j = 5

    B

     i = 5 and j = 5

    C

     i = 6 and j = 4

    D

     i = 5 and j = 6

    E

     i = 6 and j = 6


    正确答案: D
    解析: 暂无解析

  • 第24题:

    单选题
    下列代码段inti=1,j=10;do{???if(i++>--j)continue;}while(i<5);执行完毕后,i和j的值分别是()。
    A

    i=6?j=5

    B

    i=5?j=5

    C

    i=6?j=4

    D

    i=5?j=6


    正确答案: A
    解析: 暂无解析