GESP等级考试C++二级-while语句

发布于:2024-10-13 ⋅ 阅读:(14) ⋅ 点赞:(0)

while语句用于循环执行某些语句。

1 while语句格式

while语句的格式如图1所示。

图1 while语句的格式

当while后面跟的条件是true时,则执行尖括号内的操作,执行完成之后,如果条件依然是true,则继续执行尖括号内的操作,直到条件变为false,如果条件始终是true,则循环不会停止。while语句与《GESP等级考试 C++二级-if语句》中提到的if语句相似,只不过if语句只执行一次相关操作,而while语句可能会执行多次操作。

2 while语句的使用方法

2.1 无限循环

当while后面跟的条件始终是true时,则无限循环地执行相关操作,代码如图2所示。

图2 无限循环代码

其中,第7行代码中while语句的条件始终是true,因此第9-10行代码会无限循环地被执行,程序输出从0开始的整数。

2.2 有限循环

可以通过while语句的条件或者break语句实现有限次数的循环。

2.2.1 通过语句实现有限次数循环

通过语句实现有限次数循环的代码如图3所示。

图3 语句实现有限次数循环的代码

其中,第7行代码中while语句的条件是“i<=10”,也即是说,当i<=10时,可以执行尖括号内的语句,此时循环的次数是11次,输出0-10之间的整数,当i=11时,条件为false,循环结束。

2.2.2通过break实现有限次数循环

break语句的作用是结束当前循环,通过语句实现有限次数循环的代码如图4所示。

图4 通过语句实现有限次数循环的代码

其中,第7行代码中while的条件语句始终是true,但是在第11-14行代码,也就是尖括号内的操作的if语句中,当i的值大于10时,则使用break跳出while循环,此时程序也是循环了11次,输出0-10之间的整数,当i=11时,if语句的条件为true,break跳出while循环。

2.3 continue语句

continue语句的作用是从下一轮循环开始,代码如图5所示。

图5 continue的使用代码

以上代码使用了break语句,当i大于10时跳出while循环;第14-17行代码使用if语句判断i是否是奇数,如果是奇数,则使用continue进行下一轮循环,此时程序不会再向下执行cout语句;当i不是奇数时,则程序会向下执行cout语句。以上程序输出2、4、6、8、10这5个偶数。

3 真题解析

202409-选择题

答案:A

解析:使用N%10来提取N的个位,每次循环后,使用N/10来删除已经提取出来的个位;当N=0时while循环终止。

202409-选择题

答案:A

解析:第6-7行代码表示当输入负数时,调用break语句跳出while循环,之后执行第11行代码输出总学生数和平均分;当输入的成绩为小数时,根据数据隐式转换,会将小数转换为整数之后再赋值给score;虽然score的初始值不确定,但是使用它之前都会通过cin为其赋值,因此不影响程序执行。

202409-判断题

答案:×

解析:while循环中的第4行代码,当flag的值是0时,才会输出N的个位;而第6行代码中flag的值是0、1交替的,因此不可能输出4位数字。