参考答案和解析
正确答案:B
【解析】求解本题的关键在于理解好3个Do While循环的执行顺序,第2个和第3个Do While循环嵌套在第1个Do While循环内,先执行第2个循环,然后是第3个循环,最后是外层循环即第1个Do While循环。程序执行过程是:m=9,n=8;第1个Do While循环内,执行第2个Do While循环,m=m-n=1;退出第2个Do While循环;执行第3个Do While循环,n=n-m,最后n的值为1;退出第3个Do While循环;退出第1个Do While循环。程序执行结果是1。
更多“(25)下列程序的运行结果是 。 Private Function myfun(m,n) Do While m>n Do While m>n:m ”相关问题
  • 第1题:

    有以下程序

    inculde <stdio.h>

    main()

    { int m,n;

    scanF(“%d%d”,&m&n);

    While(m!=n)

    { While(m>n)m=m-n;

    While(m<n)n=n-m;

    }

    PrintF(“%d\n”,m);

    }

    程序运行后,当输入14 63<回车>时,输出结果是【 】。


    正确答案:7
    7 解析:执行while(m<n)的循环,得到m=14,n=7,然后执行while(m>n)的循环,得到m=7,n=7。此时所有循环结束,m=7。

  • 第2题:

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

    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),循环结束。

  • 第3题:

    下面能正确计算1*2*3*•••*10的程序段是()

    A.do{ k=1;n=1;n=n*k;k++; }while(k<=10);

    B.do{ k=1;n=0;n=n*k;k++; }while(k<=10);

    C.k=1;n=1; do{ n=n*k;k++; }while(k<=10);

    D.k=1;n=0; do{ n=n*k;k++; }while(k<=10);


    If x >= 2 Then y = 3 ElseIf x >= 1 Then y = 2 ElseIf x >=0 Then y = 1 Else y = 0 End If

  • 第4题:

    下面程序的运行结果是( )。 include main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4

    下面程序的运行结果是( )。 include<stdio.h> main() {int a,s,n,m; a=2;s=0;n=1;m=1; while(m<=4){n=n*a;s=s+n;++m;} printf("s=%d",s); }


    正确答案:s=30
    s=30 解析:分析循环条件“m=1,m=4”,所以循环4次。第1次:n=n*a=2,s=s+n=2;m=2。第2次:n=n*a=4,s=s+n=6;m=3。第3次:n=n*a=8,s=s+n=14;m=4。第4次:n=n*a=16,s=s+n=30。

  • 第5题:

    下列程序段中是死循环的是()

    A.int n=1; while(!n) n++;

    B.int n=1; do{n--;} while(n);

    C.int n=1; do{ n+1; } while(n)

    D.for(n=5;n<1;) ;


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

  • 第6题:

    【填空题】当从键盘输入-1 0<CR>,则以下程序的运行结果是 。 #include<stdio.h> main() {int a,b,m,n; m=n=1; scanf("%d%d",&a,&b); do{if(a>0) {m=2*n;b++;} else {n=m+n;a+=2;b++;} }while(a==b); printf("m=%d n=%dn",m,n); }


    This Is A Test.