内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第52卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第52卷 专题训练——循环程序设计
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.while语句执行循环时,首先进行的操作是( )
A.先执行循环体
B.先判断循环条件
C.先执行更新语句
D.先结束当前程序
【答案】B
【解析】while先判断条件,条件成立时才执行循环体,因此条件一开始为假时循环体可以一次也不执行。
2.do...while语句的主要特点是( )
A.条件只判断一次
B.循环体不能使用变量
C.必须配合for语句
D.循环体至少执行一次
【答案】D
【解析】do...while先执行循环体,再判断条件,所以即使条件初始为假,循环体也会先执行一次。
3.关于do...while语句的说法,正确的是( )
A.do先执行循环体
B.do先判断循环条件
C.while先执行循环体
D.循环体执行后不再判断条件
【答案】A
【解析】标准形式是do后跟循环体,while后写条件,并在条件右括号后加分号。
4.使用while循环时,为使循环能够正常结束,通常需要在循环体中( )
A.重复声明同一变量
B.删除循环条件
C.改变控制变量的值
D.把输出语句移到循环外
【答案】C
【解析】控制变量应在循环体中按设计方向变化,使条件最终变为假;否则可能形成无限循环。
5.执行下列程序后,输出结果是( )
int i = 1;
while (i < 4)
{
printf("%d", i);
i++;
}
A.012
B.234
C.123
D.345
【答案】C
【解析】i依次为1、2、3时满足i<4,输出123;i增加到4后条件不成立,循环结束。
6.执行下列程序后,变量i的值是( )
int i = 0;
do
{
i++;
} while (i < 3);
A.3
B.1
C.2
D.4
【答案】A
【解析】i从0开始,循环体依次把它加到1、2、3;i为3时条件i<3不成立,最终为3。
7.执行下列程序后,循环体执行的次数是( )
int i = 5, n = 0;
while (i < 5)
{
n++;
i++;
}
A.1次
B.5次
C.无法确定
D.0次
【答案】D
【解析】while先判断i<5,初值i为5使条件不成立,因此循环体执行0次。
8.执行下列程序后,变量product的值是( )
int product = 1;
do
{
product *= 2;
} while (product < 5);
A.4
B.8
C.6
D.10
【答案】B
【解析】product依次变为2、4、8;product为8时不满足product<5,循环结束,最终值为8。
9.下列程序用于累加1到5的整数,执行后sum的值是( )
int i = 1, sum = 0;
while (i <= 5)
{
sum += i;
i++;
}
A.10
B.14
C.15
D.16
【答案】C
【解析】循环依次把1、2、3、4、5加入sum,结果为1+2+3+4+5=15。
10.执行下列程序后,变量count的值是( )
int i = 1, count = 0;
while (i <= 4)
{
i *= 2;
count++;
}
A.2
B.4
C.5
D.3
【答案】D
【解析】i依次由1变为2、4、8,循环体执行3次;i为8时不再满足i<=4。
11.若成绩不在0到100之间就继续输入,循环条件应写为( )
A.score<0||score>100
B.score<0&&score>100
C.score>=0&&score<=100
D.score==0||score==100
【答案】A
【解析】需要继续输入的情况是低于0或高于100,两个异常范围满足其一即可,因此使用||连接。
12.菜单程序要求先显示菜单,用户输入0时结束,较合适的循环形式是( )
A.先判断循环条件后执行
B.先执行循环体再判断
C.只执行一次后结束
D.按固定次数执行循环
【答案】B
【解析】菜单至少要显示一次,应先执行菜单和输入,再根据choice是否为0决定是否继续,适合使用do...while。
13.执行下列程序后,变量n的值是( )
int n = 10;
while (n > 1)
{
n -= 3;
}
A.0
B.2
C.10
D.1
【答案】D
【解析】n依次变为7、4、1;n为1时不满足n>1,循环结束,最终值为1。
14.执行下列程序后,变量count的值是( )
int x = 2, count = 0;
do
{
count++;
x--;
} while (x > 2);
A.0
B.2
C.1
D.3
【答案】C
【解析】循环体先执行一次,count变为1、x变为1;随后x>2为假,循环结束。
15.下列while循环不能按预期结束,最直接的修改是( )
int i = 1;
while (i <= 5)
{
sum += i;
}
A.在循环体内更新i
B.删去循环条件
C.把i改为固定值
D.把sum改为字符变量
【答案】A
【解析】循环体没有改变i,i始终为1,条件一直成立;加入i++可使控制变量向结束条件变化。
16.执行下列程序后,变量value的值是( )
int value = 3;
do
{
value += 2;
} while (value < 6);
A.3
B.7
C.5
D.6
【答案】B
【解析】value先由3变为5,5<6成立,再变为7;7<6不成立,循环结束,最终值为7。
17.执行下列程序后,变量x的值是( )
int x = 8;
do
{
x /= 2;
} while (x > 1);
A.0
B.2
C.4
D.1
【答案】D
【解析】x依次由8变为4、2、1;x为1时条件x>1不成立,最终为1。
18.执行下列程序后,变量sum的值是( )
int n = 3, sum = 0;
while (n > 0)
{
sum += n;
n--;
}
A.3
B.5
C.6
D.7
【答案】C
【解析】循环把3、2、1依次加入sum,累加结果为6,n减到0后结束。
19.while循环体中更新控制变量的主要作用是( )
A.让循环体每次执行相同代码
B.使循环条件最终变为假
C.让程序跳过条件判断
D.使循环次数永远增加
【答案】B
【解析】控制变量按设计方向更新,可以使循环条件最终不成立,从而让while循环正常结束。
20.若任务要求循环体至少执行一次且输入0后结束,适合采用的结构是( )
A.先执行后判断的循环结构
B.先判断后执行的循环结构
C.只执行一次的分支结构
D.按固定次数执行的循环结构
【答案】A
【解析】任务同时要求至少执行一次和按条件重复,do...while能够先执行循环体,再判断结束条件。
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出输出结果,并说明sum和i的最终值。
#include <stdio.h>
int main()
{
int i = 2, sum = 0;
while (i <= 6)
{
sum += i;
i += 2;
}
printf("%d %d
", sum, i);
return 0;
}
【答案】输出:12 8。sum的最终值为12,i的最终值为8。
【解析】i依次为2、4、6时进入循环,sum得到2+4+6=12;执行i+=2后变为8,8<=6不成立,循环结束。
2.阅读程序,写出输出结果,并说明count和choice的最终值。
#include <stdio.h>
int main()
{
int choice = 3, count = 0;
do
{
count++;
choice--;
} while (choice > 0);
printf("%d %d
", count, choice);
return 0;
}
【答案】输出:3 0。count的最终值为3,choice的最终值为0。
【解析】do...while先执行循环体;choice依次为2、1、0,循环体执行3次,最后choice>0不成立。
三、案例分析题(共1题,共10分)
1.某菜单程序要求至少显示一次菜单,输入0时结束,输入其他选项时继续显示菜单。请指出程序问题并修改。
#include <stdio.h>
int main()
{
int choice = 0;
while (choice != 0)
{
printf("1.查询 0.退出
");
scanf("%d", &choice);
}
return 0;
}
【答案】将while结构改为do...while结构:
int choice;
do
{
printf("1.查询 0.退出
");
scanf("%d", &choice);
} while (choice != 0);
【解析】原程序把choice初始化为0,while首次判断choice!=0为假,菜单一次也不会显示。题目要求至少显示一次,应先执行菜单和输入,再判断choice是否为0,因此使用do...while。
四、综合应用题(共1题,共10分)
1.编写程序:连续输入若干个非负整数,以0作为结束标志,使用do...while循环统计输入的正整数个数及其总和,并输出统计结果。若第一次输入就是0,正整数个数和总和均为0。
#include <stdio.h>
int main()
{
int value, count = 0, sum = 0;
do
{
scanf("%d", &value);
if (value > 0)
{
count++;
sum += value;
}
} while (value != 0);
printf("%d %d
", count, sum);
return 0;
}
【答案】参考程序如上。评分点:正确声明value、count和sum;使用do...while保证至少读取一次;正确判断value>0并累加个数和总和;使用value!=0作为继续条件;输出格式正确。
【解析】输入过程至少需要执行一次,且输入0后结束,所以循环体放在do之后、条件写为value!=0。0不计入正整数统计,正数才同时更新count和sum。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第52卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第52卷 专题训练——循环程序设计
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.while语句执行循环时,首先进行的操作是( )
A.先执行循环体
B.先判断循环条件
C.先执行更新语句
D.先结束当前程序
2.do...while语句的主要特点是( )
A.条件只判断一次
B.循环体不能使用变量
C.必须配合for语句
D.循环体至少执行一次
3.关于do...while语句的说法,正确的是( )
A.do先执行循环体
B.do先判断循环条件
C.while先执行循环体
D.循环体执行后不再判断条件
4.使用while循环时,为使循环能够正常结束,通常需要在循环体中( )
A.重复声明同一变量
B.删除循环条件
C.改变控制变量的值
D.把输出语句移到循环外
5.执行下列程序后,输出结果是( )
int i = 1;
while (i < 4)
{
printf("%d", i);
i++;
}
A.012
B.234
C.123
D.345
6.执行下列程序后,变量i的值是( )
int i = 0;
do
{
i++;
} while (i < 3);
A.3
B.1
C.2
D.4
7.执行下列程序后,循环体执行的次数是( )
int i = 5, n = 0;
while (i < 5)
{
n++;
i++;
}
A.1次
B.5次
C.无法确定
D.0次
8.执行下列程序后,变量product的值是( )
int product = 1;
do
{
product *= 2;
} while (product < 5);
A.4
B.8
C.6
D.10
9.下列程序用于累加1到5的整数,执行后sum的值是( )
int i = 1, sum = 0;
while (i <= 5)
{
sum += i;
i++;
}
A.10
B.14
C.15
D.16
10.执行下列程序后,变量count的值是( )
int i = 1, count = 0;
while (i <= 4)
{
i *= 2;
count++;
}
A.2
B.4
C.5
D.3
11.若成绩不在0到100之间就继续输入,循环条件应写为( )
A.score<0||score>100
B.score<0&&score>100
C.score>=0&&score<=100
D.score==0||score==100
12.菜单程序要求先显示菜单,用户输入0时结束,较合适的循环形式是( )
A.先判断循环条件后执行
B.先执行循环体再判断
C.只执行一次后结束
D.按固定次数执行循环
13.执行下列程序后,变量n的值是( )
int n = 10;
while (n > 1)
{
n -= 3;
}
A.0
B.2
C.10
D.1
14.执行下列程序后,变量count的值是( )
int x = 2, count = 0;
do
{
count++;
x--;
} while (x > 2);
A.0
B.2
C.1
D.3
15.下列while循环不能按预期结束,最直接的修改是( )
int i = 1;
while (i <= 5)
{
sum += i;
}
A.在循环体内更新i
B.删去循环条件
C.把i改为固定值
D.把sum改为字符变量
16.执行下列程序后,变量value的值是( )
int value = 3;
do
{
value += 2;
} while (value < 6);
A.3
B.7
C.5
D.6
17.执行下列程序后,变量x的值是( )
int x = 8;
do
{
x /= 2;
} while (x > 1);
A.0
B.2
C.4
D.1
18.执行下列程序后,变量sum的值是( )
int n = 3, sum = 0;
while (n > 0)
{
sum += n;
n--;
}
A.3
B.5
C.6
D.7
19.while循环体中更新控制变量的主要作用是( )
A.让循环体每次执行相同代码
B.使循环条件最终变为假
C.让程序跳过条件判断
D.使循环次数永远增加
20.若任务要求循环体至少执行一次且输入0后结束,适合采用的结构是( )
A.先执行后判断的循环结构
B.先判断后执行的循环结构
C.只执行一次的分支结构
D.按固定次数执行的循环结构
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出输出结果,并说明sum和i的最终值。
#include <stdio.h>
int main()
{
int i = 2, sum = 0;
while (i <= 6)
{
sum += i;
i += 2;
}
printf("%d %d
", sum, i);
return 0;
}
2.阅读程序,写出输出结果,并说明count和choice的最终值。
#include <stdio.h>
int main()
{
int choice = 3, count = 0;
do
{
count++;
choice--;
} while (choice > 0);
printf("%d %d
", count, choice);
return 0;
}
三、案例分析题(共1题,共10分)
1.某菜单程序要求至少显示一次菜单,输入0时结束,输入其他选项时继续显示菜单。请指出程序问题并修改。
#include <stdio.h>
int main()
{
int choice = 0;
while (choice != 0)
{
printf("1.查询 0.退出
");
scanf("%d", &choice);
}
return 0;
}
四、综合应用题(共1题,共10分)
1.编写程序:连续输入若干个非负整数,以0作为结束标志,使用do...while循环统计输入的正整数个数及其总和,并输出统计结果。若第一次输入就是0,正整数个数和总和均为0。
#include <stdio.h>
int main()
{
int value, count = 0, sum = 0;
do
{
scanf("%d", &value);
if (value > 0)
{
count++;
sum += value;
}
} while (value != 0);
printf("%d %d
", count, sum);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$