招生电话:0759-2296349

课程咨询微信号:619809370

地址:湛江市霞山区人民大道南81号新宇大厦501室

新闻中心

第五章循环结构程序设计《计算机基础与程序设计》广东普通专升本

2026-09-23

第五章 循环结构程序设计

真题

一、单项选择题

1.【精析】A

for循环结束条件是i>=4,所以当i的值为123时,才会执行for循环,选项A正确。

2.【精析】D

1次循环:a=1,先输出a的值1,然后a的值自增1;

2次循环:a=2,先输出a的值2,然后a的值自增1;

3次循环:a=3,先输出a的值3,然后a的值自增1;

3次循环结束a的值为4,此时不满足进入循环的条件,退出循环。所以最终输出结果为:123

二、判断题

1.【精析】×

break是终止整个循环,continue是结束本次循环进入下一次循环。

三、计算题

1.【精析】(1)4  (2)6

a=2022,第一次循环sum=0+2,a=202;第二次循环sum=0+2+2,a=20;第三次循环sum=0+2+2+0,a=2;第四次循环,sum=0+2+2+0+2,a=0,此时表达式a!=0为假,退出循环,所以循环共执行了4次,程序最后运行结果是6

基础

速查答案

一、单项选择题

1-5 CBADD

6-10 ACCAD

二、判断题

1-5 ×√××√

6-10 ×√×××

11 ×

答案解析

一、单项选择题

1.【精析】C

dowhile语句构成的循环可以使用for语句或while语句来改写,选项A错误;dowhile语句构成的循环中,也可以使用continue来结束本次循环,或者直到条件不满足时,退出循环,选项B错误;当条件表达式的值为0时,退出循环,选项C正确,选项D错误。

2.【精析】B

for循环中,如果省略条件表达式,则默认条件为真,程序将一直执行下去,除非遇到break语句,选项B正确。

要点击结

