内容正文:
编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第13卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
吉林省《信息工程类(电子与信息类)考纲百套卷》 第13卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.以下代码段的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("*");
}
printf("
");
}
A.
**
**
**
B.
***
***
C.
**
***
D.
*
*
*
2.以下 for 循环的初始化部分、条件判断部分和迭代部分分别可以省略的是( )
A. 都可以省略
B. 初始化部分和条件判断部分可以省略,迭代部分不能省略
C. 初始化部分和迭代部分可以省略,条件判断部分不能省略
D. 条件判断部分和迭代部分可以省略,初始化部分不能省略
3.有如下嵌套 for 循环代码:
for(int i = 1; i <= 3; i++) {
for(int j = 1; j <= i; j++) {
for(int k = j; k <= 3; k++) {
printf("%d %d %d ", i, j, k);
}
}
}
请问循环体 printf("%d %d %d ", i, j, k); 执行的总次数是( )
A. 14
B. 15
C. 16
D. 17
4. 以下代码段的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
5. 以下嵌套 while 循环中,内层循环体执行的总次数是( )
int i = 0, j;
while (i < 3) {
j = 0;
while (j < 2) {
// 内层循环体
j++;
}
i++;
}
A. 2 次
B. 3 次
C. 5 次
D. 6 次
6. 以下代码段的输出结果是( )
int i = 0;
while (1) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 无限循环
D. 无输出
7. 以下代码段的输出结果是( )
int i = 5;
while (i--) {
printf("%d ", i);
}
A. 4 3 2 1 0
B. 5 4 3 2 1
C. 5 4 3 2 1 0
D. 4 3 2 1
8. 以下 do - while 循环代码,若输入 -5,输出结果是( )
int num;
scanf("%d", &num);
do {
num++;
printf("%d ", num);
} while (num < 0);
A. -4 -3 -2 -1 0
B. -5 -4 -3 -2 -1
C. -4
D. 无输出
9.在 do - while 循环中使用 continue 语句时,需要注意( )
A. 不能使用 continue 语句
B. 必须手动更新循环变量,否则可能导致无限循环
C. continue 语句会终止整个 do - while 循环
D. continue 语句只能在 do - while 循环的开头使用
10.以下代码的输出结果是( )
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
i++;
if (i == 3) break;
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.for 循环的条件判断部分为假时,循环体一次都不会执行。( )
2.在嵌套 for 循环中,内层循环和外层循环的循环变量不能同名。( )
3. 若 for 循环的条件判断部分为一个常量 1,则该 for 循环是一个无限循环。( )
4. 嵌套的 while 循环中,内层 while 循环的循环变量和外层 while 循环的循环变量不能同名。
5. 若要使用 while 循环输出 1 到 10 之间的偶数,以下代码是正确的:
int i = 1;
while (i <= 10) {
if (i % 2 == 0) {
printf("%d ", i);
}
i++;
}
6. while 循环和 do - while 循环在任何情况下都可以相互替换,且功能完全相同。
7. 可以使用 while 循环来模拟 for 循环的功能。
8.在 while 循环里使用 continue 语句时,不需要手动更新循环变量。
9.如果 switch 语句的所有 case 分支都没有 break 语句,程序会依次执行所有 case 分支的代码。
10. 在 for 循环中,break 语句只能在循环体的末尾使用。
三、填空题(本大题共5小题,每题2分,共10分)
1. 若要使用 for 循环输出 1 到 100 中所有能被 3 和 5 同时整除的数,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______,if 条件判断应填 ______。
for(______; ______; ______) {
if(______) {
printf("%d ", i);
}
}
2. 以下嵌套 for 循环用于输出一个菱形的上半部分,横线处应填的代码是 ______。
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n - i; j++) {
printf(" ");
}
for(int k = 1; k <= ______; k++) {
printf("*");
}
printf("
");
}
3. 以下 while 循环用于找出 1 到 20 中第一个能被 7 整除的数,横线处应填的代码是 ______。
int i = 1;
while (i <= 20) {
if (______) {
printf("%d", i);
break;
}
i++;
}
4. 以下 do - while 循环用于计算一个整数的位数,横线处应填的代码是 ______。
int num, count = 0;
scanf("%d", &num);
do {
num /= 10;
count++;
} while (______);
5.在 C 语言中,break 语句除了可以用于循环结构,还可以用于 ____________ 语句。
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
do {
i = 3;
printf("%d ", i);
break;
} while (1);
return 0;
}
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++) {
if (j == 2) {
break;
}
printf("%d %d
", i, j);
}
}
return 0;
}
3.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 5;
while (i > 0) {
if (i == 2) {
break;
}
printf("%d ", i);
i--;
}
return 0;
}
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 6; i++) {
if (i % 2 == 0 && i % 3 == 0) {
break;
}
printf("%d ", i);
}
return 0;
}
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
do {
if (i % 2 == 1) {
break;
}
printf("%d ", i);
i++;
} while (i < 3);
return 0;
}
五、编程题(本大题共5小题,每题5分,共25分)
1. 编写一个程序,使用 do - while 循环计算用户输入的一组整数的和,直到用户输入 0 为止。
2. 编写一个程序,使用嵌套 while 循环输出如下图案:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
3. 编写一个程序,使用 for 循环找出 1 到 100 之间所有能被 7 或 9 整除的数。
4. 编写一个程序,使用 while 循环输入一组字符,直到输入 # 为止,并统计输入的字符个数(不包括 #)。
5. 编写一个程序,使用嵌套 while 循环输出如下图案:
1
2 3
4 5 6
7 8 9 10
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第13卷,是知识点训练卷。按“C语言程序设计”考试纲要(四)循环程序设计的两点知识点要求编写,其两点要求是:
1.掌握for、while、do-while 循环及嵌套。
2.理解中止语句break,继续语句continue。
吉林省《信息工程类(电子与信息类)考纲百套卷》 第13卷
《C语言程序设计》
(四)循环程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.以下代码段的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("*");
}
printf("
");
}
A.
**
**
**
B.
***
***
C.
**
***
D.
*
*
*
答案:A
2.以下 for 循环的初始化部分、条件判断部分和迭代部分分别可以省略的是( )
A. 都可以省略
B. 初始化部分和条件判断部分可以省略,迭代部分不能省略
C. 初始化部分和迭代部分可以省略,条件判断部分不能省略
D. 条件判断部分和迭代部分可以省略,初始化部分不能省略
答案:A
3.有如下嵌套 for 循环代码:
for(int i = 1; i <= 3; i++) {
for(int j = 1; j <= i; j++) {
for(int k = j; k <= 3; k++) {
printf("%d %d %d ", i, j, k);
}
}
}
请问循环体 printf("%d %d %d ", i, j, k); 执行的总次数是( )
A. 14
B. 15
C. 16
D. 17
答案:B
4. 以下代码段的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
答案:A
5. 以下嵌套 while 循环中,内层循环体执行的总次数是( )
int i = 0, j;
while (i < 3) {
j = 0;
while (j < 2) {
// 内层循环体
j++;
}
i++;
}
A. 2 次
B. 3 次
C. 5 次
D. 6 次
答案:D
6. 以下代码段的输出结果是( )
int i = 0;
while (1) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 无限循环
D. 无输出
答案:A
7. 以下代码段的输出结果是( )
int i = 5;
while (i--) {
printf("%d ", i);
}
A. 4 3 2 1 0
B. 5 4 3 2 1
C. 5 4 3 2 1 0
D. 4 3 2 1
答案:D
8. 以下 do - while 循环代码,若输入 -5,输出结果是( )
int num;
scanf("%d", &num);
do {
num++;
printf("%d ", num);
} while (num < 0);
A. -4 -3 -2 -1 0
B. -5 -4 -3 -2 -1
C. -4
D. 无输出
答案:A
9.在 do - while 循环中使用 continue 语句时,需要注意( )
A. 不能使用 continue 语句
B. 必须手动更新循环变量,否则可能导致无限循环
C. continue 语句会终止整个 do - while 循环
D. continue 语句只能在 do - while 循环的开头使用
答案:B
10.以下代码的输出结果是( )
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
i++;
if (i == 3) break;
printf("%d ", i);
}
return 0;
}
A. 1 2 3 4 5
B. 1 2 4 5
C. 1 2
D. 3
答案:C
二、判断题(本大题共10小题,每小题2分,共20分)
1.for 循环的条件判断部分为假时,循环体一次都不会执行。( )
答案:正确
2.在嵌套 for 循环中,内层循环和外层循环的循环变量不能同名。( )
答案:错误
3. 若 for 循环的条件判断部分为一个常量 1,则该 for 循环是一个无限循环。( )
答案:正确
4. 嵌套的 while 循环中,内层 while 循环的循环变量和外层 while 循环的循环变量不能同名。
答案:错误
5. 若要使用 while 循环输出 1 到 10 之间的偶数,以下代码是正确的:
int i = 1;
while (i <= 10) {
if (i % 2 == 0) {
printf("%d ", i);
}
i++;
}
答案:正确
6. while 循环和 do - while 循环在任何情况下都可以相互替换,且功能完全相同。
答案:错误
7. 可以使用 while 循环来模拟 for 循环的功能。
答案:正确
8.在 while 循环里使用 continue 语句时,不需要手动更新循环变量。
答案:错误
9.如果 switch 语句的所有 case 分支都没有 break 语句,程序会依次执行所有 case 分支的代码。
答案:正确
10. 在 for 循环中,break 语句只能在循环体的末尾使用。
答案:错误
三、填空题(本大题共5小题,每题2分,共10分)
1. 若要使用 for 循环输出 1 到 100 中所有能被 3 和 5 同时整除的数,初始化部分应填 ______,条件判断部分应填 ______,迭代部分应填 ______,if 条件判断应填 ______。
for(______; ______; ______) {
if(______) {
printf("%d ", i);
}
}
答案:int i = 1;i <= 100;i++;i % 3 == 0 && i % 5 == 0
2. 以下嵌套 for 循环用于输出一个菱形的上半部分,横线处应填的代码是 ______。
int n;
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n - i; j++) {
printf(" ");
}
for(int k = 1; k <= ______; k++) {
printf("*");
}
printf("
");
}
答案:2 * i - 1
3. 以下 while 循环用于找出 1 到 20 中第一个能被 7 整除的数,横线处应填的代码是 ______。
int i = 1;
while (i <= 20) {
if (______) {
printf("%d", i);
break;
}
i++;
}
答案:i % 7 == 0
4. 以下 do - while 循环用于计算一个整数的位数,横线处应填的代码是 ______。
int num, count = 0;
scanf("%d", &num);
do {
num /= 10;
count++;
} while (______);
答案:num != 0
5.在 C 语言中,break 语句除了可以用于循环结构,还可以用于 ____________ 语句。
答案:switch
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
do {
i = 3;
printf("%d ", i);
break;
} while (1);
return 0;
}
答案:3
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 3; i++) {
for (j = 1; j <= i; j++) {
if (j == 2) {
break;
}
printf("%d %d
", i, j);
}
}
return 0;
}
答案:
1 1
2 1
3 1
3.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 5;
while (i > 0) {
if (i == 2) {
break;
}
printf("%d ", i);
i--;
}
return 0;
}
答案:5 4 3
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i;
for (i = 1; i <= 6; i++) {
if (i % 2 == 0 && i % 3 == 0) {
break;
}
printf("%d ", i);
}
return 0;
}
答案:1 2 3 4 5
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int i = 0;
do {
if (i % 2 == 1) {
break;
}
printf("%d ", i);
i++;
} while (i < 3);
return 0;
}
答案:0
五、编程题(本大题共5小题,每题5分,共25分)
1. 编写一个程序,使用 do - while 循环计算用户输入的一组整数的和,直到用户输入 0 为止。
#include <stdio.h>
int main() {
int num, sum = 0;
do {
printf("请输入一个整数(输入 0 结束): ");
scanf("%d", &num);
sum += num;
} while (num != 0);
printf("输入的整数的和为: %d
", sum);
return 0;
}
2. 编写一个程序,使用嵌套 while 循环输出如下图案:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
int j = 1;
while (j <= i) {
printf("%d ", j);
j++;
}
printf("
");
i++;
}
return 0;
}
3. 编写一个程序,使用 for 循环找出 1 到 100 之间所有能被 7 或 9 整除的数。
#include <stdio.h>
int main() {
for (int i = 1; i <= 100; i++) {
if (i % 7 == 0 || i % 9 == 0) {
printf("%d ", i);
}
}
printf("
");
return 0;
}
4. 编写一个程序,使用 while 循环输入一组字符,直到输入 # 为止,并统计输入的字符个数(不包括 #)。
#include <stdio.h>
int main() {
char ch;
int count = 0;
while (1) {
scanf("%c", &ch);
if (ch == '#') {
break;
}
count++;
}
printf("输入的字符个数为: %d
", count);
return 0;
}
5. 编写一个程序,使用嵌套 while 循环输出如下图案:
1
2 3
4 5 6
7 8 9 10
#include <stdio.h>
int main() {
int row = 1;
int num = 1;
while (row <= 4) {
int col = 1;
while (col <= row) {
printf("%d ", num);
num++;
col++;
}
printf("
");
row++;
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$