内容正文:
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第51卷,是知识点训练卷,按考纲中《C语言程序设计》---(四)循环结构程序设计的7-8要求编写。其两点要求是:7.掌握循环的嵌套(只要求双重循环);8.掌握循环辅助控制语句 break 和 continue 的作用。
重庆市《计算机类考纲百套卷》 第51卷
C语言程序设计
(四)循环结构程序设计 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. 在C语言中,使用for语句可以创建一个循环,如果要创建一个双重循环,则需要在一个for循环的循环体内部再定义一个for循环。这种结构称为__________。
【答案】循环嵌套
2. 当内层循环完全包含在外层循环内部时,内层循环将__________执行。
【答案】多次
3. 在双重循环中,如果外层循环执行了10次,而内层循环执行了5次,那么内层循环总共将执行__________次。
【答案】50
4. 如果在内层循环中使用了break语句,它将__________当前的内层循环。
【答案】终止
5. continue语句在循环中的作用是跳过__________的代码,直接进入下一次循环。
【答案】当前迭代剩余部分
6. 在以下代码段中,内层循环的循环变量是__________。
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
// ...
}
}
【答案】j
7.循环体如包括有一个以上的语句,则必须用__________括起来,组成复合语句。
【答案】{}
8. 在双重循环中,如果在内层循环中使用了break语句,它将不会影响__________循环的继续执行。
【答案】外层
9. 在一个循环体中,如果同时使用了break和continue语句,__________语句将首先执行,因为它出现在循环的更早位置。
【答案】break
10. 以下代码段将打印出__________。
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
【答案】一个直角三角形
11. 在以下代码段中,填入适当的语句使内层循环在j == 3时退出。
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
if(j == 3) {
__________;
}
// ...
}
}
【答案】break;
12. 以下代码段将计算并打印1到10之间所有偶数的和,请填空。
int sum = 0;
for(int i = 1; i <= 10; i++) {
if(i % 2 != 0) {
__________;
}
sum += i;
}
printf("Sum of even numbers: %d
", sum);
【答案】continue;
13. 当外层循环变量为i,内层循环变量为j时,以下代码段将打印出一个__________。
for(i = 1; i <= 5; i++) {
for(j = 1; j <= 5; j++) {
printf("*");
}
printf("
");
}
【答案】正方形
14. 在以下代码段中,break语句的作用是__________内层循环。
【答案】退出
15. 在以下代码段中,continue语句的作用是__________当前迭代,并检查循环条件以决定是否进行下一次迭代。
【答案】跳过
二、单项选择题(本大题共15小题,每题2分,共30分)
1.下面哪个语句可以终止当前循环并跳出循环体?( )
A. break
B. continue
C. return
D. exit
【答案】A
2.下面哪个语句可以跳过当前迭代,开始下一次循环迭代?( )
A. break
B. continue
C. return
D. exit
【答案】B
3.下面哪个循环语句是先判断条件是否满足,再执行循环体?( )
A.while循环
B. for循环
C. do-while循环
D. continue语句
【答案】A
4.下面哪个循环语句适合在已知循环次数的情况下使用?( )
A.while循环
B. for循环
C. do-while循环
D. return语句
【答案】B
5.下面哪个循环语句适合在循环次数未知的情况下使用?( )
A. while循环 B. for循环 C. do-while循环 D. exit
【答案】A
6.设有程序段 int k=10;while(k=0) k=k-1;下面描述中正确的是( )。
A. while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
【答案】 C
7.下面程序的输出结果是 ( )。
int k,j,s;
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d
",s);
A.1 B.9
C.11 D.10
【答案】D
8.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i == 1 && j == 1){
break;
}
printf("%d %d ", i, j);
}
}
A.0 0 0 1 0 2 1 0 1 1 2 0 2 1 2 2
B.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
C. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1
D.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2
【答案】C
9.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 5; i++){
if(i == 3){
break;
}
printf("%d ", i);
}
A.0 1 2
B.0 1 2 3
C.0 1 2 3 4
D.0 1 2 3 4 5
【答案】A
10.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 5; i++){
if(i == 3){
continue;
}
printf("%d ", i);
}
A.0 1 2 3 4
B.0 1 2 4
C. 0 1 2 3 4 5
D.0 1 2 3 4 5 6
【答案】B
11.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i + j == 2){
break;
}
printf("%d %d ", i, j);
}
}
A.0 0 0 1 1 0 1 1 2 0 2 1 2 2
B. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
C. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1
D.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2
【答案】A
12. 在以下C语言代码片段中,关于输出结果的说法正确的是( )。
int i, j;
for(i = 0; i < 5; i++) {
for(j = 0; j < 5; j++) {
if(i == j) {
break;
}
printf("%d%d ", i, j);
}
}
A. 输出结果为:0011 22 33 44
B. 输出结果为:0011 22 33 44 55
C. 输出结果为:0011 22 33 44 55 66 77 88 99
D. 输出结果为:0011 22 33 44 55 66 77 88
【答案】A
13. 关于C语言中break和continue语句的说法,以下哪项是错误的?( )
A. break语句可以用于switch和循环结构中,用于跳出当前结构
B. continue语句只能用于循环结构中,用于跳过本次循环的剩余代码,进入下一次循环
C. 在多层循环嵌套中,break语句只能跳出最内层循环
D. 在多层循环嵌套中,continue语句会跳过当前层循环的剩余代码,进入下一次循环
【答案】D
14. 在以下C语言代码片段中,执行后的输出结果是什么?( )
int i = 0;
while(i < 10) {
i++;
if(i % 2 == 0) {
continue;
}
printf("%d ", i);
}
A. 1 3 5 7 9
B. 2 4 6 8 10
C. 1 2 3 4 5 6 7 8 9 10
D. 1 3 5 7
【答案】A
15. 在以下C语言代码片段执行完毕后,变量sum的值是多少?( )
int i, j, sum = 0;
for(i = 1; i <= 5; i++) {
for(j = 1; j <= i; j++) {
if(i == j) {
break;
}
sum += j;
}
}
A. 10
B. 15
C. 20
D. 25
【答案】B
三、判断题(本大题共6小题,每题2分,共12分)
1. 在C语言中,双重循环就是指循环体内又包含了一个循环结构。( )
【答案】√
2. 在双重循环中,内层循环的循环控制变量可以与外层循环的循环控制变量同名。( )
【答案】×
3. 使用break语句可以立即退出当前所在的循环。( )
【答案】√
4. continue语句的作用是结束当前循环,开始下一次循环。( )
【答案】√
5. 在循环结构中,break语句和continue语句可以互换使用,不影响程序运行结果。( )
【答案】×
6. 在双重循环中,如果内层循环使用了break语句,则外层循环也会被终止。( )
【答案】×
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 5; i++) { // 外层循环
for(j = 1; j <= i; j++) { // 内层循环
if (i == ____________) { // 填空处
____________; // 填空处
}
printf("*");
}
printf("
");
}
return 0;
}
请填写合适的代码,使得程序打印出一个直角三角形,当外层循环变量i等于3时,内层循环提前结束。
【答案】
if (i == 3) { // 填空处
break; // 填空处
}
2.#include <stdio.h>
int main() {
int sum = 0;
for(int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
____________; // 填空处
}
sum += i;
}
printf("The sum is: %d
", sum);
return 0;
}
请填写合适的代码,使得程序计算1到10之间所有奇数的和。
【答案】
continue; // 填空处
五、阅读程序题(本大题共12分)
1.#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 5; i++) { // 外层循环
for(j = 1; j <= 5; j++) { // 内层循环
if(j == i) {
continue; // 当内层循环变量等于外层循环变量时
}
printf("%d ", j);
}
printf("
");
}
return 0;
}
(1)请描述程序运行后输出的结果。
(2)程序中的continue语句有什么作用?
【答案】
(1)程序运行后的输出结果如下:
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
外层循环从1运行到5,内层循环也是从1运行到5。当内层循环的变量j等于外层循环的变量i时,continue语句被执行,导致内层循环的当前迭代提前结束,不执行printf("%d ", j);,因此不会打印出等于外层循环变量i的数字。
(2)程序中的continue语句的作用是跳过当前内层循环迭代的剩余部分,即当j == i时,不执行printf("%d ", j);,直接进行下一次内层循环的迭代。这导致在每个外层循环的迭代中,与外层循环变量i相等的数字不会被打印出来。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第51卷,是知识点训练卷,按考纲中《C语言程序设计》---(四)循环结构程序设计的7-8要求编写。其两点要求是:7.掌握循环的嵌套(只要求双重循环);8.掌握循环辅助控制语句 break 和 continue 的作用。
重庆市《计算机类考纲百套卷》 第51卷
C语言程序设计
(四)循环结构程序设计 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. 在C语言中,使用for语句可以创建一个循环,如果要创建一个双重循环,则需要在一个for循环的循环体内部再定义一个for循环。这种结构称为__________。
2. 当内层循环完全包含在外层循环内部时,内层循环将__________执行。
3. 在双重循环中,如果外层循环执行了10次,而内层循环执行了5次,那么内层循环总共将执行__________次。
4. 如果在内层循环中使用了break语句,它将__________当前的内层循环。
5. continue语句在循环中的作用是跳过__________的代码,直接进入下一次循环。
6. 在以下代码段中,内层循环的循环变量是__________。
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
// ...
}
}
7.循环体如包括有一个以上的语句,则必须用__________括起来,组成复合语句。
8. 在双重循环中,如果在内层循环中使用了break语句,它将不会影响__________循环的继续执行。
9. 在一个循环体中,如果同时使用了break和continue语句,__________语句将首先执行,因为它出现在循环的更早位置。
10. 以下代码段将打印出__________。
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
11. 在以下代码段中,填入适当的语句使内层循环在j == 3时退出。
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
if(j == 3) {
__________;
}
// ...
}
}
12. 以下代码段将计算并打印1到10之间所有偶数的和,请填空。
int sum = 0;
for(int i = 1; i <= 10; i++) {
if(i % 2 != 0) {
__________;
}
sum += i;
}
printf("Sum of even numbers: %d
", sum);
13. 当外层循环变量为i,内层循环变量为j时,以下代码段将打印出一个__________。
for(i = 1; i <= 5; i++) {
for(j = 1; j <= 5; j++) {
printf("*");
}
printf("
");
}
14. 在以下代码段中,break语句的作用是__________内层循环。
15. 在以下代码段中,continue语句的作用是__________当前迭代,并检查循环条件以决定是否进行下一次迭代。
二、单项选择题(本大题共15小题,每题2分,共30分)
1.下面哪个语句可以终止当前循环并跳出循环体?( )
A. break
B. continue
C. return
D. exit
2.下面哪个语句可以跳过当前迭代,开始下一次循环迭代?( )
A. break
B. continue
C. return
D. exit
3.下面哪个循环语句是先判断条件是否满足,再执行循环体?( )
A.while循环
B. for循环
C. do-while循环
D. continue语句
4.下面哪个循环语句适合在已知循环次数的情况下使用?( )
A.while循环
B. for循环
C. do-while循环
D. return语句
5.下面哪个循环语句适合在循环次数未知的情况下使用?( )
A. while循环 B. for循环 C. do-while循环 D. exit
6.设有程序段 int k=10;while(k=0) k=k-1;下面描述中正确的是( )。
A. while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
7.下面程序的输出结果是 ( )。
int k,j,s;
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d
",s);
A.1 B.9
C.11 D.10
8.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i == 1 && j == 1){
break;
}
printf("%d %d ", i, j);
}
}
A.0 0 0 1 0 2 1 0 1 1 2 0 2 1 2 2
B.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
C. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1
D.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2
9.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 5; i++){
if(i == 3){
break;
}
printf("%d ", i);
}
A.0 1 2
B.0 1 2 3
C.0 1 2 3 4
D.0 1 2 3 4 5
10.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 5; i++){
if(i == 3){
continue;
}
printf("%d ", i);
}
A.0 1 2 3 4
B.0 1 2 4
C. 0 1 2 3 4 5
D.0 1 2 3 4 5 6
11.下面的代码段输出的结果是什么?( )
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i + j == 2){
break;
}
printf("%d %d ", i, j);
}
}
A.0 0 0 1 1 0 1 1 2 0 2 1 2 2
B. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2
C. 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1
D.0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2
12. 在以下C语言代码片段中,关于输出结果的说法正确的是( )。
int i, j;
for(i = 0; i < 5; i++) {
for(j = 0; j < 5; j++) {
if(i == j) {
break;
}
printf("%d%d ", i, j);
}
}
A. 输出结果为:0011 22 33 44
B. 输出结果为:0011 22 33 44 55
C. 输出结果为:0011 22 33 44 55 66 77 88 99
D. 输出结果为:0011 22 33 44 55 66 77 88
13. 关于C语言中break和continue语句的说法,以下哪项是错误的?( )
A. break语句可以用于switch和循环结构中,用于跳出当前结构
B. continue语句只能用于循环结构中,用于跳过本次循环的剩余代码,进入下一次循环
C. 在多层循环嵌套中,break语句只能跳出最内层循环
D. 在多层循环嵌套中,continue语句会跳过当前层循环的剩余代码,进入下一次循环
14. 在以下C语言代码片段中,执行后的输出结果是什么?( )
int i = 0;
while(i < 10) {
i++;
if(i % 2 == 0) {
continue;
}
printf("%d ", i);
}
A. 1 3 5 7 9
B. 2 4 6 8 10
C. 1 2 3 4 5 6 7 8 9 10
D. 1 3 5 7
15. 在以下C语言代码片段执行完毕后,变量sum的值是多少?( )
int i, j, sum = 0;
for(i = 1; i <= 5; i++) {
for(j = 1; j <= i; j++) {
if(i == j) {
break;
}
sum += j;
}
}
A. 10
B. 15
C. 20
D. 25
三、判断题(本大题共6小题,每题2分,共12分)
1. 在C语言中,双重循环就是指循环体内又包含了一个循环结构。( )
2. 在双重循环中,内层循环的循环控制变量可以与外层循环的循环控制变量同名。( )
3. 使用break语句可以立即退出当前所在的循环。( )
4. continue语句的作用是结束当前循环,开始下一次循环。( )
5. 在循环结构中,break语句和continue语句可以互换使用,不影响程序运行结果。( )
6. 在双重循环中,如果内层循环使用了break语句,则外层循环也会被终止。( )
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 5; i++) { // 外层循环
for(j = 1; j <= i; j++) { // 内层循环
if (i == ____________) { // 填空处
____________; // 填空处
}
printf("*");
}
printf("
");
}
return 0;
}
请填写合适的代码,使得程序打印出一个直角三角形,当外层循环变量i等于3时,内层循环提前结束。
2.#include <stdio.h>
int main() {
int sum = 0;
for(int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
____________; // 填空处
}
sum += i;
}
printf("The sum is: %d
", sum);
return 0;
}
请填写合适的代码,使得程序计算1到10之间所有奇数的和。
五、阅读程序题(本大题共12分)
1.#include <stdio.h>
int main() {
int i, j;
for(i = 1; i <= 5; i++) { // 外层循环
for(j = 1; j <= 5; j++) { // 内层循环
if(j == i) {
continue; // 当内层循环变量等于外层循环变量时
}
printf("%d ", j);
}
printf("
");
}
return 0;
}
(1)请描述程序运行后输出的结果。
(2)程序中的continue语句有什么作用?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$