内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第5卷,为知识训练卷,按《C语言程序设计知识》中“while循环与do…while循环”范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第5卷 C语言程序设计知识——while循环与do…while循环
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列while语句书写正确的是( )
A.while {x < 5} printf("A");
B.while x < 5 printf("A");
C.while (x < 5) printf("A");
D.while [x < 5] printf("A");
【答案】C
【解析】C 语言 while 循环的条件必须写在圆括号内。A 使用大括号、B 缺少括号、D 使用方括号,均语法错误;只有 C 书写正确。
2.下列do-while语句书写正确的是( )
A.do while (x < 3) printf("A");
B.do { printf("A"); } while x < 3;
C.do (printf("A")) while (x < 3);
D.do printf("A"); while (x < 3);
【答案】D
【解析】do-while 语法格式为 do 循环语句;while (条件);。A 缺少 do 后的循环体;B 中 while 条件缺少括号;C 错误使用圆括号包裹循环体;只有 D 书写规范。
3.执行下列程序后,输出结果是( )
int x = 1;
while (x <= 3) {
printf("%d", x);
x++;
}
A.123
B.1234
C.321
D.0123
【答案】A
【解析】x依次为1、2、3时满足条件并输出,输出后分别加1;x变为4时循环结束,所以输出123。
4.执行下列程序后,输出结果是( )
int x = 5;
while (x < 5) {
printf("A");
x++;
}
A.AAAAA
B.无输出
C.A
D.程序错误
【答案】B
【解析】while先判断条件,x<5不成立,循环体一次也不执行,因此没有输出。
5.执行下列程序后,输出结果是( )
int x = 5;
do {
printf("%d", x);
x++;
} while (x < 5);
A.56
B.程序错误
C.5
D.无输出
【答案】C
【解析】do-while先执行一次循环体,输出5并将x加为6;随后判断6<5不成立,循环结束,所以输出5。
6.while循环的循环体至少执行一次的条件是( )
A.while条件第一次为真
B.while条件第一次为假
C.循环变量不改变
D.循环体为空
【答案】A
【解析】while先判断条件,只有第一次判断为真时才会执行循环体;若第一次为假,循环体执行0次。
7.do-while循环与while循环的主要区别是( )
A.while不能使用关系表达式
B.do-while先执行循环体再判断条件
C.while一定比do-while执行次数多
D.do-while不能使用整型变量
【答案】B
【解析】while先判断条件,do-while先执行循环体再判断条件,因此do-while在条件初始为假时仍会执行一次。
8.执行下列程序后,x的值是( )
int x = 0;
while (x < 4) {
x += 2;
}
A.3
B.0
C.2
D.4
【答案】D
【解析】x依次由0变为2,再由2变为4;x为4时不满足x<4,循环结束,所以x最终为4。
9.执行下列程序后,输出结果是( )
int i = 1;
int sum = 0;
while (i <= 4) {
sum = sum + i;
i++;
}
printf("%d", sum);
A.6
B.10
C.4
D.11
【答案】B
【解析】循环把1、2、3、4依次累加到sum中,sum=1+2+3+4=10。
10.若变量x的值为0,表达式while (x)的判断结果是( )
A.条件不成立
B.无法判断
C.条件成立
D.语法错误
【答案】A
【解析】C语言中0表示假,非0表示真。x为0时while(x)条件不成立,循环体不执行。
11.执行下列程序后,输出结果是( )
int n = 3;
do {
printf("%d", n);
n--;
} while (n > 0);
A.33
B.210
C.321
D.123
【答案】C
【解析】n依次为3、2、1时执行循环体并输出,输出后递减;n变为0时条件n>0不成立,所以输出321。
12.下列关于while循环体的说法正确的是( )
A.循环体必须使用大括号
B.循环体不能包含赋值语句
C.循环体只能有一条语句
D.循环体可以是一条语句或复合语句
【答案】D
【解析】while循环体可以是一条语句,也可以用大括号括起多条语句形成复合语句;循环体中可以包含赋值语句。
13.执行下列程序后,输出结果是( )
int x = 1;
while (x < 10)
x = x * 2;
printf("%d", x);
A.8
B.16
C.10
D.20
【答案】B
【解析】x依次为1、2、4、8,x为8时仍满足x<10,执行一次后变为16;16不满足条件,最后输出16。
14.执行下列程序后,输出结果是( )
int i = 0;
do {
i++;
} while (i < 3);
printf("%d", i);
A.2
B.4
C.3
D.0
【答案】C
【解析】do-while循环执行后i依次变为1、2、3,i为3时条件i<3不成立,循环结束并输出3。
15.若while循环条件第一次判断为假,则循环体执行次数是( )
A.1次
B.2次
C.不能确定
D.0次
【答案】D
【解析】while是先判断后执行的循环,第一次判断为假时直接跳过循环体,因此执行0次。
16.若do-while循环条件第一次判断为假,则循环体执行次数至少是( )
A.1次
B.不能确定
C.2次
D.0次
【答案】A
【解析】do-while先执行循环体,再判断条件,所以即使第一次判断为假,循环体也已经执行1次。
17.执行下列程序后,输出结果是( )
int x = 2;
while (x <= 8) {
printf("%d", x);
x = x + 3;
}
A.2358
B.25811
C.25814
D.258
【答案】D
【解析】x依次为2、5、8时满足条件并输出,每次增加3;x变为11后结束,因此输出258。
18.下列语句中,能使do-while循环体执行后再判断条件的是( )
A.switch (条件) {循环体}
B.if (条件) {循环体}
C.do {循环体} while (条件);
D.while (条件) {循环体}
【答案】C
【解析】do {循环体} while (条件);的执行顺序是先执行循环体,再判断条件,符合题意。
19.执行下列程序后,输出结果是( )
int n = 1;
int count = 0;
while (n <= 5) {
if (n % 2 == 1)
count++;
n++;
}
printf("%d", count);
A.1
B.3
C.5
D.2
【答案】B
【解析】n依次取1至5,其中1、3、5为奇数,count共增加3次,最后输出3。
20.执行下列程序后,输出结果是( )
int x = 3;
while (x > 0) {
printf("%d", x);
x--;
}
printf("%d", x);
A.330
B.321
C.3210
D.0123
【答案】C
【解析】循环依次输出3、2、1,最后x减为0并退出循环,循环后的printf再输出0,所以结果为3210。
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i = 1;
int sum = 0;
while (i <= 5) {
sum = sum + i;
i++;
}
printf("%d %d
", i, sum);
return 0;
}
【答案】输出:6 15
【解析】i从1循环到5,sum依次累加1、2、3、4、5,得到15;最后一次循环后i加为6,输出6和15。
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int n = 4;
do {
printf("%d", n);
n--;
} while (n > 1);
printf(" %d
", n);
return 0;
}
【答案】输出:432 1
【解析】do-while先输出4并减为3,再输出3并减为2,再输出2并减为1;n>1不成立,循环结束,最后输出空格和1。
三、案例分析题(共1题,共10分)
1.下面程序用于计算1到5的累加和,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int i = 1;
int sum = 0;
while (i <= 5) {
sum = sum + i;
}
printf("%d
", sum);
return 0;
}
【答案】在while循环体中增加语句i++;,修改后的循环体为:sum = sum + i; i++;
【解析】原程序中i始终为1,while条件i<=5一直成立,循环会无限执行,sum也会不断增加。循环体中必须更新i,使它最终超过5并结束循环。
四、综合应用题(共1题,共10分)
1.编写程序:输入一个正整数n,使用while循环求1到n的和并输出结果。
【答案】
#include <stdio.h>
int main( )
{
int n;
int i = 1;
int sum = 0;
scanf("%d", &n);
while (i <= n) {
sum = sum + i;
i++;
}
printf("%d
", sum);
return 0;
}
【解析】程序先将i设为1、sum设为0,在i<=n时把i累加到sum并使i加1;当i变为n+1时循环结束,输出1到n的累加和。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第5卷,为知识训练卷,按《C语言程序设计知识》中“while循环与do…while循环”范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第5卷 C语言程序设计知识——while循环与do…while循环
(考试时间:45分钟 满分:100分)
一、选择题(共20题,每题3分,共60分)
1.下列while语句书写正确的是( )
A.while {x < 5} printf("A");
B.while x < 5 printf("A");
C.while (x < 5) printf("A");
D.while [x < 5] printf("A");
2.下列do-while语句书写正确的是( )
A.do while (x < 3) printf("A");
B.do { printf("A"); } while x < 3;
C.do (printf("A")) while (x < 3);
D.do printf("A"); while (x < 3);
3.执行下列程序后,输出结果是( )
int x = 1;
while (x <= 3) {
printf("%d", x);
x++;
}
A.123
B.1234
C.321
D.0123
4.执行下列程序后,输出结果是( )
int x = 5;
while (x < 5) {
printf("A");
x++;
}
A.AAAAA
B.无输出
C.A
D.程序错误
5.执行下列程序后,输出结果是( )
int x = 5;
do {
printf("%d", x);
x++;
} while (x < 5);
A.56
B.程序错误
C.5
D.无输出
6.while循环的循环体至少执行一次的条件是( )
A.while条件第一次为真
B.while条件第一次为假
C.循环变量不改变
D.循环体为空
7.do-while循环与while循环的主要区别是( )
A.while不能使用关系表达式
B.do-while先执行循环体再判断条件
C.while一定比do-while执行次数多
D.do-while不能使用整型变量
8.执行下列程序后,x的值是( )
int x = 0;
while (x < 4) {
x += 2;
}
A.3
B.0
C.2
D.4
9.执行下列程序后,输出结果是( )
int i = 1;
int sum = 0;
while (i <= 4) {
sum = sum + i;
i++;
}
printf("%d", sum);
A.6
B.10
C.4
D.11
10.若变量x的值为0,表达式while (x)的判断结果是( )
A.条件不成立
B.无法判断
C.条件成立
D.语法错误
11.执行下列程序后,输出结果是( )
int n = 3;
do {
printf("%d", n);
n--;
} while (n > 0);
A.33
B.210
C.321
D.123
12.下列关于while循环体的说法正确的是( )
A.循环体必须使用大括号
B.循环体不能包含赋值语句
C.循环体只能有一条语句
D.循环体可以是一条语句或复合语句
13.执行下列程序后,输出结果是( )
int x = 1;
while (x < 10)
x = x * 2;
printf("%d", x);
A.8
B.16
C.10
D.20
14.执行下列程序后,输出结果是( )
int i = 0;
do {
i++;
} while (i < 3);
printf("%d", i);
A.2
B.4
C.3
D.0
15.若while循环条件第一次判断为假,则循环体执行次数是( )
A.1次
B.2次
C.不能确定
D.0次
16.若do-while循环条件第一次判断为假,则循环体执行次数至少是( )
A.1次
B.不能确定
C.2次
D.0次
17.执行下列程序后,输出结果是( )
int x = 2;
while (x <= 8) {
printf("%d", x);
x = x + 3;
}
A.2358
B.25811
C.25814
D.258
18.下列语句中,能使do-while循环体执行后再判断条件的是( )
A.switch (条件) {循环体}
B.if (条件) {循环体}
C.do {循环体} while (条件);
D.while (条件) {循环体}
19.执行下列程序后,输出结果是( )
int n = 1;
int count = 0;
while (n <= 5) {
if (n % 2 == 1)
count++;
n++;
}
printf("%d", count);
A.1
B.3
C.5
D.2
20.执行下列程序后,输出结果是( )
int x = 3;
while (x > 0) {
printf("%d", x);
x--;
}
printf("%d", x);
A.330
B.321
C.3210
D.0123
二、简答题(共2题,每题10分,共20分)
1.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int i = 1;
int sum = 0;
while (i <= 5) {
sum = sum + i;
i++;
}
printf("%d %d
", i, sum);
return 0;
}
2.阅读程序,写出程序的输出结果。
#include <stdio.h>
int main( )
{
int n = 4;
do {
printf("%d", n);
n--;
} while (n > 1);
printf(" %d
", n);
return 0;
}
三、案例分析题(共1题,共10分)
1.下面程序用于计算1到5的累加和,但程序中有一处错误,请指出并改正。
#include <stdio.h>
int main( )
{
int i = 1;
int sum = 0;
while (i <= 5) {
sum = sum + i;
}
printf("%d
", sum);
return 0;
}
四、综合应用题(共1题,共10分)
1.编写程序:输入一个正整数n,使用while循环求1到n的和并输出结果。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$