内容正文:
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第14卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第14卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.若要实现 1 到 100 的整数求和,以下 for 循环正确的是( )
A.
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
B.
int sum = 0;
for (int i = 1; i < 100; i++) {
sum += i;
}
C.
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
D.
int sum = 0;
for (int i = 0; i < 100; i++) {
sum += i;
}
答案:A
2.以下代码段的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
A. 0 1 2 3
B. 0 1 2
C. 0 1 2 3 4
D. 无输出
答案:B
3.执行以下程序的输出结果是( )
main( )
{ int a=1,b;
for(b=1;b<=10;b++)
{ if(a>=8) break;
if(a%2==1)
{a+=5; continue;}
a-=3;}
printf("%d
",b);
getch();}
A. 3
B. 4
C. 5
D. 6
答案:B
4. 以下代码段的输出结果是( )
int i = 0;
do {
if (i % 2 == 0) {
printf("%d ", i);
}
i++;
} while (i < 5);
A. 0 2 4
B. 0 1 2 3 4
C. 1 3
D. 无输出
答案:A
5. 以下代码段的输出结果是( )
int i = 5;
while (i > 0) {
if (i == 3) {
i--;
continue;
}
printf("%d ", i);
i--;
}
A. 5 4 3 2 1
B. 5 4 2 1
C. 5 4
D. 无输出
答案:B
6. 以下代码段的输出结果是( )
int i = 0;
while (i < 5) {
if (i % 2 == 1) {
i++;
continue;
}
printf("%d ", i);
i++;
}
A. 0 2 4
B. 1 3
C. 0 1 2 3 4
D. 无输出
答案:A
7. 以下 do-while 循环用于将一个整数逆序输出,横线处应填的代码是( )
int num, digit;
scanf("%d", &num);
do {
digit = num % 10;
printf("%d", digit);
num /= 10;
} while (______);
A. num > 0
B. num >= 0
C. num != 0
D. num < 0
答案:C
8. 执行以下程序的输出结果是( )
main( )
{int i,j,m=0,n=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
if(j>=i) m=1;
n++;
printf("%d
",n);
getch();}
A. 1
B. 2
C. 3
D. 4
答案:A
9. 以下 while 循环代码的输出结果是( )
int x = 10;
while (x > 7) {
if (x % 2 == 0) {
x -= 2;
continue;
}
printf("%d ", x);
x--;
}
A. 10
B. 10 9
C. 9
D. 无输出
答案:C
10.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )
A. while((ch=getchar())!='N' printf("%c",ch) ;
B. while(ch=getchar()!='N' printf("%c",ch) ;
C. while(ch=getchar())=='N' printf("%c",ch);
D. while((ch=getchar())=='N' printf("%c",ch);
答案:A
二、判断题(本大题共10小题,每小题2分,共20分)
1.下列程序中的while循环一次也未执行。( )
int k=10; while(k=0) k=k-1;
答案:错误
2.执行下列程序段后,k的值为35。( )
k=1;n=263;
do{ k*=n%10; n/=10;}while(n);
答案:错误
3. 下列程序段中的do……while循环体执行次数是3。( )
a=10; b=0;
do{ b+=2; a-=2+b;}while(a>=0);
答案:正确
4. 以下代码中,while 循环是无限循环:
int i = 1;
while (i = 1) {
// 循环体
i++;
}
答案:正确
5. 下列程序段中do……while循环体的输出结果是:***。( )
x=2;
do { printf ("* "); x--;} while(!x==0);
答案:错误
6. 执行以下程序段后,a的值为-4。( )
i=1; a=0;s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
答案:错误
7. 在嵌套的 while 循环中,内层循环的执行次数只与内层循环的条件有关,与外层循环无关。
答案:错误
8.在 for 循环中,break 语句执行后,循环会立即终止,程序将继续执行循环后面的语句。
答案:正确
9.下列程序段中的while循环没有构成死循环。( )
int i=6;
while(i);--i;
答案:错误
10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。
答案:错误
三、填空题(本大题共5小题,每题2分,共10分)
1. 以下代码用于输出一个由数字组成的直角三角形,横线处应填的代码是 ______。
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= ______; j++) {
printf("%d ", j);
}
printf("
");
}
答案:i
2. 若要使用 for 循环输出 10 个连续的字符 @,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______。
for(______; ______; ______) {
printf("@");
}
答案:int i = 0;i < 10;i++
3. 以下嵌套 while 循环用于输出一个直角三角形图案,横线处应填的代码是 ______。
main( )
{int n,m=0;
scanf("%d",&n);
for( ;n!=0;)
{ ;
n/=10;}
printf("%d",m);
getch();}
答案:m+=n%10或m=m+n%10
4. 以下程序段的功能是计算一个整数的各位数字之和,则横线处应该填入的代码是 ______。
int i = 0, j;
while (i < 4) {
j = 0;
while (j < i + 1) {
// 内层循环体
j++;
}
i++;
}
答案:10
5.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,则程序中横线处应该填入的代码是____________ 。
main( )
{int i=0,j,k;
do{i++;
k=316-13*i;
}while( );
j=k/11;
printf("316=13*%d+11*%d",i,j);
getch();}
答案:k%11
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main( )
{ int i=0,x=0,y=0;
do
{ ++i;
if (i%2!=0) {x=x+i++;i++;}
y=y+i++;
} while (i<=7);
printf("x=%d,y=%d
",x,y);
getch();}
答案:x=6,y=10
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
while (1) {
if (i == 3) {
i++;
continue;
}
if (i == 5) {
break;
}
printf("%d ", i);
i++;
}
return 0;
}
答案:0 1 2 4
3.执行以下程序时,从键盘输入:1 2 3 4 5 -1<回车>,则该程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main( )
{ int k=0,n;
do
{ scanf("%d",&n);k+=n;
}while (n!=-1);
printf("k=%d n=%d
",k,n);
getch();}
答案:k=14 n=-1
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 1;
do {
if (i % 3 == 0) {
i++;
continue;
}
if (i == 5) {
break;
}
printf("%d ", i);
i++;
} while (1);
return 0;
}
答案:1 2 4
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
while (i < 6) {
if (i % 3 == 0) {
if (i == 3) {
i++;
continue;
}
i += 2;
if (i == 4) {
break;
}
continue;
}
printf("%d ", i);
i++;
}
return 0;
}
答案:1 2
五、编程题(本大题共5小题,每题5分,共25分)
1. 任何一个自然数n的立方均可写成n个连续奇数之和。例如:
13=1
23=3+5
33=7+9+11
43=13+15+17+19
#include <stdio.h>
#include <conio.h>
main( )
{int n,i,m;
printf("输入一个数:
");
scanf("%d",&n);
m=(n*n-n)/2;
printf("%d 的立方=",n);
for(i=1;i<2*n-1;i=i+2)
printf("%d+",2*m+i);
printf("%d
",2*m+i);
getch();}
2. 编写一个程序,使用 for 循环计算 5 的阶乘。
#include <stdio.h>
int main() {
int factorial = 1;
for (int i = 1; i <= 5; i++) {
factorial *= i;
}
printf("5 的阶乘为: %d
", factorial);
return 0;
}
3. 编写一个程序,使用 while 循环计算斐波那契数列的前 10 项。
#include <stdio.h>
int main() {
int a = 0, b = 1, c;
int count = 0;
while (count < 10) {
printf("%d ", a);
c = a + b;
a = b;
b = c;
count++;
}
printf("
");
return 0;
}
4. 编写一个程序,使用 do - while 循环找出用户输入的一组整数中的最大值。
#include <stdio.h>
int main() {
int num, max;
int first = 1;
do {
printf("请输入一个整数(输入 0 结束): ");
scanf("%d", &num);
if (first) {
max = num;
first = 0;
} else if (num != 0 && num > max) {
max = num;
}
} while (num != 0);
if (!first) {
printf("输入的整数中的最大值为: %d
", max);
} else {
printf("没有输入有效整数。
");
}
return 0;
}
5. 编写程序,实现计算3到m之间所有素数的平方根之和,并输出。
#include <stdio.h>
#include <conio.h>
#include<math.h>
main( )
{int n,k,i,m;
double sum=0.0;
printf("请输入m:");
scanf("%d",&m);
for(n=3;n<=m;n++)
{k=sqrt((double)n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i>k) //是素数
sum=sum+sqrt((double)n);
}
printf("sum=%lf
",sum);
getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第14卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第14卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.若要实现 1 到 100 的整数求和,以下 for 循环正确的是( )
A.
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
B.
int sum = 0;
for (int i = 1; i < 100; i++) {
sum += i;
}
C.
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
D.
int sum = 0;
for (int i = 0; i < 100; i++) {
sum += i;
}
2.以下代码段的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
A. 0 1 2 3
B. 0 1 2
C. 0 1 2 3 4
D. 无输出
3.执行以下程序的输出结果是( )
main( )
{ int a=1,b;
for(b=1;b<=10;b++)
{ if(a>=8) break;
if(a%2==1)
{a+=5; continue;}
a-=3;}
printf("%d
",b);
getch();}
A. 3
B. 4
C. 5
D. 6
4. 以下代码段的输出结果是( )
int i = 0;
do {
if (i % 2 == 0) {
printf("%d ", i);
}
i++;
} while (i < 5);
A. 0 2 4
B. 0 1 2 3 4
C. 1 3
D. 无输出
5. 以下代码段的输出结果是( )
int i = 5;
while (i > 0) {
if (i == 3) {
i--;
continue;
}
printf("%d ", i);
i--;
}
A. 5 4 3 2 1
B. 5 4 2 1
C. 5 4
D. 无输出
6. 以下代码段的输出结果是( )
int i = 0;
while (i < 5) {
if (i % 2 == 1) {
i++;
continue;
}
printf("%d ", i);
i++;
}
A. 0 2 4
B. 1 3
C. 0 1 2 3 4
D. 无输出
7. 以下 do-while 循环用于将一个整数逆序输出,横线处应填的代码是( )
int num, digit;
scanf("%d", &num);
do {
digit = num % 10;
printf("%d", digit);
num /= 10;
} while (______);
A. num > 0
B. num >= 0
C. num != 0
D. num < 0
8. 执行以下程序的输出结果是( )
main( )
{int i,j,m=0,n=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
if(j>=i) m=1;
n++;
printf("%d
",n);
getch();}
A. 1
B. 2
C. 3
D. 4
9. 以下 while 循环代码的输出结果是( )
int x = 10;
while (x > 7) {
if (x % 2 == 0) {
x -= 2;
continue;
}
printf("%d ", x);
x--;
}
A. 10
B. 10 9
C. 9
D. 无输出
10.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )
A. while((ch=getchar())!='N' printf("%c",ch) ;
B. while(ch=getchar()!='N' printf("%c",ch) ;
C. while(ch=getchar())=='N' printf("%c",ch);
D. while((ch=getchar())=='N' printf("%c",ch);
二、判断题(本大题共10小题,每小题2分,共20分)
1.下列程序中的while循环一次也未执行。( )
int k=10; while(k=0) k=k-1;
2.执行下列程序段后,k的值为35。( )
k=1;n=263;
do{ k*=n%10; n/=10;}while(n);
3. 下列程序段中的do……while循环体执行次数是3。( )
a=10; b=0;
do{ b+=2; a-=2+b;}while(a>=0);
4. 以下代码中,while 循环是无限循环:
int i = 1;
while (i = 1) {
// 循环体
i++;
}
5. 下列程序段中do……while循环体的输出结果是:***。( )
x=2;
do { printf ("* "); x--;} while(!x==0);
6. 执行以下程序段后,a的值为-4。( )
i=1; a=0;s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
7. 在嵌套的 while 循环中,内层循环的执行次数只与内层循环的条件有关,与外层循环无关。
8.在 for 循环中,break 语句执行后,循环会立即终止,程序将继续执行循环后面的语句。
9.下列程序段中的while循环没有构成死循环。( )
int i=6;
while(i);--i;
10.若 for 循环的条件表达式始终为真,使用 break 语句也无法终止该循环。
三、填空题(本大题共5小题,每题2分,共10分)
1. 以下代码用于输出一个由数字组成的直角三角形,横线处应填的代码是 ______。
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= ______; j++) {
printf("%d ", j);
}
printf("
");
}
2. 若要使用 for 循环输出 10 个连续的字符 @,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______。
for(______; ______; ______) {
printf("@");
}
3. 以下嵌套 while 循环用于输出一个直角三角形图案,横线处应填的代码是 ______。
main( )
{int n,m=0;
scanf("%d",&n);
for( ;n!=0;)
{ ;
n/=10;}
printf("%d",m);
getch();}
4. 以下程序段的功能是计算一个整数的各位数字之和,则横线处应该填入的代码是 ______。
int i = 0, j;
while (i < 4) {
j = 0;
while (j < i + 1) {
// 内层循环体
j++;
}
i++;
}
5.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,则程序中横线处应该填入的代码是____________ 。
main( )
{int i=0,j,k;
do{i++;
k=316-13*i;
}while( );
j=k/11;
printf("316=13*%d+11*%d",i,j);
getch();}
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main( )
{ int i=0,x=0,y=0;
do
{ ++i;
if (i%2!=0) {x=x+i++;i++;}
y=y+i++;
} while (i<=7);
printf("x=%d,y=%d
",x,y);
getch();}
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
while (1) {
if (i == 3) {
i++;
continue;
}
if (i == 5) {
break;
}
printf("%d ", i);
i++;
}
return 0;
}
3.执行以下程序时,从键盘输入:1 2 3 4 5 -1<回车>,则该程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
main( )
{ int k=0,n;
do
{ scanf("%d",&n);k+=n;
}while (n!=-1);
printf("k=%d n=%d
",k,n);
getch();}
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 1;
do {
if (i % 3 == 0) {
i++;
continue;
}
if (i == 5) {
break;
}
printf("%d ", i);
i++;
} while (1);
return 0;
}
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
while (i < 6) {
if (i % 3 == 0) {
if (i == 3) {
i++;
continue;
}
i += 2;
if (i == 4) {
break;
}
continue;
}
printf("%d ", i);
i++;
}
return 0;
}
五、编程题(本大题共5小题,每题5分,共25分)
1. 任何一个自然数n的立方均可写成n个连续奇数之和。例如:
13=1
23=3+5
33=7+9+11
43=13+15+17+19
2. 编写一个程序,使用 for 循环计算 5 的阶乘。
3. 编写一个程序,使用 while 循环计算斐波那契数列的前 10 项。
4. 编写一个程序,使用 do - while 循环找出用户输入的一组整数中的最大值。
5. 编写程序,实现计算3到m之间所有素数的平方根之和,并输出。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$