内容正文:
编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。
本试卷是2026版《软件与应用技术考纲百套卷》的第5卷,按知识模块1 C语言程序设计知识,3.循环程序设计的两点范围要求编写。其两点要求是:
(1)掌握while循环、do…while循环、for循环和循环嵌套的用法。
(2)了解break语句和continue语句的用法。
2026版山东省《软件与应用技术考纲百套卷》 第5卷
知识模块1 C语言程序设计知识
3.循环程序设计 知识点训练卷
一、单项选择题(本大题共20小题,每题3分,共60分)
1.下面哪个语句可以终止当前循环并跳出循环体?( )
A. break
B. continue
C. return
D. exit
【答案】A
2.有以下程序段,则此处do...while循环的结束条件是:_______________
int n=0,p;
do {scanf("%d",&p);n++;} while (p!=12345&&n<3);
A.p的值不等于12345并且n的值小于3
B.p的值等于12345并且n的值大于等于3
C.p的值不等于12345或者n的值小于3
D.p的值等于12345或者n的值大于等于3
【答案】D
3.当执行以下程序段时: 选择( )
x=-1;
do{x=x*x;}while(!x);
A.循环体将执行一次
B.循环体将执行两次
C.循环体将执行无限次
D.系统将提示有语法错误
【答案】A
4. 关于 `break` 和 `continue` 语句的说法,下列选项中不正确的是( )
A. `break` 语句只能在循环体内使用
B. 在循环体内使用 `break` 语句可以使流程跳出本层循环体,从而提前结束本层循环
C. 在 `while` 和 `do...while` 循环中,`continue` 语句并没有使整个循环终止
D. `continue` 的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断
【答案】A
5. 执行以下程序段后,结果为( )
x=1;
do {
x=x*x;
} while(!x);
A. 是死循环
B. 循环执行2次
C. 循环执行一次
D. 有语法错误
【答案】C
6. 执行下列程序 int k=10; while(k==0)k=k-1;则下面描述正确的是( )
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
【答案】C
7. 若下述程序运行时输入的数据是 3.6,2.4 (回车),则输出结果是( )
#include<math.h>
#include<stdio.h>
main() {
float x, y, z;
scanf("%f,%f", &x, &y);
z = x / y;
while (1) {
if (fabs(z) > 1.0) {
x = y;
y = z;
z = x / y;
} else {
break;
}
}
printf("%f", y);
}
A. 1.500000
B. 1.600000
C. 2.000000
D. 2.400000
【答案】B
8. 设有程序段:
int k = 10;
while (k == 1) k = k - 1;
则下面描述中正确的是( )
A. `while` 循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
【答案】C
9.C语言中( )
A.不能使用do…while语句构成的循环
B.do…while语句构成的循环必须用break语句才能退出
C.do…while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do…while 语句构成的循环,当while语句中的表达式值为零时结束循环
【答案】D
10. 执行下列程序 int k=3; while(k=0)k=k-1;则下面描述正确的是( )
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
【答案】C
11.以下程序段的输出结果是( )
int k, m, n;
n = 10; m = 1; k = 1;
while (k <= n) {
m *= 2; k += 3;}
printf("%d
", m);
A.10 B.13 C.15 D.16
【答案】D
12. 定义如下变量:
int n = 10;
则下列循环的输出结果是。( )
while (n > 7) {
n--;
printf("%d", n);
}
A. 1098
B. 987
C. 10987
D. 9876
【答案】B
13. 执行以下代码后,该循环共执行了。( )
int a = 2;
while (a = 0)
a--;
A. 0
B. 1
C. 2
D. 3
【答案】A
14.以下程序段的输出结果是( )
int n = 1;
while (n <= 2) {
n++;
printf("%d ", n);}
A.2 3
B.4 5
C.3 9
D.0 9
【答案】A
15. 以下程序段的运行结果是( )
s=1+2+3+4+5
int i=1,s=0;
do{s+=i;i++;}while(i<=5); printf(“%d
”,s);
A.13
B.14
C.15
D.16
【答案】C
16. 以下程序段的运行结果是( )
for(y=1;y<10;) y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A. x=27,y=27
B. x=12,y=13
C. x=15,y=14
D. x=y=27
【答案】C
17.以下程序段的运行结果是( )
int x = 7;
do {printf("*");x--;} while (!(x % 2));
A.**
B.*
C.6
D.7
【答案】A
18. 关于 `for` 循环的正确描述是。( )
A. `for` 循环只能用于循环次数已经确定的情况
B. `for` 循环是先执行循环体语句,后判断表达式
C. 在 `for` 循环中,不能用 `break` 语句跳出循环体
D. `for` 循环的循环体语句中,可以包含多条语句,但必须花括号括起来
【答案】D
19. 若 `i` 为整型变量,则以下循环执行的次数是。( )
for(i=2;i=0;) printf("%d",i--);
A. 无限次
B. 0次
C. 1次
D. 2次
【答案】B
20.以下程序段的运行结果是( )
int a = 1, b = 10;
do {b -= a;a++;} while (b--< 0);
printf("a=%d,b=%d
", a, b);
A.a=2,b=8
B.a=2 b=8
C.2,8
D.2 8
【答案】A
二、简答题(本大题共5小题,每题6分,共30分)
1. do while语句执行的特点是什么?
【答案】先执行循环体,后判断条件,至少执行一次循环体。
2.循环结构的特点是?
【答案】 循环体内的代码可能被反复执行多次,而不像顺序结构中的代码只执行一次,也不像选择结构中有的代码执行一次,有的代码不执行。
3.一个循环结构通常包含哪3个部分?
【答案】①循环变量赋初值(如 while 语句前的语 句“i=1;”).
②循环条件(如“i<=5”).
③循环变量值的调整(如“i=i+1;”).调整 循环变量的值可以让循环条件在某个时候 变为假,从而结束循环。
当循环体只有一条语句时,“{}”可以省略。
4.比较do while语句和while语句。
【答案】
while语句是先判断后执行,至少执行循环体 0 次 ;
do...while 语句是先执行一次,再判断是 否继续执行循环体,即至少执行循环体 一次。
5.for 循环与 while 循环的区别。
【答案】相比之下,for 语句显得更紧凑一些。另外,for语句还有其他灵活性,给编程带来了很多方便。for 语句般用于循环次数比较明确的情况,而 while 或 do…while 语句则用于循环次数难以判定的情况。
三、编程题(本大题共1小题,共10分)
1.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份m
{7,8,9}
{1~5,10,11}
{6,12}
数量n
n>=20
n<20
n>=20
n<20
优惠率r(%)
15
5
30
20
10
【答案】
#include <stdio.h>
main() {
float r;
int month, num;
printf("请输入月份和机票数量:");
scanf("%d%d", &month, &num);
if (month == 6 || month == 12)
r = 0.1;
else if (month == 7 || month == 8 || month == 9) {
if (num >= 20)
r = 0.15;
else
r = 0.05;
} else {
if (num >= 20)
r = 0.3;
else
r = 0.2;
}
printf("优惠率为:%.2f", r);
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。
本试卷是2026版《软件与应用技术考纲百套卷》的第5卷,按知识模块1 C语言程序设计知识,3.循环程序设计的两点范围要求编写。其两点要求是:
(1)掌握while循环、do…while循环、for循环和循环嵌套的用法。
(2)了解break语句和continue语句的用法。
2026版山东省《软件与应用技术考纲百套卷》 第5卷
知识模块1 C语言程序设计知识
3.循环程序设计 知识点训练卷
一、单项选择题(本大题共20小题,每题3分,共60分)
1.下面哪个语句可以终止当前循环并跳出循环体?( )
A. break
B. continue
C. return
D. exit
2.有以下程序段,则此处do...while循环的结束条件是:_______________
int n=0,p;
do {scanf("%d",&p);n++;} while (p!=12345&&n<3);
A.p的值不等于12345并且n的值小于3
B.p的值等于12345并且n的值大于等于3
C.p的值不等于12345或者n的值小于3
D.p的值等于12345或者n的值大于等于3
3.当执行以下程序段时: 选择( )
x=-1;
do{x=x*x;}while(!x);
A.循环体将执行一次
B.循环体将执行两次
C.循环体将执行无限次
D.系统将提示有语法错误
4. 关于 `break` 和 `continue` 语句的说法,下列选项中不正确的是( )
A. `break` 语句只能在循环体内使用
B. 在循环体内使用 `break` 语句可以使流程跳出本层循环体,从而提前结束本层循环
C. 在 `while` 和 `do...while` 循环中,`continue` 语句并没有使整个循环终止
D. `continue` 的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断
5. 执行以下程序段后,结果为( )
x=1;
do {
x=x*x;
} while(!x);
A. 是死循环
B. 循环执行2次
C. 循环执行一次
D. 有语法错误
6. 执行下列程序 int k=10; while(k==0)k=k-1;则下面描述正确的是( )
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
7. 若下述程序运行时输入的数据是 3.6,2.4 (回车),则输出结果是( )
#include<math.h>
#include<stdio.h>
main() {
float x, y, z;
scanf("%f,%f", &x, &y);
z = x / y;
while (1) {
if (fabs(z) > 1.0) {
x = y;
y = z;
z = x / y;
} else {
break;
}
}
printf("%f", y);
}
A. 1.500000
B. 1.600000
C. 2.000000
D. 2.400000
8. 设有程序段:
int k = 10;
while (k == 1) k = k - 1;
则下面描述中正确的是( )
A. `while` 循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
9.C语言中( )
A.不能使用do…while语句构成的循环
B.do…while语句构成的循环必须用break语句才能退出
C.do…while语句构成的循环,当while语句中的表达式值为非零时结束循环
D.do…while 语句构成的循环,当while语句中的表达式值为零时结束循环
10. 执行下列程序 int k=3; while(k=0)k=k-1;则下面描述正确的是( )
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
11.以下程序段的输出结果是( )
int k, m, n;
n = 10; m = 1; k = 1;
while (k <= n) {
m *= 2; k += 3;}
printf("%d
", m);
A.10 B.13 C.15 D.16
12. 定义如下变量:
int n = 10;
则下列循环的输出结果是。( )
while (n > 7) {
n--;
printf("%d", n);
}
A. 1098
B. 987
C. 10987
D. 9876
13. 执行以下代码后,该循环共执行了。( )
int a = 2;
while (a = 0)
a--;
A. 0
B. 1
C. 2
D. 3
14.以下程序段的输出结果是( )
int n = 1;
while (n <= 2) {
n++;
printf("%d ", n);}
A.2 3
B.4 5
C.3 9
D.0 9
15. 以下程序段的运行结果是( )
s=1+2+3+4+5
int i=1,s=0;
do{s+=i;i++;}while(i<=5); printf(“%d
”,s);
A.13
B.14
C.15
D.16
16. 以下程序段的运行结果是( )
for(y=1;y<10;) y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A. x=27,y=27
B. x=12,y=13
C. x=15,y=14
D. x=y=27
17.以下程序段的运行结果是( )
int x = 7;
do {printf("*");x--;} while (!(x % 2));
A.**
B.*
C.6
D.7
18. 关于 `for` 循环的正确描述是。( )
A. `for` 循环只能用于循环次数已经确定的情况
B. `for` 循环是先执行循环体语句,后判断表达式
C. 在 `for` 循环中,不能用 `break` 语句跳出循环体
D. `for` 循环的循环体语句中,可以包含多条语句,但必须花括号括起来
19. 若 `i` 为整型变量,则以下循环执行的次数是。( )
for(i=2;i=0;) printf("%d",i--);
A. 无限次
B. 0次
C. 1次
D. 2次
20.以下程序段的运行结果是( )
int a = 1, b = 10;
do {b -= a;a++;} while (b--< 0);
printf("a=%d,b=%d
", a, b);
A.a=2,b=8
B.a=2 b=8
C.2,8
D.2 8
二、简答题(本大题共5小题,每题6分,共30分)
1. do while语句执行的特点是什么?
2.循环结构的特点是?
3.一个循环结构通常包含哪3个部分?
4.比较do while语句和while语句。
5.for 循环与 while 循环的区别。
三、编程题(本大题共1小题,共10分)
1.输入月份和订购机票的数量,计算机票优惠率并输出。计算规则如表所示。
月份m
{7,8,9}
{1~5,10,11}
{6,12}
数量n
n>=20
n<20
n>=20
n<20
优惠率r(%)
15
5
30
20
10
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$