更多“有如下程序: b=1 a=2 DO WHILE b<10 b=”相关问题
  • 第1题:

    有人编写了如下程序:

    Private Sub Form_Click()

    Dim s As Integer,x As Integer

    s=0

    x=0

    Do While s=10000

    x=x+1

    s=s+x^2

    Loop

    Pdnt s

    End Sub

    上述程序的功能是:计算s=1+22+32+…+n2+…,直到s>10000为止。程序运行后,发现得不到正确的结果,必须进行修改。下列修改中正确的是

    A.把x=0改为x=1

    B.把Do While s=10000改为Do While s<=10000

    C.把Do While s=10000改为Do While s>10000

    D.交换x=x+l和s=s+x^2的位置


    正确答案:B
    解析:直到s>10000时终止,即:s<=10000时继续,因此本题答案为B)。

  • 第2题:

    有如下程序: int x=3; do { x-=2; cout<<x; } while(!(--x)); 执行这个程序的输出结果是( )。

    A.1

    B.30

    C.1-2

    D.死循环


    正确答案:C
    解析:此题考查的是do-while循环语句。do-while循环首先执行do语句中的循环体,再判断是否需要继续执行循环。题目中do语句“x-=2”,while语句中“--x”即x为0,取反为非0,循环继续执行;执行“x-=2”和“--x”取反后,循环结束程序退出。

  • 第3题:

    有如下程序段: int x=3; do { printf("%d",x-=2);} while(!(--x)); 其输出结果是 ( )

    A.1

    B.3

    C.1-2

    D.死循环


    正确答案:C

  • 第4题:

    设有如下程序文件: SET TALK OFF CLEAR DIMENSION a(2,3) i=1 DO WHILE i<=2 j=1 DO WHILE j<=3 a(i,)=i+j ??a(i,j) j=j+1 ENDDO ? i=i+1 ENDDO SET TALK ON RETURN 执行此程序,程序的运行结果为

    A.2 3 4 3 4 5

    B.1 2 3 3 4 5

    C.1 2 3 2 4 6

    D.2 3 4 4 5 6


    正确答案:A
    解析:该程序首先定义一个二维数组a(2,3),然后利用DOWHILE-ENDDO嵌套循环将每个数组元素赋值,即将该数组元素的行下标和列下标之和赋值给对应元素。

  • 第5题:

    有如下的程序段,该程序段执行完后,共执行的循环次数是 total=0 Counter=1 Do Print Counter total=total * Counter + 1 Print total Counter=Counter +1 If total > 10 Then Exit Do End If Loop While Counter<=10

    A.4

    B.10

    C.15

    D.20


    正确答案:A
    解析:Do…LoopWhile语句本题中Counter为计数器,当Counter=4时,total=41>10,跳出循环,共执行4次循环。注意:Do…LoopWhile结构和条件语句或多分支结构的嵌套结构。

  • 第6题:

    如下程序段的输出结果是。i=1DO WHILE i<10i=i+2END DO? i


    正确答案:11
    该程序开始时,变量i被初始化为1,如果变量i小于10,则将变量i加2,反复循环直到变量i不小于10循环结束,这时显示i的值。从这样的执行流程可以知道,i依次取值为1、3、5、7, 9, 11最后一次取值为11时结束循环,因此这时i的值为11。

  • 第7题:

    有如下程序: int x=3: do{ x-=2; COU[<<X: }while(!(--X)); 执行这个程序的输出结果是( )。

    A.1

    B.3 0

    C.1—2

    D.死循环


    正确答案:C
    本题考查do...while语句,执行do...while语句时,先执行循环体内的语句,然后判断while中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出1,然后判断表达式,为非零,且此时X为0;再次执行循环体时,输出-2,然后判断表达式为0,不执行,退出,所以答案为c。

  • 第8题:

    有如下程序:

    int x=3:

    do{

    x-=2;

    COU[<<X:

    }while(!(--X));

    A.1

    B.3 0

    C.1—2

    D.死循环


    正确答案:C

    本题考查do...while语句,执行do...while语句时,先执行循环体内的语句,然后判断while中表达式的值,表达式为非零时,返回重新执行循环体语句。在本题中,先执行循环体内的语句,输出1,然后判断表达式,为非零,且此时X为0;再次执行循环体时,输出-2,然后判断表达式为0,不执行,退出,所以答案为c。

  • 第9题:

    若有如下程序: main() { int n=2; do {printf("%d",n--);} while(!--n)); } 则程序运行后的输出结果是( )。

    A.2

    B.11

    C.1

    D.20


    正确答案:D
    解析:本题首先定义了一个int型变量n,并初始化为2。然后进入do-while循环,do-while循环首先执行一遍循环体,输出表达式n--的值,此时表达式n--的值是n自减之前的值2,输出一个2后,n的值变为1。然后判断do-while的循环条件!(--n)是否为真,此时表达式--n的值为n自减之后的值0,!0为真,故第二次执行循环体“printf("%d",n--);”此时n的值为0,所以执行结果为:输出一个0,n的值变为-1。此时循环条件!(--n)=!(-2)为假,程序结束。故程序运行后的输出结果是20,应该选择D。

  • 第10题:

    以下能正确计算1×2×3×…×10的程序段是()。

    • A、do{i=1;s=1;
    • B、do{i=1;s=0;s=s*i;s=s*i;i++;i++;}while(i<=10);}while(i<=10);
    • C、i=1;s=1;
    • D、i=1;s=0;do{s=s*i;do{s=s*i;i++;i++;}while(i<=10);}while(i<=10);

    正确答案:C

  • 第11题:

    单选题
    如下程序段的输出结果是()。I=1DO WHILE I<10I=I+2ENDDO?I
    A

    10

    B

    1

    C

    11

    D

    12


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

  • 第12题:

    单选题
    有如下程序: b=1 a=2 DO WHILE b<10 b=2*a+b LOOP PRINT b 运行后输出的结果是()
    A

    13

    B

    14

    C

    15

    D

    16


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

  • 第13题:

    有如下程序: Private Sub Form Click() Dim Check,Counter Check=True Counter=0 Do Do While Counter<20 Counter=Counter+1 If Counter=10 Then Check=False Exit Do End If Loop Loop Until Check=False Print Counter,Check End Sub 程序运行后,单击窗体,输出结果为

    A.15 0

    B.20 -1

    C.10 Tree

    D.10 False


    正确答案:D
    解析:本题考查嵌套的Do…Loop循环。Do循环嵌套的规则与For-Next循环相同,按照先进后出、后进先出的原则,不能交叉。考生需判断程序在何时跳出循环,内层循环是在Counter20时,对其加1,但要注意循环内的条件语句,当Counter=10时,跳出内层循环,同时将Check设为False。外层循环的循环条件是Check=False,所以当程序跳出内层循环时,外层循环的条件也满足了,故同时也跳出循环,此时Counter=10,Check为False,选项D正确。

  • 第14题:

    有如下程序,该程序的执行结果为______。 Dim k As Integer n=5 m=1 k=1 Do While k <= n m=m*2 k=k+1 Loop Print m

    A.1

    B.5

    C.32

    D.40


    正确答案:C

  • 第15题:

    对于如下程序,单击Co皿andl事件发生后,窗体上显示的内容为 ______。 Private Sub Command1_Click() Dim i As Integer,a a As Integer Do While i<20 Do While True If i Mod 10 = 0 Then Exit Do Else i=i-1 End If Loop i=i+11 a=a+1 Loop Print a End Sub

    A.21

    B.32

    C.33

    D.11


    正确答案:B
    解析:本题内层循环的条件始终为True,因此内层循环体内的Exit Do语句为终止循环语句。首先,判断外层循环Do While后面的表达式“i20”为True,接着执行内层循环的If语句。表达式“i Mode 10=0”的值为True,执行Exit Do,跳出内层循环,执行下面的语句,得i=11, a=11。回到外层循环,判断Do While后面的表达式“i20”为True,执行内层循环的If语句,表达式“i Mode 10=0”的值为False,执行i=i-1,i=10。跳出内层循环,执行下面的语句,得到i=21,a=32。

  • 第16题:

    有以下程序inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);

    有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII码值为65。程序运行后的输出结果是______。

    A.5670

    B.656667

    C.567

    D.ABC


    正确答案:C
    解析:本题考查的是do-while语句的使用,do-while执行的过程是当while后面—对括号中表达式的值为非0时,转去执行循环体,当值为0时,退出循环。本题定义了—个指针变量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址赋给s,因为do-while语句是先执行循环体再进行循环条件的判断,因此先执行printf语句,“s%10”是s对10的取模运算,第—字符A的ASCII码为65,故“65%10”取模运算结果为5,因此输出5,接着执行s++,s指向字符串的下—个字符,当字符串中字符没有循环完时,继续执行do-while语句,以此类推,B和C的分别为6和7,因此,选项C是正确的。

  • 第17题:

    有如下程序段,该程序段执行完后,执行循环的次数是 total=0 Counter=1 Do Print Counter total=total + Counter Print total Counter=Counter+1 If total>10 Then Exit Do End If Loop While Counter <=10

    A.5

    B.10

    C.15

    D.20


    正确答案:A
    解析:本题考查Do…LoopWhile语句,共执行了5次,total=1+2+3+4+5>10。

  • 第18题:

    有如下程序: Private Sub Form_C1ick() Dim CheCk,Counter CheCk=True Counter=0 Do Do While Counter<20 Counter=Counter+1 If Counter=10 Then Check=False Exit Do End If Loop Loop Until Check=False Ptint Counter,Check End Sub 程序运行后,单击窗体,输出结果为______。

    A. 15 0

    B.20 -1

    C.10 Tree

    D.10 False


    正确答案:D
    解析:Do While…Loop是先判断条件表达式的值是否为True,如果为True,则执行循环体,如果为False,则执行Loop后面的语句。Do…Loop Until是先执行循环体,再判断条件表达式,如果表达式的值为True,则执行Loop后面的语句,如果为False,则继续执行循环体。而Exit Do则是强行退出循环。当Counter =10时,强行退出DoWhile循环,而由于此时Check=False,使得umil的条件为True,结束外层循环。所以最终Coumer=10。

  • 第19题:

    有如下程序段:int x=3,do{ x-=2;cout<<x;}while(!(--x));执行这个程序段的输出结果是( )。

    A.1

    B.30

    C.1-2

    D.死循环


    正确答案:C

  • 第20题:

    有如下程序段,该程序段执行完后,共执行循环的次数是 Private Sub Command1_Click( ) Tota1=0 Counter=1 Do Print Counter Tota1=tota1+Counter Print total Counter=Counter+1 If total>=10 Then Exit Do End lf Loop While Counter<=10 End Sub

    A.5

    B.10

    C.12

    D.20


    正确答案:A
    解析:由于本题在Do循环内嵌套If语句,当If语句满足条件时,Do循环也可以终止,故要比较Total>=10与Counter>10这两个条件谁先达到。通过观察去执行第五次循环时,Total值满足条件,Do循环终止,故选择A。

  • 第21题:

    有人编写了如下程序:

    Private Sub Form. Click( )

    Dim s As Integer,x As Integer

    s=0

    x=0

    Do While S=1000

    x=x+l

    s=s+x^2

    Loop

    Print s

    End Sub

    上述程序的功能是:计算s=1+22+32+…+n2+…,直到s>10000为止。程序运行后,发现得不到正确的结果,必须进行修改。下列修改中正确的是( )。

    A.把x=0改为x=1.

    B.把Do While s=10000改为Do While s<=10000

    C.do="" while="" s="">10000

    D.交换x=x+1和s=s+x^2的位置


    正确答案:B
    B。【解析】本题考查简单的循环问题,DoWhile(条件)表示当条件为真时,循环才能执行,针对于本题中只有'-5s=10000是循环才能够进行执行,而程序的功能是计算s=1+22+32+…+100002,所以当s<=10000时执行才能实现此功能,所以答案选择B。

  • 第22题:

    如下程序段的输出结果是()。I=1DO WHILE I<10I=I+2ENDDO?I

    • A、10
    • B、1
    • C、11
    • D、12

    正确答案:C

  • 第23题:

    单选题
    以下程序段中,循环次数不超过10的是(  )。
    A

    int i=10;do{i=i+1;}while(i<0);

    B

    int i=int i=5;do{i+=1;}while(i>0);

    C

    int i=1;do{i+=2;}while(i!=10);

    D

    int i=6;do{i-=2;}while(i!=1);


    正确答案: C
    解析:
    A项,执行循环体i=i+1,判断条件i<0不成立,退出循环,循环次数为1,a项正确。b项执行一次循环体后i=6,判断条件为i>0,由于执行循环体时i始终在增加,i>0一直成立,程序陷入无限循环,循环次数大于10,B项错误。C项执行循环体一次后i=3,判断条件为i!=10,由于循环体中i每次增加2,所以永远不可能等于10,故程序会陷入无限循环,循环次数大于10,C项错误。D项执行循环体一次后i=4,判断条件为i!=1,由于循环体中i每次减少2,所以永远不可能等于1,故程序会陷入无限循环,循环次数大于10,D项错误。答案选择A选项。