for 语句的一般形式为:for(表达式1;表达式2;表达式3

①表达式1省略,即不设置初值,表达式1后的分号不能省略,但为了程序的正常执行,应在for 语句之前给循环变量赋以初值。

②表达式2省略,即不设置和检查循环的条件,此时认为表达式2始终为真,循环将无终止地进行下去,直至遇到 break语句为止。

③表达式3 省略,此时应另外设法保证循环能正常结束,否则该循环没有意义。

3.【精析】A

whiledo···while语句的主要区别是:while循环在不满足循环条件时,可能出现一次循环体也不执行的情况;do···while无论条件是否满足,循环体至少执行一次。

4.【精析】D

for循环常用于循环次数已知的循环中,但也可以用于循环次数未知的循环中,选项A错误;for循环是先判断表达式,根据表达式的值来决定是否循环,选项B错误;在for循环中如果中途要退出循环,可以使用 break语句来实现,选项C错误。

5.【精析】D

continue 语句的作用是结束本次循环,break语句的作用是结束整个循环,选项AC错误;break语句可以在循环体内和 switch语句体内使用,选项B 错误。

6.【精析】 A

因为k=1是一个赋值表达式,值为1,因此,循环条件一直成立,循环体语句将执行无限次。

7.【精析】 C

m++<=5中表达式m++的值为m1之前的值,当m=6时,不满足循环条件m<=5,但是m还要加1变为7,所以退出循环时m的值为7.

8.【精析】 C

i=4时,不满足循环条件i<4,但是i还要加1变为5,所以退出循环时i的值为5.

9.【精析】 A

&&为逻辑与,只有&&运算符两侧的表达式均为真时,才满足循环条件,当x=4时,x<4为假,不满足循环条件,所以循环次数为4.

10.【精析】 D

i为奇数且每次增2,i>10时结束循环,i+1为偶数,所以“s+=i+1;”中s累计的是1~10中的偶数之和。

判断题

1.【精析】✗

循环体可以是一个简单的语句,也可以是复合语句(包含一个以上的语句),复合语句应用花括号括起来。

2.【答案】

3.【精析】 ✗

break continue都是用来控制循环的语句.break用于完全结束一个循环,跳出循环体执行循环后面的语句;continue用于跳过本次循环,执行下次循环。

4.【精析】✗  

在执行 while语句时,先检查循环条件表达式的值,当值为非0(真)时,就执行while语句中的循环体语句;当值为0(假)时,不执行循环体语句。

要点总结

do···while语句的特点是:先无条件地执行一次循环体,然后再判断循环条件是否成立。

while循环的特点是:先判断条件表达式,后执行循环体语句。

5.【答案】

6.【精析】×

for语句使用比较灵活,不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况。

7.【答案】✔

8.【精析】×

while循环、do···while循环和for循环,都可以用break语句跳出循环,都可以用continue语句结束本次循环。

9.【精析】×

一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。3种循环结构(while循环、do···while循环和for循环)可以互相嵌套。

10.【精析】×

该程序段为两个嵌套的for循环,第一个for循环执行一次,第二个for循环就会执行10次,所以语句1会执行100次。

11.【精析】×

求解累乘问题时,作为存放累乘结果的变量的初值应为1,否则其累乘结果无意义;累加问题求和时,作为存放累加结果的变量的初值应为0

填空题

1.while do···while for 2.非零

3.do···while 4.

5.4 6.continue

简答题

1.【参考答案】当(while)型循环结构是先判断条件然后再运行,如果条件不成立,则循环可能一次也不执行;直到(do···while)型循环结构是先无条件执行一次循环体,然后再检查条件,若成立则继续执行循环体。也就是说,直到型(do···while)循环结构无论条件是否成立,都至少执行一次循环体。

2.【参考答案】要构成有效的循环,则必须满足以下两个条件:(1)循环体,必须含有需要重复执行的操作;(2)循环结束的条件,即在什么条件下停止重复。

3.【参考答案】break语句的作用是直接跳出循环体,执行循环体下面的语句;continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,然后进行下一次循环判定。可以简单理解为:continue语句只是结束本次循环,而不是整个循环过程,而break语句结束整个循环过程,不再进行循环条件判断。

计算题

1.【精析】(1)56  (2)55

执行循环体时,打印语句中表达式x-的值为56,所以打印56。执行打印语句后,x的值变为55;接着判断循环条件,由于x的值为55lx0,循环条件不成立,退出循环。

2.【精析】(1)3(2)876

n的初值为99>6,条件成立,执行第1次循环后,n的值为8,满足条件,继续执行第2次循环,得到n的值为7,再次进行条件判断,执行第3次循环,得到n的值为6,此时不再满足循环条件,所以输出结果为876

3.【精析】(1)3(2)123

初始条件k=0while条件成立,进入循环,执行“k++;”语句,输出k的值1,再次判断,满足循环条件,继续执行循环体,当输出k的值为3时,不满足循环条件,所以打印结果为123

4.【精析】 (1)空语句 (2)5

在程序中,for循环的后面还有一个分号,表示循环体为空语句。第1次循环时,先执行循环变量赋初值部分:s=0,i=1,再判断条件表达式i<3成立,执行空语句,接着执行循环变量增值部分,即(i++,s+=i)逗号表达式。执行逗号表达式时,先执行i++,i的值变为2,再执行s+=i,s的值变为2,所以第一次循环结束,得到结果:i=2,s=2.2次循环时,先判断条件表达式i<3成立,执行空语句,接着执行(i++,s+=i)逗号表达式,i的值变为3,s的值变为5,此时不满足循环条件,退出循环,输出s的值5.

5.【精析】 (1)2(2)10,109,1打印语句中的x--,表示先输出x的值,然后执行x-1操作。执行第1次循环时,打印出x的值10,y的值10,打印完后,x变为9;再执行“y=++i;”语句,y的值变为1;判断循环条件成立,执行第2次循环,打印x的值9,y的值1,打印完后,x变为8;此时循环条件不成立,退出循环。

6.【精析】 (1)#*#*# (2)i<3(i<=2)在循环体内,当循环控制变量i为奇数时,if语句的条件为真,打印#,并通过continue语句结束本次循环,进入下一次循环;当循环控制变量i为偶数时,if语句的条件为假,打印*,所以输出#*#*#

7.【精析】 (1)结束本次循环 (2)8在循环体语句中,b的初值为1,判断条件if(b%3==1)成立,b值加3,变为4;下一次循环时,判断条件if(b%3==1)仍然成立,b值加3······这样b%3一直为1,循环体一共完整执行7次,直到b加到22时,通过“if(b>=20) break;”语句退出循环。此时,执行了7a++,所以a的值为8.

提升题

答案速查

一、单项选择题

1-5 CABBC 6-10 DCDCC 11-14 DCDC

答案解析

单项选择题

1.【精析】C

在循环体内定义语句,每次执行循环体时都会被重新定义,选项AB错误;s作为累乘结果,其初值应为1,故选C.

2.【精析】A

因为x0时,!x为真,表示条件成立,执行循环体。而当x0时,x==0为真,表示条件成立,执行循环体,因此,选项A 正确。

3.【精析】B

t=1是一个赋值表达式,赋值表达式的值为赋值后运算符左侧变量的值,所以循环控制表达式的值为1,执行循环体。

技巧点拨

当赋值表达式为循环条件时,要注意循环条件判断的是赋值之后的值。

4.【精析】B

x=-1为非零值,即为逻辑真,则!x0,所以 while语句条件不成立,循环体一次也不执行。

5.【精析】C

选项A中,表达式++a的值为变量a1后的值,这样将从字母b开始输出。选项BD中,循环控制变量a没有更新,将陷入死循环。选项C中,表达式a++的值为变量a1前的值,这样先输出字母a,然后变量a1,再输出字母b⋯⋯直至输出字母z,因此,选项C正确。

6.【精析】D

当条件表达式(a!=20&&n<10)的值为假时,循环结束。这样要求表达式a!=20为假(即a的值等于20)或者表达式(n<10)为假(即n的值大于等于10)。因此,选项D正确。

7.【精析】 C

x=-1,执行“x=x*x;”语句后,x的值为1,这样! x0,条件不成立,退出循环,因此,循环体只执行了一次。

8.【精析】 D

变量i的初值为0,循环条件i < 9成立,执行循环体;由于i < 1,执行“continue;”语句,将跳过循环体下面的语句,直接进入下一次循环;变量i的值仍为0,循环条件i < 9成立,执行循环体……由于变量i的值始终得不到更新,因此,陷入死循环。

9.【精析】C

由于变量sum没有赋初值,所以该程序的值不能确定。

10.【精析】C

外循环for(i=5;i>0;i-)要执行5(5~1),内循环for(j=0;j<4;j++)要执行4(0~3),因此,内循环体总共要执行20次。

11.【精析】D 循环语句的执行过程如下:① 执行赋初值语句“i=2;,变量i的值为2;② 判断循环条件i==0,条件不成立,退出循环,因此无输出。

12.【精析】C

在选项A,循环控制变量i的值在1~10之间变化,不可能通过break语句退出循环;在B选项中,对循环控制变量没有任何的赋值和判断,循环体为空语句,属于死循环;在选项C,执行循环体后k的值加1,k的值最终会达到10000,退出循环;在选项D,循环体为空语句,变量i的值始终为6,无法退出循环。

13.【精析】D

while(m)是循环语句,表示只要变量m的值不等于0就执行switch语句。首先m等于1,执行第1次循环后,m等于2;执行第2次循环后,m等于4;执行第3次循环后,m等于3;执行第4次循环后,m等于2;执行第5次循环后,m又等于4……如此循环往复,m不可能为0,因此,是个死循环。

14.【精析】C

x的初值为1,进入循环体,1次循环时,执行x+=5,x的值变为6,此时y的值为2;第2次循环时,进行条件判断,执行语句“x-=3;,x的值变为3,此时y的值变为3,继续执行第3次循环……直到x的值为10,break语句退出循环,此时y的值为6

计算题

1.【精析】 (1)5(2)0

对于循环条件while(-y)来说,表达式--y为变量y1之后的值,即先将y的值减1,再判断y的值是否为0,y的值为0,退出循环。而“printf("%d\n",y--);”语句中,表达式y--的值是变量y1之前的值,即先输出y的值,然后y再减1。执行过程:1次循环:执行y--操作,y的值变为9,然后执行--y操作,此时y的值变为8,进行条件判断,条件成立,进入第2次循环……直到第5次循环时:执行y--操作,y的值变为1,然后执行--y操作,此时y的值变为0,条件不成立,退出循环。

2.【精析】 (1)b>=0 (2)a=2,b=8

语句b--=a;”等价于“b=b-a;,执行循环体后b的值为9,a的值为2;对于循环条件while(b--<0)来说,表达式b--的值是变量b1之前的值,即先判断b<0是否成立,然后再将b1,b的值为8。条件不成立,退出循环,此时a=2,b=8

3.【精析】 (1)* (2)1

while条件为真,打印出*,执行“i++;”语句后,i的值为1,if条件成立,执行break语句后结束循环,换行输出。

4.【精析】 (1)64 (2)789645

从键盘输入12340,执行语句“scanf("%d",&x);”时,读入一个整数1x,执行循环语句时,由于x>0,执行switch语句的第2条分支,分别打印78;接着读入一个整数2x,执行循环语句时,由于x>0,执行switch语句中第2条分支,打印9;接着读入一个整数3x中,执行循环语句时,由于x>0,执行switch语句中第3条分支和第4条分支,分别打印64;接着读入一个整数4x中,执行循环语句时,由于x>0,执行switch语句中第4条分支,打印5;最后读入一个整数0x中,不满足循环条件结束循环。

5.【精析】(1)4(2)a=4,b=5

程序中,for循环体总共执行了9次(即i=1-9),当i的取值为2468时,if语句的条件成立,执行语句“a++”;”,总共执行了4次,所以a的值为4if语句的条件成立时,跳过语句“b++;”,因此,“b++;”语句总共执行了9-4=5次,所以b的值为5

6.【精析】(1)3(2)x=15,y=14

程序的循环体语句中含有逗号表达式,逗号表达式的两个基本知识点是:①逗号表达式的运算顺序是从左向右运算;②逗号表达式的值为最右边表达式的值。第1次循环时,逗号表达式从左向右运算,先计算x=3*y,得x=3;再计算x+14(注意此时没有对x赋值,x的值不变),最后计算x-12,将最右边表达式x-1的值2赋给y,所以第1次循环结束,得到结果:x=3y=2。同理第2次循环结束,得到结果:x=6y=5。第3次循环结束,得到结果:x=15y=14

应用题

 

上一篇

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

下一篇