有如下程序段: S:=0; i:=1; while i<=5 do begin s:=s+i; i:=i+1; end;

题目
单选题
有如下程序段: S:=0; i:=1; while i<=5 do begin s:=s+i; i:=i+1; end; 执行该程序段后,变量i的值为()
A

1

B

3

C

5

D

6

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

程序段s=i=0;do{i=i+1;s=s+i;}while(i=n);的时间复杂度为()。

A、O(n)

B、O(nlog2n)

C、O(n)

D、O(n/2)


参考答案:A

第2题:

以下能够正确计算n!的程序是

A.Private Sub Command1_Chck( ) n=5:x=1 Do x=x*i i=i+1 Loop While i<n Print x End Sub

B.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<n Print x End Sub

C.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<=n Print x End Sub

D.Private Sub Command1_Click( ) n=5:x=1:i=l Dox=x*i i=i+1 Loop While i>n Print x End Sub


正确答案:C
解析:A中i一开始末被赋值,默认为0;B项中由于“in”的条件使得Do循环比应有循环次数少循环一次;选项D由于“i>n”这一条件,使得控制语句只能循环一次。

第3题:

如下程序显示的结果是 ( )。

s=1

i=0

do while i<8

s=s+i

i=i+2

end do

s


正确答案:

13

第4题:

下面代码输出结果是()。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i<7);System.out.println(s);

A、16

B、12

C、28

D、21


正确答案:B

第5题:

下列程序的运行结果是______。

main()

{ int s=0,i=1;

while(s<= 10)

{ s=s+i*i;

i++;

}

printf("%d",-i);

}


正确答案:3
3 解析:分析程序运行过程,第1次循环:s=s+i*i=0+1*1=1,i=2;第2次循环:s=s+i*i=1+2*2=5,i=3;第3次循环:s=s+i*i=5+3*3=14, i=4;循环条件不成立输出i,--i使i的值减1,轴出结果为3。

第6题:

下列程序段的时间复杂度为()。i=0,s=0;while(sn){s=s+i;i++;}

A、O(n1/2)

B、O(n1/3)

C、O(n)

D、O(n2)


参考答案:A

第7题:

以下能够正确计算n! 的程序是( )。

A.Private Sub Command1_Click( ) n=5:x=l Do x=x*i i=i+1 Loop While i < n Print x End Sub

B.Private Sub Command1_Click( ) n=5:x=1:i=1 Do x=x*i i=i+1 Loop While i < n Print x End Sub

C.Private Sub Command1_Cliek( ) n:5:x=1:i=1 Do x=x* i i:i+1 Loop While i < = n Print x End Sub

D.Private Sub Command1_Cliek( ) n=5:x:1:i=1 Do x=x*i i=j+1 Loop While i > n Print x End Sub


正确答案:C
解析:本题考查DoLoop语句的用法。首先是执行循环体,再确定循环执行的条件,这里满足执行循环的条件应该是i=n,选项A和B的循环条件都是in,少了i=n的一次循环,实际上只执行了n-1次;而选项D则从i>n时才开始执行,不合题意。

第8题:

如下程序显示的结果是 S=1 i=0 do while i<8 s=s+i i=i+2 enddo?s


正确答案:13
本题考查的是对循环命令的理解。s的初始值为1,i的初始值为1,每循环一次s值增加2,i增加2。当i等于8时终止循环,s=1+2+4+6,所以值为13。

第9题:

下面的程序段运行后,变量S的值变为“65666768”,则程序中“表达式”为( )。 i+1Do While 表达式 S=S & ASC(Chr¥(i+64)) i=i+1 LoopA.i>5B.NOT(i<>5)C.i<5D.i=5


正确答案:C
ASC::求字符串表达式的第一个字符的编码。 &:与运算符,同1为1,其他为0。

第10题:

执行如下程序,最后S的显示值为( )。 SET TALK OFF s=0 i=2 x=10 DO WHILE s<一一X S=S+i i=i十l ENDDO ?S SET TALK ON

A.12

B.14

C.16

D.18


正确答案:B
B。【解析】DOWHILE—ENDD0语句的格式:DOWHILE<条件><命令序列>ENDD执行该语句时.先判断DOWHILE处的循环条件是否成立,如果条件为真,则执行DOWHILE与ENDDO之间的<命令序列>(循环体)。当执行到ENDDO时,返回到DOWHILE,再次判断循环条件是否为真,以确定是否再次执行循环体。若条件为假,则结束该循环语句,执行ENDD后面的语旬。先给三个变量赋初始值,使用一个DOWHILE循环语句来操作,判断条件是变量S是否小于等于X,如果大于x,则退出循环,否则执行循环体,执行S=S十i.S=2;再执行i=i+1后,i=3,重复此循环体的操作。所以S最终的显示值是l4。

更多相关问题