内容正文:
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第50卷,是知识点训练卷,按考纲中《C语言程序设计》---(四)循环结构程序设计的4-6要求编写。其三点要求是:4.掌握 for 语句;5.理解三种循环语句的区别;6.掌握循环次数的判断。
重庆市《计算机类考纲百套卷》 第50卷
C语言程序设计
(四)循环结构程序设计 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. for循环的三个表达式分别是:初始化表达式、______表达式和迭代表达式。
【答案】条件
2. for循环中的初始化表达式通常用来______循环控制变量。
【答案】初始化
3. 在for循环中,如果省略了条件表达式,则默认条件为______。
【答案】真
4. 迭代表达式通常用来______循环控制变量。
【答案】更新
5. while循环的语法格式是:while(______) { 循环体; }。
【答案】条件表达式
6. do-while循环与while循环的不同之处在于,do-while循环是______判断条件。
【答案】先执行循环体后
7. break语句用于______当前循环。
【答案】跳出
8. continue语句在循环中的作用是______本次循环的剩余部分,并开始下一次循环。
【答案】结束
9. 当循环次数固定时,通常使用______循环来实现。
【答案】for
10. 如果一个循环体至少要执行一次,应使用______循环。
【答案】do-while
11. 在while循环中,如果条件表达式始终为真,则可能发生______。
【答案】无限循环
12. 循环结构包括______、while、do-while三种。
【答案】for
13. 在for循环中,如果循环控制变量在循环体内部被修改,可能会导致______。
【答案】循环次数异常
14. 如果需要在一个循环内部嵌套另一个循环,这种结构称为______循环。
【答案】嵌套
15. 有以下程序段,为使此程序段不隐入死循环,从键盘输入的数据应该是______。
int n,t=1, s=0;
scanf (" %d", &n);
do{
s=s+t; t=t-2;
} while (t!=n);
【答案】任意负奇数
二、单项选择题(本大题共15小题,每题2分,共30分)
1. 关于for循环的初始化表达式,以下描述错误的是( )。
A. 可以省略
B. 必须在循环体内进行
C. 可以在声明变量时初始化
D. 可以包含多个变量初始化
【答案】B
2. 下列哪个是for循环的正确语法?( )
A. for (int i = 0; i < 10; i++)
B. for i = 0; i < 10; i++
C. for (int i = 0; i < 10; ++i;)
D. for (int i = 0; i < 10)
【答案】A
3. 以下哪个循环语句执行次数最少?( )
A. while (i < 10)
B. do { } while (i < 10)
C. for (int i = 10; i < 10; i++)
D. for (int i = 0; i < 10; i++)
【答案】C
4. 以下哪个循环语句可以无限循环?( )
A. while (i > 10)
B. for (;;)
C. do { } while (i == 10)
D. for (int i = 0; i < 10; i++)
【答案】B
5. 关于while循环和do-while循环的区别,以下描述错误的是( )。
A. while循环先判断条件,再执行循环体
B. do-while循环先执行一次循环体,再判断条件
C. while循环至少执行一次循环体
D. do-while循环的循环体至少执行一次
【答案】C
6. 以下哪个循环语句可以正确输出10次“Hello World”?( )
A. for (int i = 0; i < 10; i++) printf("Hello World
");
B. for (int i = 0; i <= 10; i--) printf("Hello World
");
C. for (int i = 0; i < 10; i--) printf("Hello World
");
D. for (int i = 0; i <= 10; i++) printf("Hello World
");
【答案】A
7.C语言中while和do-while循环的主要区别是( )。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
【答案】 A
8.语句while (!e);中的条件!e等价于( )。
A. e==0 B. e!=l
C. e!=0 D. ~e
【答案】 A
9.C语言中( )。
A.不能使用do…while语句构成的循环
B.do…while语句构成的循环必须用break语句才能退出
C.do…while语句构成的循环,当while语句中的表达式值为非零时结束循环
D. do…while 语句构成的循环,当while语句中的表达式值为零时结束循环
【答案】 D
10.下面有关for循环的正确描述是( )。
A.for循环只能用于循环次数已经确定的情况
B.for 循环是先执行循环体语句,后判定表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
【答案】 D
11. 以下程序的输出结果是( )。
main( )
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if (b>=10) break;
if (b%5==1) { b+=5; continue; }
}
printf("%d
",a);
}
A. 101
B. 6
C. 4
D. 3
【答案】D
12. 以下程序的循环次数是( )。
main()
{
int i=0;
while(i<10)
{
if(i<1) continue;
if(i==5) break;
i++;
}
}
A. 死循环,不能确定次数
B. 6
C. 4
D. 1
【答案】A
13. 以下程序的输出结果是( )。
int x=23;
do{
printf("%2d",x - -);
}while(!x);
A. 打印出321
B. 打印出23
C. 不打印任何内容
D. 陷入死循环
【答案】B
14. 下面程序执行后输出sum的值是( )。
void main(){
int i,sum;
for(i=0;i<6;i++)
sum+=i;
printf("%d
",sum);
}
A. 15
B. 14
C. 0
D. 不确定
【答案】D
15. 以下程序的运行结果是( )。
main( )
{
unsigned int num,k;
num=26;k=1;
do {
k*=num%10;
num/=10;
} while(num);
printf("%d
", k);
}
A. 2
B. 12
C. 60
D. 18
【答案】B
三、判断题(本大题共6小题,每题2分,共12分)
1. for语句是一种条件循环语句,它可以替代while语句实现循环结构。( )
【答案】×
2. 在for循环中,初始化表达式、条件表达式和迭代表达式都是必须的。( )
【答案】×
3. do-while循环和while循环的区别在于,do-while循环至少会执行一次循环体。( )
【答案】√
4. while循环和do-while循环的判断条件必须是逻辑表达式。( )
【答案】×
5. 使用break语句可以立即结束当前循环。( )
【答案】√
6. 无法预知循环次数时,应使用for循环。( )
【答案】×
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int i, sum = 0;
for(i = 1; i <= 10; i++) {
// 请在下面填空,计算1到10的累加和
sum = sum + ________;
}
printf("1到10的累加和为:%d
", sum);
return 0;
}
【答案】
sum = sum + i;
2.#include <stdio.h>
int main() {
int i = 0;
while(i < 10) {
// 请在下面填空,输出0到9的数字
printf("%d ", ________);
i++;
}
printf("
");
return 0;
}
【答案】
printf("%d ", i);
五、阅读程序题(本大题共12分)
1.阅读以下C语言程序,回答问题。
#include <stdio.h>
int main() {
int i, sum = 0;
// 循环结构1
for(i = 1; i <= 10; i++) {
sum += i;
}
printf("循环结构1的累加和为:%d
", sum);
// 重置sum为0
sum = 0;
// 循环结构2
i = 1;
while(i <= 10) {
sum += i;
i++;
}
printf("循环结构2的累加和为:%d
", sum);
// 重置sum为0
sum = 0;
// 循环结构3
i = 1;
do {
sum += i;
i++;
} while(i <= 10);
printf("循环结构3的累加和为:%d
", sum);
return 0;
}
问题:
(1)请说明三种循环结构(循环结构1、循环结构2、循环结构3)的区别。
(2)这三个循环结构分别计算了1到10的累加和,请问它们的输出结果是否相同?为什么?
【答案】
(1)三种循环结构的区别如下:
循环结构1:使用for语句,初始化变量i为1,循环条件为i<=10,每次循环结束后i自增1。
循环结构2:使用while语句,首先初始化变量i为1,然后判断循环条件i<=10,满足条件时执行循环体,每次循环结束后i自增1。
循环结构3:使用do-while语句,首先执行一次循环体,然后判断循环条件i<=10,满足条件时继续执行循环体,每次循环结束后i自增1。
(2)这三个循环结构的输出结果相同,都是1到10的累加和,结果为55。因为它们都实现了相同的功能,即计算1到10的累加和。虽然循环结构不同,但循环次数和累加操作都相同,因此输出结果相同。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是重庆市《计算机类考纲百套卷》的第50卷,是知识点训练卷,按考纲中《C语言程序设计》---(四)循环结构程序设计的4-6要求编写。其三点要求是:4.掌握 for 语句;5.理解三种循环语句的区别;6.掌握循环次数的判断。
重庆市《计算机类考纲百套卷》 第50卷
C语言程序设计
(四)循环结构程序设计 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、填空题(本大题共15小题,每题2分,共30分)
1. for循环的三个表达式分别是:初始化表达式、______表达式和迭代表达式。
2. for循环中的初始化表达式通常用来______循环控制变量。
3. 在for循环中,如果省略了条件表达式,则默认条件为______。
4. 迭代表达式通常用来______循环控制变量。
5. while循环的语法格式是:while(______) { 循环体; }。
6. do-while循环与while循环的不同之处在于,do-while循环是______判断条件。
7. break语句用于______当前循环。
8. continue语句在循环中的作用是______本次循环的剩余部分,并开始下一次循环。
9. 当循环次数固定时,通常使用______循环来实现。
10. 如果一个循环体至少要执行一次,应使用______循环。
11. 在while循环中,如果条件表达式始终为真,则可能发生______。
12. 循环结构包括______、while、do-while三种。
13. 在for循环中,如果循环控制变量在循环体内部被修改,可能会导致______。
14. 如果需要在一个循环内部嵌套另一个循环,这种结构称为______循环。
15. 有以下程序段,为使此程序段不隐入死循环,从键盘输入的数据应该是______。
int n,t=1, s=0;
scanf (" %d", &n);
do{
s=s+t; t=t-2;
} while (t!=n);
二、单项选择题(本大题共15小题,每题2分,共30分)
1. 关于for循环的初始化表达式,以下描述错误的是( )。
A. 可以省略
B. 必须在循环体内进行
C. 可以在声明变量时初始化
D. 可以包含多个变量初始化
2. 下列哪个是for循环的正确语法?( )
A. for (int i = 0; i < 10; i++)
B. for i = 0; i < 10; i++
C. for (int i = 0; i < 10; ++i;)
D. for (int i = 0; i < 10)
3. 以下哪个循环语句执行次数最少?( )
A. while (i < 10)
B. do { } while (i < 10)
C. for (int i = 10; i < 10; i++)
D. for (int i = 0; i < 10; i++)
4. 以下哪个循环语句可以无限循环?( )
A. while (i > 10)
B. for (;;)
C. do { } while (i == 10)
D. for (int i = 0; i < 10; i++)
5. 关于while循环和do-while循环的区别,以下描述错误的是( )。
A. while循环先判断条件,再执行循环体
B. do-while循环先执行一次循环体,再判断条件
C. while循环至少执行一次循环体
D. do-while循环的循环体至少执行一次
6. 以下哪个循环语句可以正确输出10次“Hello World”?( )
A. for (int i = 0; i < 10; i++) printf("Hello World
");
B. for (int i = 0; i <= 10; i--) printf("Hello World
");
C. for (int i = 0; i < 10; i--) printf("Hello World
");
D. for (int i = 0; i <= 10; i++) printf("Hello World
");
7.C语言中while和do-while循环的主要区别是( )。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
8.语句while (!e);中的条件!e等价于( )。
A. e==0 B. e!=l
C. e!=0 D. ~e
9.C语言中( )。
A.不能使用do…while语句构成的循环
B.do…while语句构成的循环必须用break语句才能退出
C.do…while语句构成的循环,当while语句中的表达式值为非零时结束循环
D. do…while 语句构成的循环,当while语句中的表达式值为零时结束循环
10.下面有关for循环的正确描述是( )。
A.for循环只能用于循环次数已经确定的情况
B.for 循环是先执行循环体语句,后判定表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
11. 以下程序的输出结果是( )。
main( )
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if (b>=10) break;
if (b%5==1) { b+=5; continue; }
}
printf("%d
",a);
}
A. 101
B. 6
C. 4
D. 3
12. 以下程序的循环次数是( )。
main()
{
int i=0;
while(i<10)
{
if(i<1) continue;
if(i==5) break;
i++;
}
}
A. 死循环,不能确定次数
B. 6
C. 4
D. 1
13. 以下程序的输出结果是( )。
int x=23;
do{
printf("%2d",x - -);
}while(!x);
A. 打印出321
B. 打印出23
C. 不打印任何内容
D. 陷入死循环
14. 下面程序执行后输出sum的值是( )。
void main(){
int i,sum;
for(i=0;i<6;i++)
sum+=i;
printf("%d
",sum);
}
A. 15
B. 14
C. 0
D. 不确定
15. 以下程序的运行结果是( )。
main( )
{
unsigned int num,k;
num=26;k=1;
do {
k*=num%10;
num/=10;
} while(num);
printf("%d
", k);
}
A. 2
B. 12
C. 60
D. 18
三、判断题(本大题共6小题,每题2分,共12分)
1. for语句是一种条件循环语句,它可以替代while语句实现循环结构。( )
2. 在for循环中,初始化表达式、条件表达式和迭代表达式都是必须的。( )
3. do-while循环和while循环的区别在于,do-while循环至少会执行一次循环体。( )
4. while循环和do-while循环的判断条件必须是逻辑表达式。( )
5. 使用break语句可以立即结束当前循环。( )
6. 无法预知循环次数时,应使用for循环。( )
四、程序填空题(本大题共2小题,每题8分,共16分)
1.#include <stdio.h>
int main() {
int i, sum = 0;
for(i = 1; i <= 10; i++) {
// 请在下面填空,计算1到10的累加和
sum = sum + ________;
}
printf("1到10的累加和为:%d
", sum);
return 0;
}
2.#include <stdio.h>
int main() {
int i = 0;
while(i < 10) {
// 请在下面填空,输出0到9的数字
printf("%d ", ________);
i++;
}
printf("
");
return 0;
}
五、阅读程序题(本大题共12分)
1.阅读以下C语言程序,回答问题。
#include <stdio.h>
int main() {
int i, sum = 0;
// 循环结构1
for(i = 1; i <= 10; i++) {
sum += i;
}
printf("循环结构1的累加和为:%d
", sum);
// 重置sum为0
sum = 0;
// 循环结构2
i = 1;
while(i <= 10) {
sum += i;
i++;
}
printf("循环结构2的累加和为:%d
", sum);
// 重置sum为0
sum = 0;
// 循环结构3
i = 1;
do {
sum += i;
i++;
} while(i <= 10);
printf("循环结构3的累加和为:%d
", sum);
return 0;
}
问题:
(1)请说明三种循环结构(循环结构1、循环结构2、循环结构3)的区别。
(2)这三个循环结构分别计算了1到10的累加和,请问它们的输出结果是否相同?为什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$