内容正文:
编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。
本试卷是第9卷,为知识训练卷,按《C语言程序设计》中“循环的控制”范围和要求编写。具体内容为:1.掌握while语句、do-while语句、for语句及编程。2.理解循环的嵌套。3.掌握break语句和continue语句的使用方法。4.理解并掌握循环语句与选择语句的结合使用。
吉林省高职分类(对口招生)考试
电子与信息类《考纲百套卷》
第9卷 C语言程序设计——循环的控制
(考试时间:45分钟 满分:100分)
一、单项选择题(共20题,每题2分,共40分。)
1.goto语句跳转的目标位置由什么标识?( )
A.数字编号
B.标号(标签)
C.变量名
D.函数名
【答案】B
【解析】goto通过标号(label)标识跳转目标,格式为 goto 标号; ... 标号: 语句; 。标号是用户定义的标识符后跟冒号。
2.以下关于goto语句的说法,正确的是( )
A.goto可以在同一函数内任意跳转
B.goto可以从一个函数跳转到另一个函数
C.goto是C语言中最常用的跳转语句
D.goto只能向前跳转
【答案】A
【解析】goto只能在同一函数内部跳转,不能跨函数。它可以向前或向后跳转,但在结构化编程中应谨慎使用,避免破坏程序结构。
3.以下哪个不是合法的死循环写法?( )
A.while(1) { }
B.for(;;) { }
C.do { } while(1);
D.while(0) { }
【答案】D
【解析】while(0)条件为假,循环体一次都不执行,不是死循环。while(1)、for(;;)、do{}while(1)都是合法的死循环写法。
4.为了提高循环执行效率,以下做法正确的是( )
A.把不变的计算放在循环体内
B.尽可能使用嵌套循环
C.将循环内不变的计算移到循环外
D.增加循环体内的函数调用
【答案】C
【解析】将循环内不变的计算(如常量表达式)移到循环外可以减少重复计算,提高效率。这是基本的循环优化方法。
5.for循环中执行continue语句后,接下来会执行( )
A.表达式3(如i++)
B.下一次循环的表达式1
C.跳出循环
D.重新执行表达式1
【答案】A
【解析】for循环中continue会跳过循环体剩余语句,但仍会执行表达式3(如i++),然后判断表达式2。这与while中的continue不同。
6.用循环计算1到100的累加和,循环结束后和应为( )
A.100
B.1000
C.4950
D.5050
【答案】D
【解析】1+2+...+100=5050。可以用for循环逐个累加,或用公式n(n+1)/2=100×101/2=5050。
7.以下关于do-while循环的说法,正确的是( )
A.循环体可能一次都不执行
B.循环体至少执行一次
C.与while循环完全相同
D.do-while可以省略while后的分号
【答案】B
【解析】do-while的特点是先执行循环体再判断条件,因此循环体至少执行一次。while后的分号不能省略。
8.以下哪个场景最适合使用死循环?( )
A.计算1+2+...+10
B.判断一个数是否是素数
C.操作系统的事件监听循环
D.输出1到100的偶数
【答案】C
【解析】死循环常用于需要持续运行的系统程序,如操作系统的事件监听循环,通过内部break条件退出。
9.以下代码段执行后c的值是( )
int i, c=0;
for(i=1;i<=10;i++) if(i%2==1) c++;
A.5
B.6
C.10
D.4
【答案】A
【解析】i从1到10,奇数1/3/5/7/9共5个满足i%2==1,c自增5次,结果为5。考查循环中计数的应用。
10.以下两段代码中,外层变量i的值( )
① for (i=0;i<3;i++) for (i=0;i<3;i++);
② for (i=0;i<3;i++) for (j=0;j<3;j++);
A.①中 i=3, ②中 i=3
B.①死循环,②中 i=3
C.①和②最终 i 都等于 3
D.①中 i 无定值,②中 i=3
【答案】C
【解析】①内外循环共用变量 i:外层 i 初始为 0,进入内层循环,内层循环执行结束后 i=3;回到外层执行 i++,i=4,不满足 i<3,外层循环终止,最终 i=3。不存在死循环。
②内外循环变量独立,外层循环执行 3 次后 i 自增至 3,循环结束,i=3。
两段代码执行完后 i 的值均为 3,选 C。
11.用循环在一组数中寻找最大值,初始max应设为( )
A.0
B.1
C.-1
D.第一个元素或足够小的值
【答案】D
【解析】找最大值时应将max初始化为第一个元素,或一个足够小的值。初始化为0可能在全负数时出错。
12.在现代C语言编程中,关于goto语句的普遍观点是( )
A.goto是高效的,应该多用
B.goto已经被C标准废除
C.应尽量避免使用goto,优先用结构化语句
D.goto只能在switch中使用
【答案】C
【解析】goto虽然未被废除,但在结构化编程中应尽量避免,优先使用if-else、循环、break、continue等结构化语句,以保持代码清晰可读。
13.for(i=5;i>0;i-=2)的循环体执行次数是( )
A.3
B.2
C.5
D.1
【答案】A
【解析】i依次为5、3、1,共3次。当i=1执行后i-=2变为-1,不满足i>0退出。考查循环次数的准确计算。
14.while循环中执行continue语句后,程序将( )
A.执行下一次循环体
B.跳出循环
C.执行循环体剩余部分
D.重新判断循环条件
【答案】D
【解析】while循环中continue直接跳转到条件判断处。与for不同:for中continue会先执行表达式3再判断,而while中直接判断条件。
15.用循环给数组a[10]所有元素赋值为0的正确方式是( )
A.int a[10]=0;
B.for(i=0;i<10;i++) a[i]=0;
C.a[10]={0};
D.int a[10]={0};(循环一次赋值)
【答案】B
【解析】循环逐一赋值:for(i=0;i<10;i++) a[i]=0。int a[10]={0}是初始化方式,但在循环语境中应使用循环遍历赋值。
16.for(i=0; ; i++)中省略表达式2的含义是( )
A.条件为假
B.条件为0
C.条件恒为真
D.程序编译错误
【答案】C
【解析】for循环省略表达式2(条件判断)时,默认为真,形成无限循环,等价于for(i=0;1;i++)。
17.语句for(i=0;i<1000000;i++); 的作用是( )
A.产生延时
B.什么都不做,编译器会优化掉
C.语法错误
D.计算i的值
【答案】A
【解析】循环体为空语句(;),循环仅执行i++计数,常用于产生程序延时。但优化编译器可能将其删除。
18.以下关于循环优化的说法,错误的是( )
A.减少循环体内不必要的计算
B.将不变表达式移到循环外
C.避免在循环内频繁调用函数
D.循环体越大执行速度越快
【答案】D
【解析】循环体越大,每次迭代开销越大,执行速度不会变快。优化应尽量减少循环体内的操作和计算。
19.for(i=0;i<3;i++) for(j=0;j<4;j++) 的内层循环体共执行( )
A.7
B.12
C.3
D.4
【答案】B
【解析】外层3次×内层4次=12次。嵌套循环的总执行次数=各层循环次数的乘积。
20.以下哪种情况最适合使用do-while循环?( )
A.循环次数已知
B.循环次数未知但条件先判断
C.至少需要执行一次循环体的情况
D.不需要循环
【答案】C
【解析】do-while保证循环体至少执行一次,适合“先做再判断”的场景,如菜单选择、输入验证等。
二、判断题(共10题,每题1分,共10分。)
1.for(i=0,j=5;i<3;i++,j--) 是一条语法正确的C语句。( )
【答案】√
【解析】for的三个表达式均可使用逗号表达式同时操作多个变量,这条语句合法。
2.for循环的表达式3除了自增自减,也可以是赋值、函数调用等其他合法表达式。( )
【答案】√
【解析】for的表达式3是每次迭代后执行的任意表达式,如i+=3、i=j+k、func()等均可。
3.while、do-while、for三种循环结构可以相互任意嵌套使用。( )
【答案】√
【解析】C语言中三种循环结构支持任意形式的嵌套,例如while内嵌套for、for内嵌套do-while等。
4.关键字break在switch语句中不能使用,只能用于循环结构。( )
【答案】×
【解析】break既可用于循环(跳出循环),也可用于switch语句(跳出switch结构)。
5.在循环体内修改循环条件中涉及的变量,会影响循环的实际执行次数。( )
【答案】√
【解析】在循环体内部修改条件变量的值,会直接影响条件表达式的真假结果,从而改变循环次数。
6.C语言标准规定循环嵌套的深度不得超过8层。( )
【答案】×
【解析】C语言标准未限制循环嵌套层数,只要系统资源允许,可嵌套任意层。
7.在循环内定义的static静态变量,每次循环迭代时都会被重新初始化为0。( )
【答案】×
【解析】static变量只在程序开始时初始化一次,后续循环迭代不会重新初始化,会保留上一次的值。
8.goto语句可以用于从深层嵌套的循环中直接跳出到循环外部。( )
【答案】√
【解析】goto可以从嵌套循环内部直接跳转到函数中任意标号位置,是跳出多重循环的方法之一。
9.嵌套循环中,内层循环体总共执行的次数只取决于内层循环自身的循环次数。( )
【答案】×
【解析】嵌套循环内层总执行次数=外层次数×内层次数,与外层循环密切相关。
10.do{}while(0)语句中,循环体一次也不会执行。( )
【答案】×
【解析】do-while先执行再判断,while(0)条件虽为假,但循环体已先执行了一次。
三、填空题(共5题,每题2分,共10分。)
1.在for循环中,表达式1、表达式2、表达式3之间用____符号分隔。
【答案】分号
【解析】for(表达式1;表达式2;表达式3),三个表达式必须用分号分隔,即使省略表达式分号也不能省略。
2.在for循环的表达式1中初始化多个变量时,各初始化语句之间用____符号分隔。
【答案】逗号
【解析】for(i=0,j=0;...)中i=0和j=0之间用逗号分隔,这是逗号表达式在for中的典型应用。
3.for( ; i<10; i++)中省略了____。
【答案】表达式1
【解析】for循环的第一个分号前为空表示省略了表达式1(初始化部分)。省略后循环变量需在for之前定义。
4.若循环体包含两条或以上的语句,必须用____将其括起来。
【答案】花括号
【解析】循环体默认只包含一条语句,多条语句需用花括号{}构成复合语句。这是循环的基本语法规则。
5.在循环结构中,____关键字可以使程序跳转到函数中任意标号处继续执行。
【答案】goto
【解析】goto可以跳转到同一函数内的任意标号位置,包括从循环外跳入或跳出。与break/continue不同,goto不限于循环结构。
四、读程序写结果题(共4题,每题5分,共20分。)
1.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int i, s = 0;
for (i = 2; i <= 6; i += 2)
s += i;
printf("%d", s);
return 0;
}
【答案】12
【解析】i依次为2、4、6,s=0+2+4+6=12。当i=8时i<=6不成立退出。考查for循环累加求和。
2.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int n = 6, f = 1;
while (n > 1)
{
f *= n;
n--;
}
printf("%d", f);
return 0;
}
【答案】720
【解析】计算6的阶乘:6×5×4×3×2=720。n从6递减到2,每次f累乘。考查while循环计算阶乘。
3.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int x = 7, s = 0;
do
{
s += x;
x -= 2;
} while (x > 0);
printf("%d", s);
return 0;
}
【答案】16
【解析】x依次为7→5→3→1,s=7+5+3+1=16。当x变为-1时x>0不成立退出。考查do-while循环的减步追迹能力。
4.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int a = 2, b = 1;
while (a <= 4)
{
b *= a;
a++;
}
printf("%d", b);
return 0;
}
【答案】24
【解析】a=2时b=1×2=2;a=3时b=2×3=6;a=4时b=6×4=24。a=5时退出。考查while循环的追迹计算。
五、编程题(共2题,每题10分,共20分。)
1.编写一个C程序,输出1到50之间所有能被7整除的整数。
【答案】
#include <stdio.h>
int main()
{
int i;
printf("1~50之间能被7整除的数:
");
for (i = 1; i <= 50; i++)
{
if (i % 7 == 0)
printf("%d ", i);
}
printf("
");
return 0;
}
【解析】用for循环遍历1~50,if判断i%7==0则输出。共有7、14、21、28、35、42、49。考查循环与条件判断的结合使用。
2.编写一个C程序,使用循环计算1×2+2×3+3×4+...+9×10的值并输出。
【答案】
#include <stdio.h>
int main()
{
int i, sum = 0;
for (i = 1; i <= 9; i++)
sum += i * (i + 1);
printf("%d", sum);
return 0;
}
【解析】通项为i×(i+1),i从1到9。用for循环累加sum+=i*(i+1),最终sum=330。考查循环中灵活使用表达式进行计算。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。
本试卷是第9卷,为知识训练卷,按《C语言程序设计》中“循环的控制”范围和要求编写。具体内容为:1.掌握while语句、do-while语句、for语句及编程。2.理解循环的嵌套。3.掌握break语句和continue语句的使用方法。4.理解并掌握循环语句与选择语句的结合使用。
吉林省高职分类(对口招生)考试
电子与信息类《考纲百套卷》
第9卷 C语言程序设计——循环的控制
(考试时间:45分钟 满分:100分)
一、单项选择题(共20题,每题2分,共40分。)
1.goto语句跳转的目标位置由什么标识?( )
A.数字编号
B.标号(标签)
C.变量名
D.函数名
2.以下关于goto语句的说法,正确的是( )
A.goto可以在同一函数内任意跳转
B.goto可以从一个函数跳转到另一个函数
C.goto是C语言中最常用的跳转语句
D.goto只能向前跳转
3.以下哪个不是合法的死循环写法?( )
A.while(1) { }
B.for(;;) { }
C.do { } while(1);
D.while(0) { }
4.为了提高循环执行效率,以下做法正确的是( )
A.把不变的计算放在循环体内
B.尽可能使用嵌套循环
C.将循环内不变的计算移到循环外
D.增加循环体内的函数调用
5.for循环中执行continue语句后,接下来会执行( )
A.表达式3(如i++)
B.下一次循环的表达式1
C.跳出循环
D.重新执行表达式1
6.用循环计算1到100的累加和,循环结束后和应为( )
A.100
B.1000
C.4950
D.5050
7.以下关于do-while循环的说法,正确的是( )
A.循环体可能一次都不执行
B.循环体至少执行一次
C.与while循环完全相同
D.do-while可以省略while后的分号
8.以下哪个场景最适合使用死循环?( )
A.计算1+2+...+10
B.判断一个数是否是素数
C.操作系统的事件监听循环
D.输出1到100的偶数
9.以下代码段执行后c的值是( )
int i, c=0;
for(i=1;i<=10;i++) if(i%2==1) c++;
A.5
B.6
C.10
D.4
10.以下两段代码中,外层变量i的值( )
① for (i=0;i<3;i++) for (i=0;i<3;i++);
② for (i=0;i<3;i++) for (j=0;j<3;j++);
A.①中 i=3, ②中 i=3
B.①死循环,②中 i=3
C.①和②最终 i 都等于 3
D.①中 i 无定值,②中 i=3
11.用循环在一组数中寻找最大值,初始max应设为( )
A.0
B.1
C.-1
D.第一个元素或足够小的值
12.在现代C语言编程中,关于goto语句的普遍观点是( )
A.goto是高效的,应该多用
B.goto已经被C标准废除
C.应尽量避免使用goto,优先用结构化语句
D.goto只能在switch中使用
13.for(i=5;i>0;i-=2)的循环体执行次数是( )
A.3
B.2
C.5
D.1
14.while循环中执行continue语句后,程序将( )
A.执行下一次循环体
B.跳出循环
C.执行循环体剩余部分
D.重新判断循环条件
15.用循环给数组a[10]所有元素赋值为0的正确方式是( )
A.int a[10]=0;
B.for(i=0;i<10;i++) a[i]=0;
C.a[10]={0};
D.int a[10]={0};(循环一次赋值)
16.for(i=0; ; i++)中省略表达式2的含义是( )
A.条件为假
B.条件为0
C.条件恒为真
D.程序编译错误
17.语句for(i=0;i<1000000;i++); 的作用是( )
A.产生延时
B.什么都不做,编译器会优化掉
C.语法错误
D.计算i的值
18.以下关于循环优化的说法,错误的是( )
A.减少循环体内不必要的计算
B.将不变表达式移到循环外
C.避免在循环内频繁调用函数
D.循环体越大执行速度越快
19.for(i=0;i<3;i++) for(j=0;j<4;j++) 的内层循环体共执行( )
A.7
B.12
C.3
D.4
20.以下哪种情况最适合使用do-while循环?( )
A.循环次数已知
B.循环次数未知但条件先判断
C.至少需要执行一次循环体的情况
D.不需要循环
二、判断题(共10题,每题1分,共10分。)
1.for(i=0,j=5;i<3;i++,j--) 是一条语法正确的C语句。( )
2.for循环的表达式3除了自增自减,也可以是赋值、函数调用等其他合法表达式。( )
3.while、do-while、for三种循环结构可以相互任意嵌套使用。( )
4.关键字break在switch语句中不能使用,只能用于循环结构。( )
5.在循环体内修改循环条件中涉及的变量,会影响循环的实际执行次数。( )
6.C语言标准规定循环嵌套的深度不得超过8层。( )
7.在循环内定义的static静态变量,每次循环迭代时都会被重新初始化为0。( )
8.goto语句可以用于从深层嵌套的循环中直接跳出到循环外部。( )
9.嵌套循环中,内层循环体总共执行的次数只取决于内层循环自身的循环次数。( )
10.do{}while(0)语句中,循环体一次也不会执行。( )
三、填空题(共5题,每题2分,共10分。)
1.在for循环中,表达式1、表达式2、表达式3之间用____符号分隔。
2.在for循环的表达式1中初始化多个变量时,各初始化语句之间用____符号分隔。
3.for( ; i<10; i++)中省略了____。
4.若循环体包含两条或以上的语句,必须用____将其括起来。
5.在循环结构中,____关键字可以使程序跳转到函数中任意标号处继续执行。
四、读程序写结果题(共4题,每题5分,共20分。)
1.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int i, s = 0;
for (i = 2; i <= 6; i += 2)
s += i;
printf("%d", s);
return 0;
}
2.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int n = 6, f = 1;
while (n > 1)
{
f *= n;
n--;
}
printf("%d", f);
return 0;
}
3.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int x = 7, s = 0;
do
{
s += x;
x -= 2;
} while (x > 0);
printf("%d", s);
return 0;
}
4.请阅读下列程序,写出运行结果。
#include <stdio.h>
int main()
{
int a = 2, b = 1;
while (a <= 4)
{
b *= a;
a++;
}
printf("%d", b);
return 0;
}
五、编程题(共2题,每题10分,共20分。)
1.编写一个C程序,输出1到50之间所有能被7整除的整数。
2.编写一个C程序,使用循环计算1×2+2×3+3×4+...+9×10的值并输出。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$