若有以下程序段,w和k都是整型变量。w=k;LB:if(w==0)goto LE; w--; printf("*"); goto LB;LE: M则不能与上面程序段等价的循环语句是A.for(w=k;w!=0;w--)printf("*");B.w=k;<CR>while(w--!=0)printf("*");w++;C.w=k;<CR>do { w--;printf("*");}while(w!=0);D.for(w=k;w;--w)printf("*");

题目

若有以下程序段,w和k都是整型变量。w=k;LB:if(w==0)goto LE; w--; printf("*"); goto LB;LE: M则不能与上面程序段等价的循环语句是A.for(w=k;w!=0;w--)printf("*");B.w=k;<CR>while(w--!=0)printf("*");w++;C.w=k;<CR>do { w--;printf("*");}while(w!=0);D.for(w=k;w;--w)printf("*");


相似考题
更多“若有以下程序段,w和k都是整型变量。w=k;LB:if(w==0)goto LE; w--; printf("*"); goto LB;LE: M则 ”相关问题
  • 第1题:

    若有以下程序段,w和k都是整型变量: ┇ w=k: LB:if(w==0)go to LE; W--: printf("*") goto LB; LE; ┇ 则不能与上面程序段等价的循环语句是( )。

    A.for(w=k;w!=0;w--)printf("*");

    B.for(w=k;w;--w)printf("*");

    C.w=k; while(w--!=0)printf("*");

    D.w=k: w++;do{w--;printf("*");}while(w!=0);


    正确答案:C
    当循环结束时,w的值应为-1,而其他选项中w的值为0,故选择c选项。

  • 第2题:

    已知i,j,w为整型变量,且w=0,则下述程序段执行后,w的值是() for(i=4;i!=0;i--) for(j=1;j<=2;j++) w=w+i*j; w=i*j;

    A.4

    B.0

    C.1

    D.30


    0

  • 第3题:

    若有表达式(w)?(--x):(y),则其中与w 等价的表达式是()。

    A.w==l

    B.w==0

    C.w!=l

    D.w!=0


    D D。【解析】本题考查三目运算等。条件表达式的格式为a?b;c。它的含义是,当a为真时,取b的值,否则取c的值。在C语言程序中“为真”即“不等于零”,“为假”即等于0。所以和w等价的表达式是w非零。

  • 第4题:

    .若有以下程序段,W和k都是整型变量,则不能与该程序段等价的循环语句是( )

    W= k;

    LB: if(w==0) gotO LE;

    w - -;

    printf("*");

    goto LB;

    LE:

    A. for(w=k;w!=0;W--)printf("*");

    B.w= k; While(W--!=0) Prinif(”* ”);

    C.w= k; do{w--; prinif(“*”); } while( W!= 0);

    D.for(w=k;W;--W) printf("*");


    正确答案:C
    问题所给出的程序段用goto语句构造一个循环控制结构,该循环结构的初值是让变量W的值为k的值,循环结束条件是W的情等于0,循环体是让变量W的值减1,并输出一个字符*。上述循环控制过程用for循环可描述如下:</P>
    for=(w=k;W!=0;W--)printh("*");
    或写成:
    for(w=k;w;--w)printf("*");
    若用while语句,可描述如下:
    W=k;
    while(w--!=0)printf("*");
    w++;/*在w等于0时,也执行了一次w--,这里是对w最后减1的补尝*/
    或更直观地写成:
    W=k;
    while(w!=0){w--;Printf("*");}
    若用do-while语句,可描述如下:
    W=k;
    if(W)
    do{
    w--;prinif("*");
    }while(w);
    若写成:
    W=k;
    do{
    W--;printf("*");
    }while(w!=0);
    是不正确的,因为原代码当k的值为0时,不输出字符*,而上面的改写,当k的值为0时,将输出许许多多的字符*。所以解答应是C。

  • 第5题:

    7、执行以下程序段后,w 的值为 。 int x='F', k=21, y=32; w=((k || y)&&(x<'a'));

    A.0

    B.-1

    C.NULL

    D.1


    C)