第22卷 C语言-C语言卷9——while和do while循环结构——江苏省计算机类——考纲百套卷

2026-06-30
| 2份
| 19页
| 7人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 循环结构
使用场景 中职复习-中职高考
学年 2027-2028
地区(省份) 江苏省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 92 KB
发布时间 2026-06-30
更新时间 2026-06-30
作者 xy06893
品牌系列 学易金卷·考纲百套卷
审核时间 2026-06-30
下载链接 https://m.zxxk.com/soft/58571356.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第22卷为专业核心模块训练卷,按《C语言》中"C语言卷9——while和do while循环结构"范围和要求编写。具体内容为:理解while和do while循环结构。 江苏省对口招生职业技能考试 C语言 试卷 (C语言卷9——while和do while循环结构) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. while循环的基本格式是( ) A.while 条件 语句 B.while(条件) 语句 C.while (条件) then 语句 D.while 条件 do 语句 【答案】B 【解析】while循环格式为while(条件) 语句。 2. do...while循环的基本格式是( ) A.do 语句 while(条件); B.do 语句 while 条件 C.do {语句} while(条件) D.do 语句 while(条件)(无分号) 【答案】A 【解析】do...while格式为do 语句 while(条件); 注意while后必须有分号。 3. while循环先____条件,再执行循环体 A.执行 B.判断 C.更新 D.初始化 【答案】B 【解析】while循环先判断条件,条件为真才执行循环体。 4. do...while循环先____循环体,再判断条件 A.判断 B.执行 C.更新 D.初始化 【答案】B 【解析】do...while先执行一次循环体,再判断条件。 5. 下列关于while循环,正确的是( ) A.while循环体至少执行一次 B.while循环先判断条件 C.while循环不能实现无限循环 D.while循环条件不能为空 【答案】B 【解析】while循环先判断条件,条件为真才执行循环体,可能一次都不执行。 6. 下列关于do...while循环,正确的是( ) A.循环体可能一次都不执行 B.循环体至少执行一次 C.while后不需要分号 D.do...while和while完全相同 【答案】B 【解析】do...while先执行一次循环体,再判断条件,所以至少执行一次。 7. 下列while循环执行次数正确的是( ) while(i<10) i++; (初始i=0) A.9次 B.10次 C.11次 D.无限次 【答案】B 【解析】i从0到9,共10次迭代,i变为10后退出循环。 8. 想要实现无限循环,下列写法正确的是( ) A.while(0) B.while(1) C.while(-1) D.while(2) 【答案】B 【解析】while(1)中1为非0值(真),条件永远为真,形成无限循环。 9. 下列程序段执行后i的值是( ) int i=0; while(i<5) i++; A.4 B.5 C.6 D.不确定 【答案】B 【解析】i从0递增到5时退出循环,循环结束时i的值为5。 10. 下列关于while和do...while的区别,正确的是( ) A.两者完全相同 B.while先判断,do...while先执行 C.do...while先判断,while先执行 D.两者都不能实现无限循环 【答案】B 【解析】while先判断条件再执行,do...while先执行一次再判断条件。 11. 以下程序段执行后,循环体总共执行了多少次?( ) int x = 5; do { x -= 2; } while (x > 0); A. 2次 B. 3次 C. 4次 D. 无限循环 【答案】B 【解析】 循环次数 执行前 x 执行 x-=2 判断 x>0 是否继续 第1次 5 3 3>0 真 继续 第2次 3 1 1>0 真 继续 第3次 1 -1 -1>0 假 退出 所以共执行 3次,最终 x = -1。 12. 在while循环中,想要跳出整个循环应该使用( ) A.continue语句 B.break语句 C.exit语句 D.return语句 【答案】B 【解析】break语句用于跳出整个循环。 13. 在while循环中,想要跳过本次循环剩余语句应该使用( ) A.break语句 B.continue语句 C.exit语句 D.return语句 【答案】B 【解析】continue语句跳过本次循环剩余语句,进入下次迭代。 14. 下列关于while循环的条件,正确的是( ) A. 条件必须存在 B. 条件可以省略(无限循环) C. 条件必须是关系表达式 D. 条件不能为常量 【答案】A 【解析】while循环的条件表达式必须存在,不能省略。while(1) 和 while(true) 虽然可以形成无限循环,但条件是存在的(是常量表达式),而不是省略了条件。只有 for 循环的条件才可以省略,即 for(;;)。 15. 下列程序段输出结果是( ) int i=1; while(i<=3) { printf("%d ",i); i++; } A.1 2 3 B.1 2 3 4 C.2 3 4 D.编译错误 【答案】A 【解析】i从1到3,输出1 2 3。 16. do...while循环while后面的分号( ) A.可以省略 B.必须存在 C.可以替换为逗号 D.编译时自动添加 【答案】B 【解析】do...while循环的while(条件)后面必须加分号;。 17. 想要用while循环计算1+2+...+n,循环条件可以设为( ) A.i<n B.i<=n C.i>n D.i>=n 【答案】B 【解析】i从1到n,条件i<=n时继续循环。 18. 下列关于while循环,错误的是( ) A.while循环可能一次都不执行 B.while循环可以实现无限循环 C.while循环必须有循环体 D.while循环的条件不能为表达式 【答案】D 【解析】while循环的条件可以是任何表达式,0为假,非0为真。 19. 下列程序段执行后sum的值是( ) int i=1,sum=0; while(i<=100) { sum+=i; i++; } A.5050 B.4950 C.5100 D.不确定 【答案】A 【解析】1+2+...+100=5050。 20. while循环和for循环的主要区别是( ) A.while循环不能嵌套 B.for循环结构更紧凑,适合计数循环 C.while循环不能实现无限循环 D.for循环必须先执行循环体 【答案】B 【解析】for循环将初始化、条件、更新集中在一行,结构更紧凑。 二、判断题(共10题,每题1分,共10分) 21. while循环先判断条件,再执行循环体( ) 【答案】√ 【解析】while循环先判断条件,条件为真才执行循环体。 22. do...while循环先执行循环体,再判断条件( ) 【答案】√ 【解析】do...while先执行一次循环体,再判断条件。 23. while循环的循环体可能一次都不执行( ) 【答案】√ 【解析】若条件一开始就为假,while循环体可能一次都不执行。 24. do...while循环的循环体至少执行一次( ) 【答案】√ 【解析】do...while先执行一次循环体,再判断条件,所以至少执行一次。 25. while(1)是一个合法的无限循环( ) 【答案】√ 【解析】1为非0值(真),while(1)条件永远为真,形成无限循环。 26. do...while循环中while(条件)后面必须有分号( ) 【答案】√ 【解析】do...while循环的while(条件)后面必须加分号;。 27. break语句可以跳出整个while循环( ) 【答案】√ 【解析】break语句用于跳出整个循环。 28. continue语句可以跳出整个while循环( ) 【答案】× 【解析】continue跳过本次循环剩余语句,进入下次迭代,不能跳出整个循环。 29. while循环不能用来实现无限循环( ) 【答案】× 【解析】while(1)可以实现无限循环。 30. while循环的条件部分可以省略(形成无限循环)( ) 【答案】× 【解析】 while循环的条件部分不能省略,while() 是语法错误。能形成无限循环的正确写法是 while(1) 或 while(true),但这里的条件表达式 1 或 true 是存在的,并非省略。容易混淆的是 for 循环,其条件部分可以省略,即 for(;;) 构成无限循环。 三、填空题(共10空,每空2分,共20分) 31. while循环的基本格式是:while(____) 语句。 【答案】条件(表达式) 【解析】while循环需要圆括号中的条件表达式。 32. do...while循环的基本格式是:do 语句 ____(条件);。 【答案】while 【解析】do...while格式为do 语句 while(条件);。 33. while循环先____条件,再执行循环体。 【答案】判断(检查) 【解析】while循环先判断条件,条件为真才执行循环体。 34. do...while循环先执行____,再判断条件。 【答案】循环体 【解析】do...while先执行一次循环体,再判断条件。 35. 在while循环中,____语句可以跳出整个循环。 【答案】break 【解析】break语句用于跳出整个循环。 36. 在while循环中,____语句可以跳过本次循环的剩余语句。 【答案】continue 【解析】continue语句跳过本次循环剩余语句,进入下次迭代。 37. 想要实现无限循环,可以使用while(____)。 【答案】1(非0值) 【解析】while(1)中1为非0值(真),条件永远为真。 38. do...while循环中,while(条件)后面的____不能省略。 【答案】分号; 【解析】do...while循环的while(条件)后面必须加分号;。 39. while循环的条件为____时,循环体一次都不执行。 【答案】假(0) 【解析】若条件一开始就为假(0),while循环体一次都不执行。 40. do...while循环的循环体至少执行____次。 【答案】一(1) 【解析】do...while先执行一次循环体,所以至少执行一次。 四、程序综合题(共3题,每题10分,共30分) 41. 程序阅读题:阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int i=1,s1=0,s2=0; while(i<=3) { s1=s1+i; i++; } i=1; do { s2=s2+i; i++; }while(i<=3); printf("s1=%d,s2=%d ",s1,s2); return 0; } 【答案】s1=6,s2=6 【解析】 while 循环:i 从 1 到 3,累加 1+2+3,s1 结果为 6; do-while 循环:同样累加 1+2+3,s2 结果为 6; 最终输出 s1=6,s2=6。 42. 程序填空题:阅读下列程序,请将①~④表示的内容填写完整。 (1) #include <stdio.h> (2) int main() (3) { (4) int n=5; (5) while(n>0) (6) { (7) printf("%d ",n); (8) n--; (9) } (10) return 0; (11) } 上述程序中,while循环的条件是①____,第8行n--表示②____, 循环体执行了③____次,程序输出结果为④____。 【答案】① n>0 ② 变量 n 的值自减 1 ③ 5 ④ 5 4 3 2 1 【解析】 ① while 括号里的循环条件为 n>0; ② n-- 含义是变量 n 自减 1; ③ n 从 5 递减到 1,循环一共执行 5 次; ④ 循环依次输出 5 4 3 2 1。 43.文件vote_rank.dat存储候选人姓名和得票数。按得票数降序排名,票数相同按姓名升序,输出排名前10的候选人。请完善程序 #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 180 #define TOP 10 void sort_vote(char name[][20],int vote[],int n); int main() { FILE *fp; int i=0,n; char cand[N][20]; int vt[N]; fp=fopen("vote_rank.dat","r"); while(!feof(fp)) { fscanf(fp,"%s%d",cand[i],&vt[i]); ①; } n=i; fclose(fp); sort_vote(cand,vt,n); for(i=0;i<TOP&&i<n;i++) printf("%d.%s %d票 ",i+1,cand[i],vt[i]); return 0; } void sort_vote(char name[][20],int vote[],int n) { int i,j,p; char tname[20]; int tvote; for(i=0;i<n-1;i++) { p=i; for(j=i+1;j<n;j++) { if(vote[p]<②||(vote[p]==vote[j]&&strcmp(name[p],name[j])>0)) p=j; } if(p!=i) { strcpy(tname,name[p]);strcpy(name[p],name[i]);strcpy(name[i],tname); tvote=vote[p];vote[p]=vote[i];vote[i]=tvote; } } } 【答案】① i++ ② vote [j] 【解析】 ① 每读取一位候选人信息,下标 i 自增 1; ② 票数降序,若当前候选票数小于后面的票数,则更换位置。 学科网(北京)股份有限公司 $ 编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第22卷为专业核心模块训练卷,按《C语言》中"C语言卷9——while和do while循环结构"范围和要求编写。具体内容为:理解while和do while循环结构。 江苏省对口招生职业技能考试 C语言 试卷 (C语言卷9——while和do while循环结构) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. while循环的基本格式是( ) A.while 条件 语句 B.while(条件) 语句 C.while (条件) then 语句 D.while 条件 do 语句 2. do...while循环的基本格式是( ) A.do 语句 while(条件); B.do 语句 while 条件 C.do {语句} while(条件) D.do 语句 while(条件)(无分号) 3. while循环先____条件,再执行循环体 A.执行 B.判断 C.更新 D.初始化 4. do...while循环先____循环体,再判断条件 A.判断 B.执行 C.更新 D.初始化 5. 下列关于while循环,正确的是( ) A.while循环体至少执行一次 B.while循环先判断条件 C.while循环不能实现无限循环 D.while循环条件不能为空 6. 下列关于do...while循环,正确的是( ) A.循环体可能一次都不执行 B.循环体至少执行一次 C.while后不需要分号 D.do...while和while完全相同 7. 下列while循环执行次数正确的是( ) while(i<10) i++; (初始i=0) A.9次 B.10次 C.11次 D.无限次 8. 想要实现无限循环,下列写法正确的是( ) A.while(0) B.while(1) C.while(-1) D.while(2) 9. 下列程序段执行后i的值是( ) int i=0; while(i<5) i++; A.4 B.5 C.6 D.不确定 10. 下列关于while和do...while的区别,正确的是( ) A.两者完全相同 B.while先判断,do...while先执行 C.do...while先判断,while先执行 D.两者都不能实现无限循环 11.以下程序段执行后,循环体总共执行了多少次?( ) int x = 5; do { x -= 2; } while (x > 0); A. 2次 B. 3次 C. 4次 D. 无限循环 12. 在while循环中,想要跳出整个循环应该使用( ) A.continue语句 B.break语句 C.exit语句 D.return语句 13. 在while循环中,想要跳过本次循环剩余语句应该使用( ) A.break语句 B.continue语句 C.exit语句 D.return语句 14. 下列关于while循环的条件,正确的是( ) A. 条件必须存在 B. 条件可以省略(无限循环) C. 条件必须是关系表达式 D. 条件不能为常量 15. 下列程序段输出结果是( ) int i=1; while(i<=3) { printf("%d ",i); i++; } A.1 2 3 B.1 2 3 4 C.2 3 4 D.编译错误 16. do...while循环while后面的分号( ) A.可以省略 B.必须存在 C.可以替换为逗号 D.编译时自动添加 17. 想要用while循环计算1+2+...+n,循环条件可以设为( ) A.i<n B.i<=n C.i>n D.i>=n 18. 下列关于while循环,错误的是( ) A.while循环可能一次都不执行 B.while循环可以实现无限循环 C.while循环必须有循环体 D.while循环的条件不能为表达式 19. 下列程序段执行后sum的值是( ) int i=1,sum=0; while(i<=100) { sum+=i; i++; } A.5050 B.4950 C.5100 D.不确定 20. while循环和for循环的主要区别是( ) A.while循环不能嵌套 B.for循环结构更紧凑,适合计数循环 C.while循环不能实现无限循环 D.for循环必须先执行循环体 二、判断题(共10题,每题1分,共10分) 21. while循环先判断条件,再执行循环体( ) 22. do...while循环先执行循环体,再判断条件( ) 23. while循环的循环体可能一次都不执行( ) 24. do...while循环的循环体至少执行一次( ) 25. while(1)是一个合法的无限循环( ) 26. do...while循环中while(条件)后面必须有分号( ) 27. break语句可以跳出整个while循环( ) 28. continue语句可以跳出整个while循环( ) 29. while循环不能用来实现无限循环( ) 30. while循环的条件部分可以省略(形成无限循环)( ) 三、填空题(共10空,每空2分,共20分) 31. while循环的基本格式是:while(____) 语句。 32. do...while循环的基本格式是:do 语句 ____(条件);。 33. while循环先____条件,再执行循环体。 34. do...while循环先执行____,再判断条件。 35. 在while循环中,____语句可以跳出整个循环。 36. 在while循环中,____语句可以跳过本次循环的剩余语句。 37. 想要实现无限循环,可以使用while(____)。 38. do...while循环中,while(条件)后面的____不能省略。 39. while循环的条件为____时,循环体一次都不执行。 40. do...while循环的循环体至少执行____次。 四、程序综合题(共3题,每题10分,共30分) 41. 程序阅读题:阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int i=1,s1=0,s2=0; while(i<=3) { s1=s1+i; i++; } i=1; do { s2=s2+i; i++; }while(i<=3); printf("s1=%d,s2=%d ",s1,s2); return 0; } 42. 程序填空题:阅读下列程序,请将①~④表示的内容填写完整。 (1) #include <stdio.h> (2) int main() (3) { (4) int n=5; (5) while(n>0) (6) { (7) printf("%d ",n); (8) n--; (9) } (10) return 0; (11) } 上述程序中,while循环的条件是①____,第8行n--表示②____, 循环体执行了③____次,程序输出结果为④____。 43.文件vote_rank.dat存储候选人姓名和得票数。按得票数降序排名,票数相同按姓名升序,输出排名前10的候选人。请完善程序 #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 180 #define TOP 10 void sort_vote(char name[][20],int vote[],int n); int main() { FILE *fp; int i=0,n; char cand[N][20]; int vt[N]; fp=fopen("vote_rank.dat","r"); while(!feof(fp)) { fscanf(fp,"%s%d",cand[i],&vt[i]); ①; } n=i; fclose(fp); sort_vote(cand,vt,n); for(i=0;i<TOP&&i<n;i++) printf("%d.%s %d票 ",i+1,cand[i],vt[i]); return 0; } void sort_vote(char name[][20],int vote[],int n) { int i,j,p; char tname[20]; int tvote; for(i=0;i<n-1;i++) { p=i; for(j=i+1;j<n;j++) { if(vote[p]<②||(vote[p]==vote[j]&&strcmp(name[p],name[j])>0)) p=j; } if(p!=i) { strcpy(tname,name[p]);strcpy(name[p],name[i]);strcpy(name[i],tname); tvote=vote[p];vote[p]=vote[i];vote[i]=tvote; } } } 学科网(北京)股份有限公司 $

资源预览图

第22卷 C语言-C语言卷9——while和do while循环结构——江苏省计算机类——考纲百套卷
1
第22卷 C语言-C语言卷9——while和do while循环结构——江苏省计算机类——考纲百套卷
2
第22卷 C语言-C语言卷9——while和do while循环结构——江苏省计算机类——考纲百套卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。