《C语言程序设计》(四)循环结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第50卷

2024-08-09
| 2份
| 18页
| 98人阅读
| 1人下载

内容正文:

编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共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的累加和,请问它们的输出结果是否相同?为什么? 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》(四)循环结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第50卷
1
《C语言程序设计》(四)循环结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第50卷
2
《C语言程序设计》(四)循环结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第50卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。