下面关于FOR循环不正确的叙述是()A、在循环体中不能改变循环控制变量的值B、在执行过程中初值和终值不会改变C、分为递增型和递减型两种D、循环控制变量不必在程序的说明部分说明

题目

下面关于FOR循环不正确的叙述是()

  • A、在循环体中不能改变循环控制变量的值
  • B、在执行过程中初值和终值不会改变
  • C、分为递增型和递减型两种
  • D、循环控制变量不必在程序的说明部分说明
参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列关于while语句说法正确的是()。

A.while语句中一定是先判断条件,再确定是否执行语句或程序块。

B.条件为true时,执行循环体的语句或程序块,反之不执行循环体,

C.在循环体中要有改变条件的语句,否则就会成为死循环。

D.while语句至少要执行一次循环体的内容。


参考答案:ABC

第2题:

以下说法正确的是______。

A.所有改变循环条件的成分都在循环体外

B.在直到型循环中,循环体至少要执行一次

C.在当型循环中,循环体至少要执行一次

D.基本程序结构不允许嵌套


正确答案:B
解析:在当型循环结构中,循环体有可能一次也不执行。在当型和直到型循环的循环体中,都应该要有改变循环条件的成分,否则将会造成死循环。

第3题:

下面关于多重循环的说法正确的是()

A.多重循环中的内外循环是相互独立的,彼此之间没有任何关系

B.内外循环的控制变量可以同名

C.并列的循环控制变量可以同名

D.在多重循环中的每个层次可以有多个并列的循环


正确答案:CD

第4题:

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
设有整数数组A[1:N](N>1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。
例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。

【流程图】



注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值


答案:
解析:
(1)(1)i,N
(2)S+A[j]
(3)S
(4)j-i+1
(5)S
【解析】
要想在数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M
那么,会将数组从第一个元素出发,依次比较A[1],A[1] +A[2],A[1] +A[2]+A[3],……,A[1] +A[2]+…+A[N],然后再比较A[2], A[2] +A[3],A[2] +A[3]+A[4],……,A[2] +A[3]+…+A[N],然后再比较A[3] +A[4],A[3] +A[4]+A[5],……,A[3] +A[4]+…+A[N],直到最后一个元素A[N]。按照这种逻辑,要使用两个循环,且要保存之前求和项。一个是i循环,从1到N递增,另一个是j循环,j表示的是求和项的最大下标值,那么j从i开始,且要小于N。 S+A[j]->S不断保留A[i]+ A[i+1]+…A[j]的值,直到j循环结束。并将S的值与之前保存的M的值进行比较,如果S>M,则将S的值赋给M,并求出L值,在这里,i是最小下标值,j是最大下标值,那么L=j-i+1。如果S

第5题:

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
[说明]
下面流程图的功能是:在给定的一个整数序列中查找最长的连续递增子序列。设序列存放在数组A[1:n](n≥2)中,要求寻找最长递增子序列A[K:K+L-1](即A[K]<A[K+1]<…<A[K+L-1])。流程图中,用Kj和Lj分别表示动态子序列的起始下标和长度,最后输出最长递增子序列的起始下标K和长度L。
例如,对于序列A={1,2,4,4,5,6,8,9,4,5,8},将输出K=4,L=5。
[流程图]

注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值


答案:
解析:
n-1
Lj+1→Lj
Lj>L
Kj
i+1

【解析】

本题考查程序员在设计算法,理解并绘制程序流程图方面的能力。
本题的目标是:在给定的一个整数序列中查找最长的连续递增子序列。查找的方法是:对序列中的数,从头开始逐个与后面邻接的数进行比较。若发现后面的数大于前面的数,则就是连续递增的情况;若发现后面的数并不大,则以前查看的数中,要么没有连续递增的情况,要么连续递增的情况已经结束,需要再开始新的查找。
为了记录多次可能出现的连续递增情况,需要动态记录各次出现的递增子序列的起始位置(数组下标K1)和长度(Lj)。为了求出最大长度的递增子序列,就需要设置变量L和K,保存迄今为止最大的Lj及其相应的Kj。正如打擂台一样,初始时设置擂主L=1,以后当Li>L时,就将Lj放到L中,作为新的擂主。擂台上始终是迄今为止的连续递增序列的最大长度。而Kj则随Lj→L而保存到K中。
由于流程图中最关键的步骤是比较A[i]与A[i+1],因此对i的循环应从1到n-1,而不是1到n。最后一次比较应是"A[n-1]<A[n]?"。因此(1)处应填n-1。
当A[i]<A[i+1]成立时,这是递增的情况。此时应将动态连续递增序列的长度增1,因此(2)处应填写Li+1→Lj。
当A[i]<A[i+1]不成立时,表示以前可能存在的连续递增已经结束。此时的动态长度Li应与擂台上的长度L进行比较。即(3)处应填Lj>L。
当Lj>L时,则Lj将做新的擂主(Lj→L),同时执行Kj→K。所以(4)处应填Kj。
当Lj→L不成立时,L不变,接着要从新的下标i+1处开始再重新查找连续递增子序列。因此(5)处应填i+1。长度Lj也要回到初始状态1。
循环结束时,可能还存在最后一个动态连续子序列(从下标Kj那里开始有长度Lj的子序列)没有得到处理。因此还需要再打一次擂台,看是否超过了以前的擂主长度。一旦超过,还应将其作为擂主,作为查找的结果。

第6题:

在DO WHILE-ENDDO的循环结构中,下列叙述正确的是

A.循环体中的LOOP和EXIT语句的位置是固定的。

B.在程序中应加入控制循环结束的语句

C.执行到ENDDO时,首先判断表达式的值,然后再返回DO WHILE语句

D.循环体中的LOOP语句为跳出循环体


正确答案:B
解析:LOOP语句用来结束循环体的本次执行,重新返回到DOWHILE处判断条件;EXIT则直接跳出循环体,执行ENDDO后面的语句,这两个语句在循环体中的位置并不是固定的。

第7题:

关于for循环,不正确的是( )。

A.在循环体中,不能改变循环控制变量值

B.在执行中循环控制变量初值、终值可变

C.循环控制变量可增可减

D.循环控制变量可以不必在说明部分说明


正确答案:A
解析:这是对for循环语句的考查,循环控制变量可增可减。

第8题:

下列关于do-while语句说法正确的是()。

A.do-while语句中是执行一次循环体,再判断条件。

B.条件为true时,再执行循环体的语句或程序块。

C.在循环体中要有改变条件的语句,否则就会成为死循环。

D.至少要执行一次循环体的内容。


参考答案:ABCD

第9题:

第一题 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。
【说明】
对于大于1的正整数n,(x+1)n可展开为

问题:1.1 【流程图】

注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。
格式为:循环控制变量=初值,终值,递增值。


答案:
解析:
(1)2,n,1
(2)A[k]
(3)k-1,1,-1
(4)A[i]+A[i-1]
(5)A[i]
【解析】

(1)(3)空为填写循环初值终值和递增值,题目中给出的格式为循环控制变量=初值,终值,递增值。按照题意,实质为求杨辉三角。如下图:

第10题:

若while循环的“头”为“while(i++<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行()次后正常结束。
11

更多相关问题