内容正文:
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第11卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第11卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.以下代码段的输出结果是( )
for (int i = 5; i > 0; i--) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 5 4 3 2 1
B. 5 4 2 1
C. 5 4
D. 无输出
答案:B
2.执行以下程序的输出结果是( )
main()
{int y=10;
while(y--);
printf("y=%d
",y);
getch();}
A. y=0
B. y=-1
C. y=1
D. y=-2
答案:B
3.若要计算 1 到 10 的阶乘之和(即 1! + 2! + ... + 10!),以下代码正确的是( )
A.
int sum = 0;
for (int i = 1; i <= 10; i++) {
int fact = 1;
for (int j = 1; j <= i; j++) {
fact *= j;
}
sum += fact;
}
B.
int sum = 0;
int fact = 1;
for (int i = 1; i <= 10; i++) {
fact *= i;
sum += fact;
}
C.
int sum = 0;
for (int i = 1; i <= 10; i++) {
int fact = 1;
for (int j = 1; j <= 10; j++) {
fact *= j;
}
sum += fact;
}
D. 以上都不正确
答案:A
4. 以下 while 循环的执行次数是( )
main()
{int i,j;
for (i=0,j=1; i<=j+1;i+=2,j--)
printf("%d
",i);
getch();}
A. 0 次
B. 1 次
C. 2 次
D. 3 次
答案:B
5. 以下嵌套 while 循环用于输出一个直角三角形,横线处应填的代码是( )
int i = 1, j;
while (i <= 5) {
j = 1;
while (j <= ______) {
printf("*");
j++;
}
printf("
");
i++;
}
A. i
B. 5 - i
C. 5
D. i + 1
答案:A
6. 以下 while 循环用于输入一个正整数,直到输入的数大于 100 为止,横线处应填的代码是( )
int num;
scanf("%d", &num);
while (______) {
scanf("%d", &num);
}
A. num > 100
B. num < 100
C. num >= 100
D. num <= 100
答案:B
7. 以下代码段的输出结果是( )
int i = 1;
do {
printf("%d ", i);
i *= 2;
} while (i < 10);
A. 1 2 4 8
B. 1 2 4 8 16
C. 1
D. 无输出
答案:A
8. 执行以下程序时,输入数据:12<回车>,则输出结果是( )
main()
{int num,c;
scanf("%d",&num);
do{c=num%10; printf("%d",c);}
while((num/=10)>0);
printf("
");
getch();}
A. 3
B. 12
C. 21
D. 24
答案:C
9. 执行以下程序的输出结果是( )
main()
{ int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{case 0:
case 3: a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}}
printf("%d
",a);
getch();}
A. 31
B. 13
C. 10
D. 20
答案:D
10.以下代码的输出结果是( )
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
printf("%d ", i);
}
return 0;
}
A. 1 2 3 4 5
B. 1 2 4 5
C. 1 2
D. 3
答案:B
二、判断题(本大题共10小题,每小题2分,共20分)
1.在do……while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。。( )
答案:正确
2.下列程序执行后的循环次数为2次。( )
main()
{int k=2;
while(k=0)
k--;
getch();}
答案:错误
3. 在 for 循环的初始化部分声明的变量,其作用域仅限于该 for 循环内部。( )
答案:正确
4.执行以下程序的运行结果是:10,9,8。( )
main()
{int n=10;
while(n>7)
{n--;
printf("%d",n);}
getch();}
答案:错误
5. 以下代码的输出结果是 0:
int i = 0;
while (i < 5) {
if (i == 3) {
continue;
}
i++;
}
printf("%d", i);
答案:错误
6. 执行以下程序段的输出结果为:963。( )
main()
{ int y=9;
for(;y>0;y--)
if(y%3==0)
{ printf("%d",--y); }
getch();}
答案:错误
7. 以下嵌套 while 循环的内层循环体执行次数为 10 次:( )
int i = 0, j;
while (i < 5) {
j = 0;
while (j < 2) {
// 内层循环体
j++;
}
i++;
}
答案:正确
8.执行下列程序后的输出结果是:37。
main()
{ int sum=10,n=1;
while(n<3) {sum=sum-n; n++; }
printf("%d,%d",n,sum);
getch();}
答案:错误
9.执行下列程序后的输出结果是:123。
main()
{int num=0;
while(num<=2){ num++;printf("%d",num);}
getch();}
答案:正确
10.执行以下程序时输入:1<回车>,其输出结果是12。( )
main()
{int s=0,a=5,n;
scanf("%d",&n);
do{s+=1;a=a-2;}
while(a!=n);
printf("%d%d
",s,a);
getch();}
答案:错误
三、填空题(本大题共5小题,每题2分,共10分)
1. 以下 for 循环用于计算 1 到 50 之间所有奇数的和,横线处应填的代码是 ______。
int sum = 0;
for(int i = 1; i <= 50; ______) {
sum += i;
}
答案:i += 2
2. 以下 for 循环用于找出 1 到 200 中所有能被 4 整除但不能被 100 整除的数并输出,横线处应填的代码是 ______。
for(int i = 1; i <= 200; i++) {
if(______) {
printf("%d ", i);
}
}
答案:i % 4 == 0 && i % 100 != 0
3.以下 while 循环用于计算 1 到 100 中所有能被 3 整除的数的和,横线处应填的代码是 ______。
int sum = 0, i = 1;
while (i <= 100) {
if (______) {
sum += i;
}
i++;
}
答案:i % 3 == 0
4. 以下嵌套 while 循环用于输出如下图案:
*
**
***
****
*****
横线处应填的代码是 ______。
int i = 1, j, k;
while (i <= 5) {
j = 1;
while (j <= 5 - i) {
printf(" ");
j++;
}
k = 1;
while (k <= ______) {
printf("*");
k++;
}
printf("
");
i++;
}
答案:i
5.下列程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,横线处应该填入的代码是______。
main()
{int a,max=0;
scanf("%d",&a);
while( )
{if(max<a) max=a;
scanf("%d",&a);}
printf("%d",max);
getch();}
答案:a或a!=0
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
return 0;
}
答案:1 2
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 3; i++) {
switch (i) {
case 1:
printf("%d ", i);
break;
case 2:
printf("%d ", i);
continue;
default:
break;
}
printf("End
");
}
return 0;
}
答案:
1 End
2
3.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#define N 4
main()
{ int i;
int x1=1,x2=2;
for(i=1;i<=N;i++)
{ printf("%4d%4d",x1,x2);
if(i%2==0)
printf("
");
x1=x1+x2;
x2=x2+x1;
}
getch();}
答案:
1 2 3 5
8 13 21 34
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
if (i + j > 4) {
break;
}
printf("%d %d
", i, j);
}
}
return 0;
}
答案:
1 1
1 2
1 3
2 1
2 2
3 1
5.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#define N 4
main( )
{ int i,j;
for(i=1;i<=N;i++)
{
for(j=1;j<i;j++)
printf(" ");
printf("*");
printf("
");
}
getch();}
答案:
*
*
*
*
五、编程题(本大题共5小题,每题5分,共25分)
1. 编写一个程序,使用 for 循环计算 1 到 100 之间所有偶数的和。
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 2; i <= 100; i += 2) {
sum += i;
}
printf("1 到 100 之间所有偶数的和为: %d
", sum);
return 0;
}
2. 一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,一共经过多少米,第10次反弹多高。
#include <stdio.h>
#include <conio.h>
main( )
{double sn=100,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{sn=sn+2*hn;
hn=hn/2;}
printf("第10次落地时共经过%f米。
",sn);
printf("第10次反弹%f米。
",hn);
getch();}
3. 编写一个程序,使用 do - while 循环判断一个整数是否是回文数(正读和反读都一样的数)。
#include <stdio.h>
int main() {
int num, originalNum, reversedNum = 0;
printf("请输入一个整数: ");
scanf("%d", &num);
originalNum = num;
do {
reversedNum = reversedNum * 10 + num % 10;
num /= 10;
} while (num != 0);
if (originalNum == reversedNum) {
printf("%d 是回文数。
", originalNum);
} else {
printf("%d 不是回文数。
", originalNum);
}
return 0;
}
4. 编写一个程序,使用嵌套 while 循环找出 1 到 100 之间所有的完数。
#include <stdio.h>
int main() {
int i = 1;
while (i <= 100) {
int sum = 0;
int j = 1;
while (j < i) {
if (i % j == 0) {
sum += j;
}
j++;
}
if (sum == i) {
printf("%d 是完数。
", i);
}
i++;
}
return 0;
}
5. 编写程序,输出以下图案。
#include <stdio.h>
#include <conio.h>
main( )
{int i,j,k;
for(i=0;i<=3;i++)
{for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("
");}
for(i=0;i<=2;i++)
{for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("
");}
getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:2026版吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第11卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
2026版吉林省《信息工程类(电子与信息类)考纲百套卷》第11卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.以下代码段的输出结果是( )
for (int i = 5; i > 0; i--) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 5 4 3 2 1
B. 5 4 2 1
C. 5 4
D. 无输出
2.执行以下程序的输出结果是( )
main()
{int y=10;
while(y--);
printf("y=%d
",y);
getch();}
A. y=0
B. y=-1
C. y=1
D. y=-2
3.若要计算 1 到 10 的阶乘之和(即 1! + 2! + ... + 10!),以下代码正确的是( )
A.
int sum = 0;
for (int i = 1; i <= 10; i++) {
int fact = 1;
for (int j = 1; j <= i; j++) {
fact *= j;
}
sum += fact;
}
B.
int sum = 0;
int fact = 1;
for (int i = 1; i <= 10; i++) {
fact *= i;
sum += fact;
}
C.
int sum = 0;
for (int i = 1; i <= 10; i++) {
int fact = 1;
for (int j = 1; j <= 10; j++) {
fact *= j;
}
sum += fact;
}
D. 以上都不正确
4. 以下 while 循环的执行次数是( )
main()
{int i,j;
for (i=0,j=1; i<=j+1;i+=2,j--)
printf("%d
",i);
getch();}
A. 0 次
B. 1 次
C. 2 次
D. 3 次
5. 以下嵌套 while 循环用于输出一个直角三角形,横线处应填的代码是( )
int i = 1, j;
while (i <= 5) {
j = 1;
while (j <= ______) {
printf("*");
j++;
}
printf("
");
i++;
}
A. i
B. 5 - i
C. 5
D. i + 1
6. 以下 while 循环用于输入一个正整数,直到输入的数大于 100 为止,横线处应填的代码是( )
int num;
scanf("%d", &num);
while (______) {
scanf("%d", &num);
}
A. num > 100
B. num < 100
C. num >= 100
D. num <= 100
7. 以下代码段的输出结果是( )
int i = 1;
do {
printf("%d ", i);
i *= 2;
} while (i < 10);
A. 1 2 4 8
B. 1 2 4 8 16
C. 1
D. 无输出
8. 执行以下程序时,输入数据:12<回车>,则输出结果是( )
main()
{int num,c;
scanf("%d",&num);
do{c=num%10; printf("%d",c);}
while((num/=10)>0);
printf("
");
getch();}
A. 3
B. 12
C. 21
D. 24
9. 执行以下程序的输出结果是( )
main()
{ int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{case 0:
case 3: a+=2;
case 1:
case 2: a+=3;
default: a+=5;
}}
printf("%d
",a);
getch();}
A. 31
B. 13
C. 10
D. 20
10.以下代码的输出结果是( )
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
printf("%d ", i);
}
return 0;
}
A. 1 2 3 4 5
B. 1 2 4 5
C. 1 2
D. 3
二、判断题(本大题共10小题,每小题2分,共20分)
1.在do……while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。。( )
2.下列程序执行后的循环次数为2次。( )
main()
{int k=2;
while(k=0)
k--;
getch();}
3. 在 for 循环的初始化部分声明的变量,其作用域仅限于该 for 循环内部。( )
4.执行以下程序的运行结果是:10,9,8。( )
main()
{int n=10;
while(n>7)
{n--;
printf("%d",n);}
getch();}
5. 以下代码的输出结果是 0:
int i = 0;
while (i < 5) {
if (i == 3) {
continue;
}
i++;
}
printf("%d", i);
6. 执行以下程序段的输出结果为:963。( )
main()
{ int y=9;
for(;y>0;y--)
if(y%3==0)
{ printf("%d",--y); }
getch();}
7. 以下嵌套 while 循环的内层循环体执行次数为 10 次:( )
int i = 0, j;
while (i < 5) {
j = 0;
while (j < 2) {
// 内层循环体
j++;
}
i++;
}
8.执行下列程序后的输出结果是:37。
main()
{ int sum=10,n=1;
while(n<3) {sum=sum-n; n++; }
printf("%d,%d",n,sum);
getch();}
9.执行下列程序后的输出结果是:123。
main()
{int num=0;
while(num<=2){ num++;printf("%d",num);}
getch();}
10.执行以下程序时输入:1<回车>,其输出结果是12。( )
main()
{int s=0,a=5,n;
scanf("%d",&n);
do{s+=1;a=a-2;}
while(a!=n);
printf("%d%d
",s,a);
getch();}
三、填空题(本大题共5小题,每题2分,共10分)
1. 以下 for 循环用于计算 1 到 50 之间所有奇数的和,横线处应填的代码是 ______。
int sum = 0;
for(int i = 1; i <= 50; ______) {
sum += i;
}
2. 以下 for 循环用于找出 1 到 200 中所有能被 4 整除但不能被 100 整除的数并输出,横线处应填的代码是 ______。
for(int i = 1; i <= 200; i++) {
if(______) {
printf("%d ", i);
}
}
3.以下 while 循环用于计算 1 到 100 中所有能被 3 整除的数的和,横线处应填的代码是 ______。
int sum = 0, i = 1;
while (i <= 100) {
if (______) {
sum += i;
}
i++;
}
4. 以下嵌套 while 循环用于输出如下图案:
*
**
***
****
*****
横线处应填的代码是 ______。
int i = 1, j, k;
while (i <= 5) {
j = 1;
while (j <= 5 - i) {
printf(" ");
j++;
}
k = 1;
while (k <= ______) {
printf("*");
k++;
}
printf("
");
i++;
}
5.下列程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,横线处应该填入的代码是______。
main()
{int a,max=0;
scanf("%d",&a);
while( )
{if(max<a) max=a;
scanf("%d",&a);}
printf("%d",max);
getch();}
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
return 0;
}
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 3; i++) {
switch (i) {
case 1:
printf("%d ", i);
break;
case 2:
printf("%d ", i);
continue;
default:
break;
}
printf("End
");
}
return 0;
}
3.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#define N 4
main()
{ int i;
int x1=1,x2=2;
for(i=1;i<=N;i++)
{ printf("%4d%4d",x1,x2);
if(i%2==0)
printf("
");
x1=x1+x2;
x2=x2+x1;
}
getch();}
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= 3; j++) {
if (i + j > 4) {
break;
}
printf("%d %d
", i, j);
}
}
return 0;
}
5.以下程序的运行结果是______。
#include <stdio.h>
#include <conio.h>
#define N 4
main( )
{ int i,j;
for(i=1;i<=N;i++)
{
for(j=1;j<i;j++)
printf(" ");
printf("*");
printf("
");
}
getch();}
五、编程题(本大题共5小题,每题5分,共25分)
1. 编写一个程序,使用 for 循环计算 1 到 100 之间所有偶数的和。
2. 一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第10次落地时,一共经过多少米,第10次反弹多高。
3. 编写一个程序,使用 do - while 循环判断一个整数是否是回文数(正读和反读都一样的数)。
4. 编写一个程序,使用嵌套 while 循环找出 1 到 100 之间所有的完数。
5. 编写程序,输出以下图案。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$