内容正文:
编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。
本试卷是2026版江苏省《计算机类专业考纲百套卷》的第20卷,是知识点训练卷。按“C语言”考试纲要七、循环结构程序设计部分内容编写,具体知识点内容如下:
七、循环结构程序设计
1.掌握for 循环结构;
2.理解while和do while循环结构;
3.掌握continue语句、break语句;
4.理解循环的嵌套;
5.掌握程序设计中的几种常用算法的基本思想(常用算法为:排序,查找,穷举。排序主要为插入排序法,选择排序法,冒泡排序法。查找主要为顺序查找和对半查找)。
2026版江苏省《计算机类专业考纲百套卷》第20卷
《 C语言 》
循环结构程序设计
知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、程序分析题。(每空2分,合计29空,共58分)
1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include <stdio.h>
(2)void main()
(3){
(4)int i,a=0,b=0;
(5)for(i=1;i<10;i++)
(6){
(7) if(i%2==0)
(8) {
(9) a++;
(10) continue;
(11) }
(12) b++;
(13) }
(14)printf("a=%d,b=%d",a,b);
(15)}
以上程序中,使用了_____①____循环语句,该循环体总共执行了_____②___次,语句a++;一共执行了______③_____次,第10行中的语句部分功能是______④_____。
2. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include <stdio.h>
(2)void main()
(3){
(4)int a=1,b=10;
(5)do
(6){
(7) b-=a;
(8) a++;
(9)}while(b- -<0);
(10)printf("a=%d,b=%d
",a,b);
(11)}
在上述程序中,使用了_____①___循环结构,判断循环条件的语句是_____②____;循环体执行部分在程序的第____③_____行,变量的定义在程序的第______④_____行。
3. 阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
void main()
{
int mid,i,j,k,n=5;
mid =______①____;
for (i = 0; i <= mid; i++)
{
for (j = 0; j <_____②____; j++)
printf(" ");
for (k = 0;______③_____; k++)
printf("*");
printf("
");
}
for (i =_____④_____; i >= 0; i- -)
{
for (j = 0; j < mid - i; j++)
printf(" ");
for (k = 0; k < 2 * i + 1; k++)
printf("*");
printf("
");
}
}
4. 下列程序的功能是:求 ,直到第10项为之。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int i;
_______①_______;
for(i=1;i<=10;i++)
{
s=_____②_____;
e=_____③_____;
}
printf("%f",e);
}
5. 下列程序的功能是:输入两个正整数m和n,编程求出其最小公倍数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int m,n,k;
printf("请输入2个整数:");
scanf("%d%d",&m,&n);
k=m;
while(__________)
{
if(___________)
break;
k++;
}
printf("%d",k);
}
6. 下列程序的功能是从键盘输入若干个学生的程序(学生人数未知),输入负数时表示输入结束,最后求出所输入的学生成绩中,最高分的成绩。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int i=0,score,max=0;
do
{
printf("请输入第%d个学生的成绩:",_____①___);
scanf("%d",&score);
if(score>max)
_____②_____;
i++;
}while(______③_____);
printf("最高分为:%d
",max);
}
7. 下列程序的功能是:输出 1000 以内的所有素数,并统计素数的个数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
#include <math.h>
int main() {
int i,j,is_prime;
int count = 0;
// 2是最小的素数,单独处理
printf("2 ");
______①______;
// 大于2的素数都是奇数,只判断奇数
for (___________②___________) {
is_prime = 1;
for (j = 3; j <= sqrt(i); j += 2) {
if (______③______) {
is_prime = 0;
_______④______;
}
}
if (is_prime) {
printf("%d ", i);
count++;
}
}
printf("
1000以内素数共有:%d个
", count);
}
8. 下列程序的功能是:公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 3 只一文钱。用 100 文钱买 100 只鸡,求出公鸡、母鸡、小鸡各多少只。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
int main() {
int cock, hen, chick;
printf("可能的买法:
");
for (____①___; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chick =________②______;
if (________③_________)
{
printf("公鸡:%d,母鸡:%d,小鸡:%d
", cock, hen, chick);
}
}
}
}
9. 阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
#include<math.h>
int main()
{
int num,a,b,c,d;
printf("4位自幂数:");
for (num = 1000; num <= 9999; num++)
{
a = num / 1000;
b = num / 100 % 10;
c =_______①_______;
d = num % 10;
if (__________②__________)
{
printf("%d ", num);
}
}
printf("
");
}
三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分)
1. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main() {
int i, j, k = 0;
for (i = 1; i <= 12; i++) {
for (j = 1; j <= 3; j++) {
if (j % 2 == 0) k += i;
}
}
printf("%d", k);
}
2. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 1, y = 1;
for (; x <= 2; x++)
{
y = x;
do
{
printf("%d", y);
y--;
} while (y >= 1);
printf(" ");
}
}
3. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 1, b = 1;
while (a + b <= 6)
{
a = a + b;
b = a - b;
printf("%d ", a);
}
}
4. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 1, y = 1, t = 0;
for (; x <= 3; x++)
{
y = x;
while (y > 0)
{
t += x % y;
y--;
}
}
printf("%d", t);
}
5. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i, j, s = 0;
for (i = 1; i <= 6; i++)
{
for (j = 1; j <= i; j++)
{
s += (i + j) / 2;
}
}
printf("%d", s);
}
6. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 1, b = 1, c = 0;
while (a <= 5)
{
do {
c += a / b;
b++;
if (c > 3)
{
b = 1;
break;
}
} while (b <= a);
a++;
}
printf("%d", c);
}
7. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i = 1, j = 1, s = 0;
for (; i <= 4; i++)
{
for (j = i; j <= 4; j++)
{
s += i * j;
if (s % 5 == 0) {
j = 5;
break;
}
}
}
printf("%d", s);
}
8. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int m = 2, n = 5, t = 0;
do {
while (n > m)
{
t += n - m;
n--;
if (t > 5)
{
m++;
break;
}
}
m++;
} while (m < 4);
printf("%d", t);
}
9. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i = 2, j = 2, k = 0;
do {
for (j = 2; j <= i; j++)
{
if (i % j == 0)
{
k++;
break;
}
}
i++;
} while (i <= 5);
printf("%d", k);
}
10. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 2, y = 2;
do
{
x *= y;
y++;
if (x > 10)
{
y = x - y;
x /= 2;
}
} while (x < 15);
printf("%d %d", x, y);
}
11. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int p = 5, q = 1, sum = 0;
while (p > 0)
{
sum += p / q;
q++;
if (q > p)
{
p -= 2;
q = 1;
}
}
printf("%d", sum);
}
12. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 0, y = 0;
int i, j;
for(i = 1; i <= 3; i++) {
for(j = 1; j <= 4; j++) {
if(i + j == 5) {
x += 2;
continue;
}
if(j - i == 2) {
y += 3;
break;
}
x++;
y--;
}
printf("i=%d: x=%d, y=%d
", i, x, y);
}
}
13. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 8, b = 3;
int i;
for(i = 1; i <= 7; i++) {
if(a > b * 2) {
a /= 2;
b += 1;
} else if(a < b) {
a += 3;
b -= 1;
} else {
a++;
b++;
}
if(a + b > 15) {
a -= 2;
b -= 2;
}
printf("i=%d: a=%d, b=%d
", i, a, b);
}
}
14. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int count = 0;
int i, j;
for(i = 1; i <= 4; i++) {
for(j = 1; j <= 3; j++) {
count++;
if(i * j > 6) {
count += 2;
break;
}
if(i + j == 5) {
count--;
continue;
}
count += 3;
}
printf("i=%d: count=%d
", i, count);
}
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2026版江苏省《计算机类专业考纲百套卷》,依据江苏省计算机类专业综合理论考试大纲编写。本专辑共110份试卷两部分组成,第一部分是按考纲的考点要求编写的75份知识点训练卷,第二部分是针对5门课程的掌握要求,编写的25份常考题训练卷。第三部分是综合模拟卷,参考历年来计算机类专业理论考试真题试卷,编写的10份专业综合训练卷。
本试卷是2026版江苏省《计算机类专业考纲百套卷》的第20卷,是知识点训练卷。按“C语言”考试纲要七、循环结构程序设计部分内容编写,具体知识点内容如下:
七、循环结构程序设计
1.掌握for 循环结构;
2.理解while和do while循环结构;
3.掌握continue语句、break语句;
4.理解循环的嵌套;
5.掌握程序设计中的几种常用算法的基本思想(常用算法为:排序,查找,穷举。排序主要为插入排序法,选择排序法,冒泡排序法。查找主要为顺序查找和对半查找)。
2026版江苏省《计算机类专业考纲百套卷》第20卷
《 C语言 》
循环结构程序设计
知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、程序分析题。(每空2分,合计29空,共58分)
1. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include <stdio.h>
(2)void main()
(3){
(4)int i,a=0,b=0;
(5)for(i=1;i<10;i++)
(6){
(7) if(i%2==0)
(8) {
(9) a++;
(10) continue;
(11) }
(12) b++;
(13) }
(14)printf("a=%d,b=%d",a,b);
(15)}
以上程序中,使用了_____①____循环语句,该循环体总共执行了_____②___次,语句a++;一共执行了______③_____次,第10行中的语句部分功能是______④_____。
【答案】①for ②9 ③4 ④结束本次循环,执行下一次循环
2. 阅读下列程序,请将有关问题的答案填写在题目中横线处相应位置。
(1)#include <stdio.h>
(2)void main()
(3){
(4)int a=1,b=10;
(5)do
(6){
(7) b-=a;
(8) a++;
(9)}while(b- -<0);
(10)printf("a=%d,b=%d
",a,b);
(11)}
在上述程序中,使用了_____①___循环结构,判断循环条件的语句是_____②____;循环体执行部分在程序的第____③_____行,变量的定义在程序的第______④_____行。
【答案】①do……while ②b- -<0
③7、8 ④4
3. 阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
void main()
{
int mid,i,j,k,n=5;
mid =______①____;
for (i = 0; i <= mid; i++)
{
for (j = 0; j <_____②____; j++)
printf(" ");
for (k = 0;______③_____; k++)
printf("*");
printf("
");
}
for (i =_____④_____; i >= 0; i- -)
{
for (j = 0; j < mid - i; j++)
printf(" ");
for (k = 0; k < 2 * i + 1; k++)
printf("*");
printf("
");
}
}
【答案】①n / 2 ②mid – i ③k < 2 * i + 1 ④mid - 1
4. 下列程序的功能是:求 ,直到第10项为之。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int i;
_______①_______;
for(i=1;i<=10;i++)
{
s=_____②_____;
e=_____③_____;
}
printf("%f",e);
}
【答案】①float s=1.0,e=1.0 ②s*i ③e+1/s
5. 下列程序的功能是:输入两个正整数m和n,编程求出其最小公倍数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int m,n,k;
printf("请输入2个整数:");
scanf("%d%d",&m,&n);
k=m;
while(__________)
{
if(___________)
break;
k++;
}
printf("%d",k);
}
【答案】①1 ②k%m==0&&k%n==0
6. 下列程序的功能是从键盘输入若干个学生的程序(学生人数未知),输入负数时表示输入结束,最后求出所输入的学生成绩中,最高分的成绩。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include<stdio.h>
void main( )
{
int i=0,score,max=0;
do
{
printf("请输入第%d个学生的成绩:",_____①___);
scanf("%d",&score);
if(score>max)
_____②_____;
i++;
}while(______③_____);
printf("最高分为:%d
",max);
}
【答案】①i+1 ②max=score ③score>=0
7. 下列程序的功能是:输出 1000 以内的所有素数,并统计素数的个数。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
#include <math.h>
int main() {
int i,j,is_prime;
int count = 0;
// 2是最小的素数,单独处理
printf("2 ");
______①______;
// 大于2的素数都是奇数,只判断奇数
for (___________②___________) {
is_prime = 1;
for (j = 3; j <= sqrt(i); j += 2) {
if (______③______) {
is_prime = 0;
_______④______;
}
}
if (is_prime) {
printf("%d ", i);
count++;
}
}
printf("
1000以内素数共有:%d个
", count);
}
【答案】①count++ ②i = 3; i <= 1000; i += 2
③i % j == 0 ④break
8. 下列程序的功能是:公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 3 只一文钱。用 100 文钱买 100 只鸡,求出公鸡、母鸡、小鸡各多少只。阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
int main() {
int cock, hen, chick;
printf("可能的买法:
");
for (____①___; cock <= 20; cock++)
{
for (hen = 0; hen <= 33; hen++)
{
chick =________②______;
if (________③_________)
{
printf("公鸡:%d,母鸡:%d,小鸡:%d
", cock, hen, chick);
}
}
}
}
【答案】①cock = 0 ②100 - cock – hen
③5 * cock + 3 * hen + chick / 3 == 100 && chick % 3 == 0
9. 阅读下列程序,请在程序中的空白处填入适合的程序代码,使得程序正确执行并达到程序功能要求。
#include <stdio.h>
#include<math.h>
int main()
{
int num,a,b,c,d;
printf("4位自幂数:");
for (num = 1000; num <= 9999; num++)
{
a = num / 1000;
b = num / 100 % 10;
c =_______①_______;
d = num % 10;
if (__________②__________)
{
printf("%d ", num);
}
}
printf("
");
}
【答案】①num / 10 % 10 ②pow(a,4)+pow(b,4)+ pow(c,4) + pow(d,4) == num
三、阅读下列程序,请将运行结果填写在横线处相应位置。(本大题共14小题,每小题3分,共42分)
1. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main() {
int i, j, k = 0;
for (i = 1; i <= 12; i++) {
for (j = 1; j <= 3; j++) {
if (j % 2 == 0) k += i;
}
}
printf("%d", k);
}
【答案】78
2. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 1, y = 1;
for (; x <= 2; x++)
{
y = x;
do
{
printf("%d", y);
y--;
} while (y >= 1);
printf(" ");
}
}
【答案】1 21
3. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 1, b = 1;
while (a + b <= 6)
{
a = a + b;
b = a - b;
printf("%d ", a);
}
}
【答案】2 3 5
4. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 1, y = 1, t = 0;
for (; x <= 3; x++)
{
y = x;
while (y > 0)
{
t += x % y;
y--;
}
}
printf("%d", t);
}
【答案】1
5. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i, j, s = 0;
for (i = 1; i <= 6; i++)
{
for (j = 1; j <= i; j++)
{
s += (i + j) / 2;
}
}
printf("%d", s);
}
【答案】69
6. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 1, b = 1, c = 0;
while (a <= 5)
{
do {
c += a / b;
b++;
if (c > 3)
{
b = 1;
break;
}
} while (b <= a);
a++;
}
printf("%d", c);
}
【答案】9
7. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i = 1, j = 1, s = 0;
for (; i <= 4; i++)
{
for (j = i; j <= 4; j++)
{
s += i * j;
if (s % 5 == 0) {
j = 5;
break;
}
}
}
printf("%d", s);
}
【答案】57
8. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int m = 2, n = 5, t = 0;
do {
while (n > m)
{
t += n - m;
n--;
if (t > 5)
{
m++;
break;
}
}
m++;
} while (m < 4);
printf("%d", t);
}
【答案】6
9. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int i = 2, j = 2, k = 0;
do {
for (j = 2; j <= i; j++)
{
if (i % j == 0)
{
k++;
break;
}
}
i++;
} while (i <= 5);
printf("%d", k);
}
【答案】4
10. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 2, y = 2;
do
{
x *= y;
y++;
if (x > 10)
{
y = x - y;
x /= 2;
}
} while (x < 15);
printf("%d %d", x, y);
}
【答案】24 39
11. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int p = 5, q = 1, sum = 0;
while (p > 0)
{
sum += p / q;
q++;
if (q > p)
{
p -= 2;
q = 1;
}
}
printf("%d", sum);
}
【答案】16
12. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int x = 0, y = 0;
int i, j;
for(i = 1; i <= 3; i++) {
for(j = 1; j <= 4; j++) {
if(i + j == 5) {
x += 2;
continue;
}
if(j - i == 2) {
y += 3;
break;
}
x++;
y--;
}
printf("i=%d: x=%d, y=%d
", i, x, y);
}
}
【答案】
i=1: x=2, y=1
i=2: x=6, y=2
i=3: x=11, y=-1
13. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int a = 8, b = 3;
int i;
for(i = 1; i <= 7; i++) {
if(a > b * 2) {
a /= 2;
b += 1;
} else if(a < b) {
a += 3;
b -= 1;
} else {
a++;
b++;
}
if(a + b > 15) {
a -= 2;
b -= 2;
}
printf("i=%d: a=%d, b=%d
", i, a, b);
}
}
【答案】
i=1: a=4, b=4
i=2: a=5, b=5
i=3: a=6, b=6
i=4: a=7, b=7
i=5: a=6, b=6
i=6: a=7, b=7
i=7: a=6, b=6
14. 执行以下程序的运行结果是______________________。
#include <stdio.h>
int main()
{
int count = 0;
int i, j;
for(i = 1; i <= 4; i++) {
for(j = 1; j <= 3; j++) {
count++;
if(i * j > 6) {
count += 2;
break;
}
if(i + j == 5) {
count--;
continue;
}
count += 3;
}
printf("i=%d: count=%d
", i, count);
}
}
【答案】
i=1: count=12
i=2: count=20
i=3: count=27
i=4: count=30
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$