itgle.com

给出下列代码段: int i=3,j; outer:while(i>0) { j=3; inner:while(j>0) { if(j<3) break outer; System.out.println(j+"and"+i); j--; } i--; }下列选项中( )会被输出到屏幕。A.3 and 3B.3 and 2C.3 and 1D. 3 and 0

题目

给出下列代码段: int i=3,j; outer:while(i>0) { j=3; inner:while(j>0) { if(j<3) break outer; System.out.println(j+"and"+i); j--; } i--; }下列选项中( )会被输出到屏幕。

A.3 and 3

B.3 and 2

C.3 and 1

D. 3 and 0


相似考题
更多“给出下列代码段: int i=3,j; outer:while(i>0) {j=3;inner:while(j>0) {if(j<3) break outer;Sys ”相关问题
  • 第1题:

    阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。

    【说明】

    函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。

    【函数】

    void QuickSort( int A[ ],int s,int t)

    { int i=s,j=t+1,temp;

    int x=A[s];

    do{

    do i ++ ;while (1);

    do j -- ;while(A[j]>x);

    if(i<j){temp=A[i];(2);(3);}

    }while(i<j);

    A[a] =A[j];A[j] =x;

    if(s<i-1) (4);

    if(j+1<t) (5);

    }


    正确答案:(1)A[i]x (2)A[i]=A[j] 3)A[j]=temp (4)QuickSort(Asj-1) (5)QuickSort(Aj+1t);
    (1)A[i]x (2)A[i]=A[j] 3)A[j]=temp (4)QuickSort(A,s,j-1) (5)QuickSort(A,j+1,t); 解析:快速排序的思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。快速排序是对冒泡排序的一种改进方法,算法中元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面单元,排序码较小的记录一次就能够交换到前面单元,记录每次移动的距离较远,因而总的比较和移动次数较少。

  • 第2题:

    已知C源程序如下: include include void reverse(char S[]){ int C,i,J; f

    已知C源程序如下:

    include<stdio. h>

    include<string. h>

    void reverse(char S[]){

    int C,i,J;

    for(i=0,j=strlen(s)-1;i<j;i++,j++){

    c=s[i];

    s[i]=s[j];

    s[j]=c;

    }

    }

    void getHex(int number,char s[]){

    int I;

    i=0;

    while(number>0){

    if(number%16<10)

    s[i++]=number%16+'0';

    else

    switch(number%16){

    case 10:s[i++]='A';break;

    case 11:s[i++]='B';break;

    case 12:s[i++]='C';break;

    case 13:s[i++]='D';break;

    case 14:s[i++]='E';break;

    case 15:s[i++]='F';break;

    default:printf("Error");break;

    }

    number/=16;

    }

    s[i]:'\o';

    reverse(s);

    }

    int main(){

    unsigned int number;

    int i=0:

    char s[50];

    printf("%s","please input number;\n");

    scanf("%d",&number):

    getHex(number,s);

    i=0;

    while(s[i])

    printf("%c",s[i++]);

    return 0;

    }

    画出程序中所有函数的控制流程图。


    正确答案:流程图
    流程图

  • 第3题:

    以下程序的输出结果是( )。 include main() {int i=10,j=0; do {j=j+i; i--; }while(i>5

    以下程序的输出结果是( )。 include<stdio.h> main() {int i=10,j=0; do {j=j+i; i--; }while(i>5); printf("%d\n",j); }


    正确答案:40
    40 解析:分析程序,初始时i=10,j=0,这时do循环中的“i=j+i”

  • 第4题:

    下列程序的输出的结果是______。 public class exl6 { public static void main(String[] args) { int j=10; for(int i=0;i<3;i++) { j-=i+1; switch (j){ case 3: break; case 5: break; case 8: break; default: j=0;break; } } System,out.println(j); } }

    A.5

    B.3

    C.8

    D.0


    正确答案:D

  • 第5题:

    下列程序输出结果为( )。public class test { public static void main(String args[]) { int a=0; outer: for(int i=0;i<2;i++) { for(int j=0;j<2;j++) { if(j>i) { continue outer; } a++; } } System.out.println(a); }}

    A.0

    B.2

    C.3

    D.4


    正确答案:C

  • 第6题:

    控制台应用程序 example.java 如下:

    public class example

    {

    public static void main(String[] args)

    {

    int i=0, j=9;

    do

    {

    if(i++>--j) break;

    } while(i<4);

    System.out.println("i="+i+" and j="+j);

    }

    }


    正确答案:
      

  • 第7题:

    下列程序输出结果为( )。 public class test { public static void main (String args[]) { int a=0; outer:for(int i=0;i<2;i + +) { for(int j=0;j<2;j+ +) { if(j>i) { continue outer; } a+ +; } } System.out.println(a); } }

    A.0

    B.2

    C.3

    D.4


    正确答案:C

  • 第8题:

    下列各程序段中,不是死循环的是( )。

    A.int j=100;

    B.for(;;) while(1) {j=j%100+1; if(j>1000) break; }

    C.int n=0;

    D.int m=36; do{ while(m)--m; ++n; }while(n>=0);


    正确答案:D
    解析:本题考查三种循环语句的结束条件。对于选项A,它的条件表达式1永远为真,故循环永远不会停止,是死循环;对于选项B,它的条件表达式为空,也是死循环;对于选项C,它的条件表达式(n>=0)总是成立,故也是死循环;对于选项D,当m减到小于0时,它的条件表达式结果为假(false),循环结束。

  • 第9题:

    以下选项中循环结构合法的是( )。

    A.while (int i<7) { i+ + System.out.println("i is" + i): }

    B.int j:3; while (j) { System.out.println("j is"+j); }

    C.int j=O; for (int k=0; j + k!=10; j + +, k+ +) { System.out.println("j is"+j +,"k is"+ k): }

    D.int i=0: do{ {System.out.println("j is"+ j+ +); if (j==3){continue loop;} }while(j<10);


    正确答案:C

  • 第10题:

    给出下列代码段: int i=3,j; outer:while(i>0) { j=3; inner:while(j>0) { if(j<=2) break outer; System. out. Println (j+ "and"+i); j--; } i--; } 下列选项中哪个会被输出到屏幕? ( )

    A.3 and 3

    B.3 and 2

    C.3 and 1

    D.3 and 0


    正确答案:A
    解析:本题考查循环语句与条件语句的嵌套使用。break语句常用的一个作用是用于退出循环语句或Switch语句,其另外一个作用就是提供一个“标签化中断”的语句,可让程序退出多重嵌套。题中循环变量i和 j的初值都为3,开始进入循环体,输出3 and 3。然后都执行j--语句,j的值为2,进入if分支,执行语句“break outer;”,即跳出整个循环体。故程序代码最后的输出为3 and 3。

  • 第11题:

    int i = 0, j = 5;  tp;   for (;;) {  i++;  for(;;) {  if (i> --j) {  break tp;  break tp;  }  }  System.out.println(“i=” +i “,j =”+j); } What is the result?()  

    • A、 i = 1, j = 0
    • B、 i = 1, j = 4
    • C、 i = 3, j = 4
    • D、 i = 3, j = 0
    • E、 Compilation fails.

    正确答案:B,D

  • 第12题:

    多选题
    int i = 0, j = 5;  tp;   for (;;) {  i++;  for(;;) {  if (i> --j) {  break tp;  break tp;  }  }  System.out.println(“i=” +i “,j =”+j); } What is the result?()
    A

    i = 1, j = 0

    B

    i = 1, j = 4

    C

    i = 3, j = 4

    D

    i = 3, j = 0

    E

    Compilation fails.


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

  • 第13题:

    阅读下面程序

    int i=3.j;

    outer:while(i>0) {

    j=3;

    inner:while(j>0) {

    if(j<2)break outer;

    System.out.println(j+"and"+i);

    j--;

    }

    i--;

    }

    被输出到屏幕的第一行结果是______。


    正确答案:3 and 3
    3 and 3 解析:第一次执行外层循环时,为j赋初值3,然后开始执行内层循环。j=3显然满足j>0的条件,进入内层循环体执行if语句。由于不满足j2的条件,因此执行System.out.println(j+"and"+i);语句,输出屏幕的第一行结果即3 and 3。

  • 第14题:

    下面程序段的执行结果为( )。 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。

  • 第15题:

    下面的程序段运行后,输出结果是 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


    正确答案:C
    解析: 本题主要考查的是用二维数组首地址和下标来引用二维数组元素的方法。通过分析可知,程序中的双重循环定义了一个如下的二维数组:[*]
    由于数组的下标是从0开始的,所以二维数组元素a[i][j]表示的是二维数组a的第i+1行、第j+1列对应位置的元素。

  • 第16题:

    下列程序执行后的结果是______。

    public class ex24

    {

    public static void main(String[] args)

    {

    int j=10;

    a1: for(int i=3;i>0;i--)

    {

    j-=i;

    int m=l;

    a2: while (m<j)

    {

    if (i<=m)

    continue a1;

    j/=m++;

    }

    }

    System.out.println(j);

    }

    }

    下列嵌套的循环程序执行后,结果是______。 public class ax25 { public static void main(String[] args) { int sum=0; for(int i=0;i<=5;i++) { for(int j=10;j>3*i;j--) { sum+=j*i; } } System.out.println(sum); } }

    A.136

    B.127

    C.147

    D.153


    正确答案:C

  • 第17题:

    以下程序运行后的输出结果是【】。include main(){int i=10,j=0;do{j=j+ i; i--;}while

    以下程序运行后的输出结果是【 】。

    include <iostream.h>

    main()

    {

    int i=10,j=0;

    do

    {

    j=j+ i; i--;

    }

    while(i>2);

    cout<<j;

    }


    正确答案:52
    52

  • 第18题:

    执行下列程序,其输出为( )。 int Sum,j; Sum=0; j=0; do{ j++; for(int i=5:i>j;i--). Sum=Sum+(i+j); {while(j<11=; } }

    A.45

    B.50

    C.60

    D.65


    正确答案:C

  • 第19题:

    下面程序段的功能是()。……int a[]={4,0,2,3,1},i,j,t;for(i=0;<5;i++){t=a[i];j=i;j--;while(j>=0

    下面程序段的功能是( )。 …… int a[]={4,0,2,3,1},i,j,t; for(i=0;<5;i++) { t=a[i];j=i;j--; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1] =t; } ……

    A.对数组a进行插入排序(升序)

    B.对数组a进行插入排序(降序)

    C.对数组a进行选择排序(升序)

    D.对数组a进行选择排序(降序)


    正确答案:B
    解析:本题考查数组的使用,注意插入排序方法。

  • 第20题:

    下面的程序段运行后,输出结果是 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列对应位置的元素。

  • 第21题:

    有以下程序:int f(int b[][4]){int i, j, s=0;for(j=0; j<4; j++){i=j;if(i>2)i=3-j;S+=b[i][j];

    有以下程序: int f(int b[][4]) { int i, j, s=0; for(j=0; j<4; j++) { i=j; if(i>2)i=3-j; S+=b[i][j]; } return s; } main() { int a[4][4]={{1, 2, 3, 4}, {0, 2, 4, 6}, {3, 6, 9, 12}, {3, 2, 1, 0}}; printf("%d\n", f(a)); } 执行后的输出结果是______。

    A.12

    B.11

    C.18

    D.16


    正确答案:D
    解析:f(a)=a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。

  • 第22题:

    public class test3  {  public static void main(String args[])  {           for(int i = 0; i < 3; i++)  {  for(int j = 3; j >= 0; j--)  {                if(i == j)                    continue;       System.out.println("i="+ i + " j="+j);       }    }       }  }  上面的Java代码编译运行后,下列选项中,()会出现在输出结果中。 

    • A、i=0 j=3
    • B、i=0 j=0
    • C、i=2 j=2
    • D、i=0 j=2
    • E、i=1 j=2

    正确答案:A,D,E

  • 第23题:

    下面程序段不是死循环的是()

    • A、 int  j=100; while(1){j=j%100+2;if(j>100)break;}
    • B、 for( ; ; );
    • C、 int k=0; do{ ++k;}while(k>=0);
    • D、 int s=36; while(s);--s;

    正确答案:A