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

题目
单选题
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


相似考题
更多“int i= 1, j= 10 ;   do (   if (i++> --j) continue;  ) while ”相关问题
  • 第1题:

    有以下程序:includeusing namespace std;int main(){ inty=18,i=0,j,a[8]; do{ a[i]=

    有以下程序: #include <iostream> using namespace std; int main() { int y=18,i=0,j,a[8]; do{ a[i]=y%2; i++; y=y/2; }while(y>=1); for(j=i-1;i>=0;j--) cout<<a[j]; cout<

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B
    解析:本题考核一维数组元素的引用和一维数组的输出。程序中的do-while循环语句的执行过程如下:第1次循环时,i=0、y=18,把“y%2”的值0存入a[0],执行i++后,i的值变为1,再执行y=y/2;,使y的值变为9。同理,第2次循环后,a[1]的值为1,第3次循环后,a[2]的值变为0,第4次循环后,a[3]的值变为0,第5次循环后,a[4]的值为1,然后退出do-while循环体。for循环是输出从a[4]到a[0]的值,结果为:10010。

  • 第2题:

    阅读下列函数说明和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); 解析:快速排序的思想是:任取待排序序列中的某个元素作为基准(一般取第一个元素),通过一趟排序,将待排元素分为左右两个子序列,左子序列元素的排序码均小于或等于基准元素的排序码,右子序列的排序码则大于基准元素的排序码,然后分别对两个子序列继续进行排序,直至整个序列有序。快速排序是对冒泡排序的一种改进方法,算法中元素的比较和交换是从两端向中间进行的,排序码较大的元素一次就能够交换到后面单元,排序码较小的记录一次就能够交换到前面单元,记录每次移动的距离较远,因而总的比较和移动次数较少。

  • 第3题:

    已知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;

    }

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


    正确答案:流程图
    流程图

  • 第4题:

    以下程序的输出结果是( )。 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”

  • 第5题:

    以下程序运行后,输出结果为______。 main() {int y=18,i=0 j,a[8]; do { a[i]=y%2; i++; y=y/2; } while(y>=1); for(j=1-1;j>=0;j--) printf("%d",a[j]); printf("\n"); }

    A.10000

    B.10010

    C.110

    D.10100


    正确答案:B

  • 第6题:

    以下程序运行后的输出结果是【】。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

  • 第7题:

    以下程序运行后,输出结果是( )。 main() {int y=18,i=0,j,a[8]; do { a[i]’y%2; i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B
    解析:do-while循环的功能是对数组a中的元素赋值,值为0、1、0、0、1。for循环的功能是将数组a中元素按下标从大到小的顺序输出,所以选项B符合题意。

  • 第8题:

    下列语句中不是死循环的是( )。

    A.int i=10;

    B.for(int i=1;j<10;i++) while(1) { { i--; i--; } if(i==1)break;

    C.int i-0;

    D.int i=1:


    正确答案:A
    选项A中i自减到1时就会执行break语句跳出循环,选项B中i<10永远成立不会跳出循环.选项C中第一次进入循环体后i>0永远不会跳出循环,选项D中未给出结束循环的条件。

  • 第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=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

  • 第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

    正确答案:D

  • 第12题:

    单选题
    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
    解析: 暂无解析

  • 第13题:

    本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }


    正确答案:max>0
    max>0 解析:本题是典型的冒泡排序题,每一次for循环将从数组a中找出剩下数中的最大的值放在这些数的最前端,若数组a中有n个数,则完成数组排序共需n-1次循环。令max=n-1,每次循环后i值增1,imax条件不足,即n-1次循环后,此时i=j=max=0,循环结束。

  • 第14题:

    执行下面的程序段后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。

  • 第15题:

    下列循环语句中有语法错误的是

    A.int i;for(i=1;i<10;i++) cout<<‘*’;

    B.int i,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*’;

    C.int i=0;for(;i<10;i++)cout<<‘*’;

    D.for(1) cout<<‘*’;


    正确答案:D
    解析:D项语法错误。for语句语法格式为:
      for(<表达式1>;<表达式2>;<表达式3>)
      <语句>
      D选项for语句中漏掉了两个分号。

  • 第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题:

    当执行以下程序后,i的值是5,j的值是4,k的值是【 】。

    int a, b, c, d, i, j, k;

    a=10; b=c=d=5; i=j=k=0;

    for(;a>b; ++b) i++;

    while(a>++c) j++;

    do {

    k++;

    }while(a>d++);


    正确答案:6
    6

  • 第18题:

    以下程序运行后的输出结果是______。 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--)printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B

  • 第19题:

    在执行完此程序段后,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。

  • 第20题:

    若有以下程序: #include〈iostream〉 using namespace std; int main() { int data[4],i,j,temp; for (i=O; i<4; i++) cin>>data[i]; for (i=1; i<4; i++) { j = i-1; temp = data[i]; while (data [j ] >temp&&j >=0) { data[j+1] = data[j]; j--; } data[j+1] = temp; } for(i=O;i<4;i++) cout〈〈data[i]〈〈" "; cout〈〈end1; return 0; }

    A.2843

    B.2348

    C.8243

    D.8432


    正确答案:B
    解析:本题属于综合题,考查数组和循环语句两方面的知识。此题看起来很复杂,其实不然,根据程序逐步分析:①在程序第1个for语句中,为数组data赋输入的值,即2,8,4,3。②第2个for语句是嵌套式循环,循环次数是3次,即从1到3。第1次循环时,i=1,执行“j=i-1”后,j=0,然后把data[1]的值赋给temp,再进入while循环。③while后的条件表达式“data[j]〉temp&&j〉=0”,就是当data刚大于temp,同时j不小于0时执行while循环体。当while条件表达式成立时,执行“data[j+1]=data[j]”,即当data刚大于data[j]大于data[j+1]时,把它们俩的值交换一下,以此类推,最后实现把数组中的数从小到大排列起来。④最后一个for语句用于打印经过程序处理后数组中的元素。

  • 第21题:

    下列程序的输出结果是______。 main() { int i,j; for(j=10;j<11;i++) { for(i=9;i<j;i++) if(!(j%i))break; if(i>=j-1)printf(”%d”,i); } }

    A.11

    B.10

    C.9

    D.10 11


    正确答案:B

  • 第22题:

    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

  • 第23题:

    下列代码段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

  • 第24题:

    单选题
    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
    解析: 暂无解析