第21卷 C语言-C语言卷8——for循环结构——江苏省计算机类——考纲百套卷

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

资源信息

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

内容正文:

编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第21卷为专业核心模块训练卷,按《C语言》中"C语言卷8——for循环结构"范围和要求编写。具体内容为:掌握for循环结构。 江苏省对口招生职业技能考试 C语言 试卷 (C语言卷8——for循环结构) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. for循环的基本格式是( ) A.for 条件 语句 B.for(初始化;条件;更新) 语句 C.for(条件) 语句 D.for 初始化,条件,更新 语句 【答案】B 【解析】for循环格式为for(初始化;条件;更新) 语句。 2. 下列关于for循环,正确的是( ) A.for循环必须先执行初始化 B.for循环的条件判断在循环体执行之后 C.for循环可以用于已知循环次数的场合 D.for循环不能嵌套使用 【答案】C 【解析】for循环特别适合用于已知循环次数的场合。 3. for(i=0;i<10;i++)循环体将执行( ) A.9次 B.10次 C.11次 D.无限次 【答案】B 【解析】i从0到9,共10次迭代。 4. 在for循环中,初始化部分( ) A.必须存在且只能是一条语句 B.可以省略不写(用分号占位) C.必须放在循环体内部 D.每次循环都执行 【答案】B 【解析】for循环的三个部分都可以省略,但分号必须保留。 5. 在for循环中,条件判断在( ) A.循环体执行之后 B.循环体执行之前 C.只在第一次迭代前 D.程序结束时 【答案】B 【解析】for循环先判断条件,条件为真才执行循环体。 6. 在for循环中,更新部分在( )执行 A.循环体执行之前 B.循环体执行之后 C.初始化之前 D.条件判断之前 【答案】B 【解析】for循环每次迭代后执行更新部分,然后重新判断条件。 7. 下列for循环执行次数的说法正确的是( ) for(i=1;i<=10;i++) A.执行9次 B.执行10次 C.执行11次 D.执行无限次 【答案】B 【解析】i从1到10,共10次迭代。 8. 下列关于for循环,错误的是( ) A.for循环的三个部分都可以省略 B.省略条件部分时默认为真(无限循环) C.for循环不能用来实现无限循环 D.初始化部分可以定义变量(C99+) 【答案】C 【解析】for(;;)就是无限循环,for循环可以实现无限循环。 9. 下列程序段的输出次数是( ) for(i=5;i>0;i--) A.0次 B.5次 C.无限次 D.6次 【答案】B 【解析】i从5到1,共5次迭代。 10. 想要用for循环计算1+2+...+100,初始化部分应该为( ) A.int i=1,sum=0; B.int i=0,sum=1; C.int i=100,sum=0; D.int i=1,sum=1; 【答案】A 【解析】计算1到100的和,i从1开始,sum初始为0。 11. 在for(;;)中,条件部分省略表示( ) A.条件为假 B.条件为真(无限循环) C.编译错误 D.运行错误 【答案】B 【解析】省略for循环的条件部分,默认为真,形成无限循环。 12. 下列关于for循环嵌套,正确的是( ) A.for循环不能嵌套 B.for循环可以嵌套,内层循环完整执行 C.嵌套for循环中内层循环只执行一次 D.for循环嵌套不能超过两层 【答案】B 【解析】for循环可以嵌套,外层循环每迭代一次,内层循环完整执行所有迭代。 13. 下列能正确计算n的阶乘的是( ) A.for(i=1;i<n;i++) fact*=i; B.for(i=1;i<=n;i++) fact*=i; C.for(i=0;i<n;i++) fact*=i; D.for(i=1;i<n;i++) fact*=i+1; 【答案】B 【解析】n的阶乘是1×2×...×n,i从1到n。 14. 在for循环中,continue语句的作用是( ) A.终止整个循环 B.跳出当前循环,执行下次迭代 C.终止程序 D.什么也不做 【答案】B 【解析】continue跳过本次循环剩余语句,进入下次迭代。 15. 在for循环中,break语句的作用是( ) A.终止本次循环迭代 B.跳出整个for循环 C.终止程序 D.重新从初始化开始 【答案】B 【解析】break跳出整个for循环,不再执行后续迭代。 16. 下列关于for循环,正确的是( ) A.for循环只能用于计数循环 B.for循环的三个部分必须用花括号括起来 C.for循环的循环体如果是多条语句需要用花括号 D.for循环的条件部分不能省略 【答案】C 【解析】for循环的循环体如果有多条语句需要用{}括起来。 17. 下列for循环执行后i的值是( ) for(i=0;i<10;i++); A.9 B.10 C.11 D.不确定 【答案】B 【解析】循环结束后i的值为10(i++执行后i变为10,然后判断i<10为假,退出循环)。 18. 想要用for循环输出1到10的所有整数,下列条件正确的是( ) A.i=1;i<10;i++ B.i=1;i<=10;i++ C.i=0;i<10;i++ D.i=1;i!=10;i++ 【答案】B 【解析】输出1到10,i从1开始,i<=10时继续循环。 19. 在for循环中,初始化部分( ) A.只能执行一次 B.每次循环都执行 C.可以执行多次 D.在循环体之后执行 【答案】A 【解析】for循环的初始化部分只在循环开始时执行一次。 20. 下列关于for和while的区别,正确的是( ) A.for循环不能实现无限循环 B.while循环必须先执行循环体再判断条件 C.for循环更适合已知次数的循环 D.while循环不能嵌套 【答案】C 【解析】for循环格式清晰,更适合已知循环次数的场合;while适合未知次数的循环。 二、判断题(共10题,每题1分,共10分) 21. for循环的三个部分(初始化、条件、更新)都可以省略( ) 【答案】√ 【解析】for循环的三个部分都可以省略,但两个分号必须保留。 22. for循环的条件判断在循环体执行之前进行( ) 【答案】√ 【解析】for循环先判断条件,条件为真才执行循环体。 23. for(;;)是一个合法的for循环,表示无限循环( ) 【答案】√ 【解析】省略条件部分默认为真,for(;;)表示无限循环。 24. 在for循环中,更新部分在循环体执行之前执行( ) 【答案】× 【解析】更新部分在循环体执行之后执行。 25. for循环只能用于已知循环次数的场合( ) 【答案】× 【解析】for循环也可以用于未知次数的场合,但while更适合。 26. 在for循环中,break语句可以跳出整个循环( ) 【答案】√ 【解析】break跳出整个for循环,不再执行后续迭代。 27. 在for循环中,continue语句可以跳过本次循环的剩余语句( ) 【答案】√ 【解析】continue跳过本次循环剩余语句,进入下次迭代。 28. for循环不能嵌套使用( ) 【答案】× 【解析】for循环可以嵌套使用,实现多重循环。 29. for循环的初始化部分在每次循环时都执行( ) 【答案】× 【解析】初始化部分只在循环开始时执行一次。 30. for(i=0;i<10;i++); 循环体只有一个空语句( ) 【答案】√ 【解析】for后的分号;是循环体(空语句),循环执行10次空语句。 三、填空题(共10空,每空2分,共20分) 31. for循环的基本格式是:for(____;____;____) 语句。 【答案】初始化、条件、更新 【解析】for(初始化;条件;更新) 语句。 32. 在for循环中,初始化部分只在循环开始时执行____次。 【答案】一(1) 【解析】初始化部分只在循环开始时执行一次。 33. 在for循环中,条件判断在循环体执行____(填之前或之后)。 【答案】之前 【解析】for循环先判断条件,条件为真才执行循环体。 34. 在for循环中,更新部分在循环体执行____(填之前或之后)。 【答案】之后 【解析】更新部分在循环体执行之后执行。 35. for循环的三个部分都可以省略,但必须保留____个分号。 【答案】两(2) 【解析】for(;;)中两个分号不能省略。 36. 在for循环中,____语句可以跳出整个循环。 【答案】break 【解析】break跳出整个for循环。 37. 在for循环中,____语句可以跳过本次循环的剩余语句。 【答案】continue 【解析】continue跳过本次循环剩余语句,进入下次迭代。 38. for(;;)表示____循环(填有限或无限)。 【答案】无限 【解析】省略条件部分默认为真,for(;;)是无限循环。 39. for循环嵌套中,外层循环每迭代一次,内层循环____执行所有迭代。 【答案】完整(全部) 【解析】外层循环每迭代一次,内层循环完整执行所有迭代。 40. for(i=1;i<=10;i++)循环体执行____次。 【答案】10 【解析】i从1到10,共10次迭代。 四、程序综合题(共3题,每题10分,共30分) 41. 程序阅读题:阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int i,s=0; for(i=1;i<=5;i++) s=s+i; printf("s=%d ",s); s=0; for(i=1;i<=10;i+=2) s=s+i; printf("s=%d ",s); return 0; } 【答案】s=15;s=25 【解析】 1.第一个循环计算 1+2+3+4+5,结果为 15,输出 s=15; 2.第二个循环计算 1+3+5+7+9,结果为 25,输出 s=25。 42.文件lucky.txt中存放一个正整数(位数≥5)。用削峰法删除2个数字,使新数只包含数字4和8(幸运数字),且尽可能大。请完善程序。 #include<stdio.h> #include<string.h> #include<stdlib.h> #define DEL 2 int is_lucky(int n); int max_lucky(char strn[],int deln); int main() { char strn[30]; int result; FILE *fp=fopen("lucky.txt","r"); fscanf(fp,"%s",strn); fclose(fp); result=max_lucky(strn,DEL); if(result>0)printf("最大幸运数:%d ",result); else printf("不存在"); return 0; } int is_lucky(int n) { int d; while(n>0) { d=n%10; if(①)return 0; n/=10; } return 1; } int max_lucky(char strn[],int deln) { int lenth=strlen(strn); int i,k,dn,maxl=-1,num; for(dn=1;dn<=deln;dn++) { i=0; while(strn[i]>=strn[i+1]&&i<lenth-dn) i++; for(k=i;k<lenth-dn;k++) ②; } num=0; for(k=0;k<lenth-deln;k++) num=num*10+strn[k]-'0'; if(③&&num>maxl)maxl=num; return maxl; } 【答案】① d!=4 && d!=8 ② strn [k]=strn [k+1] ③ is_lucky (num) 【解析】 ① 判断数字是否为 4 或 8,不是则返回 0,判定非幸运数字; ② 将后一位字符向前覆盖,实现删除指定位置数字的功能; ③ 调用函数判断数字是否为幸运数字,满足条件则更新最大值。 43.文件root.txt中存放一个正整数(位数≥6)。用削峰法删除3个数字,使新数的数字根(各位数字反复求和至个位)等于指定值。请完善程序。 #include<stdio.h> #include<string.h> #include<stdlib.h> #define DEL 3 int digital_root(int n); int find_by_root(char strn[],int deln,int target); int main() { char strn[50]; int target,result; FILE *fp=fopen("root.txt","r"); fscanf(fp,"%s",strn); fclose(fp); scanf("%d",&target); result=find_by_root(strn,DEL,target); if(result>0)printf("符合条件的数:%d ",result); else printf("不存在"); return 0; } int digital_root(int n) { while(n>=10) { int sum=0; while(n>0) { ①; n/=10; } n=sum; } return n; } int find_by_root(char strn[],int deln,int target) { int lenth=strlen(strn); int i,k,dn,num,sum; for(dn=1;dn<=deln;dn++) { i=0; while(strn[i]<=strn[i+1]&&i<lenth-dn) i++; for(k=i;k<lenth-dn;k++) ②; } num=0;sum=0; for(k=0;k<lenth-deln;k++) { num=num*10+strn[k]-'0'; sum+=strn[k]-'0'; } if(③)return num; return -1; } 【答案】① sum+=n%10 ② strn [k]=strn [k+1] ③ digital_root (num)==target 【解析】 ① 累加数字的每一位,计算各位数字之和; ② 将后一位字符向前覆盖,实现删除指定位置数字的功能; ③ 判断数字根是否等于目标值,满足条件则返回该数。 学科网(北京)股份有限公司 $ 编写说明:江苏省对口招生计算机类《考纲百套卷》,依据《江苏省计算机类专业综合理论考试大纲》编写。本专辑涵盖5门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第21卷为专业核心模块训练卷,按《C语言》中"C语言卷8——for循环结构"范围和要求编写。具体内容为:掌握for循环结构。 江苏省对口招生职业技能考试 C语言 试卷 (C语言卷8——for循环结构) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. for循环的基本格式是( ) A.for 条件 语句 B.for(初始化;条件;更新) 语句 C.for(条件) 语句 D.for 初始化,条件,更新 语句 2. 下列关于for循环,正确的是( ) A.for循环必须先执行初始化 B.for循环的条件判断在循环体执行之后 C.for循环可以用于已知循环次数的场合 D.for循环不能嵌套使用 3. for(i=0;i<10;i++)循环体将执行( ) A.9次 B.10次 C.11次 D.无限次 4. 在for循环中,初始化部分( ) A.必须存在且只能是一条语句 B.可以省略不写 C.必须放在循环体内部 D.每次循环都执行 5. 在for循环中,条件判断在( ) A.循环体执行之后 B.循环体执行之前 C.只在第一次迭代前 D.程序结束时 6. 在for循环中,更新部分在( )执行 A.循环体执行之前 B.循环体执行之后 C.初始化之前 D.条件判断之前 7. 下列for循环执行次数的说法正确的是( ) for(i=1;i<=10;i++) A.执行9次 B.执行10次 C.执行11次 D.执行无限次 8. 下列关于for循环,错误的是( ) A.for循环的三个部分都可以省略 B.省略条件部分时默认为真(无限循环) C.for循环不能用来实现无限循环 D.初始化部分可以定义变量(C99+) 9. 下列程序段的输出次数是( ) for(i=5;i>0;i--) A.0次 B.5次 C.无限次 D.6次 10. 想要用for循环计算1+2+...+100,初始化部分应该为( ) A.int i=1,sum=0; B.int i=0,sum=1; C.int i=100,sum=0; D.int i=1,sum=1; 11. 在for(;;)中,条件部分省略表示( ) A.条件为假 B.条件为真(无限循环) C.编译错误 D.运行错误 12. 下列关于for循环嵌套,正确的是( ) A.for循环不能嵌套 B.for循环可以嵌套,内层循环完整执行 C.嵌套for循环中内层循环只执行一次 D.for循环嵌套不能超过两层 13. 下列能正确计算n的阶乘的是( ) A.for(i=1;i<n;i++) fact*=i; B.for(i=1;i<=n;i++) fact*=i; C.for(i=0;i<n;i++) fact*=i; D.for(i=1;i<n;i++) fact*=i+1; 14. 在for循环中,continue语句的作用是( ) A.终止整个循环 B.跳出当前循环,执行下次迭代 C.终止程序 D.什么也不做 15. 在for循环中,break语句的作用是( ) A.终止本次循环迭代 B.跳出整个for循环 C.终止程序 D.重新从初始化开始 16. 下列关于for循环,正确的是( ) A.for循环只能用于计数循环 B.for循环的三个部分必须用花括号括起来 C.for循环的循环体如果是多条语句需要用花括号 D.for循环的条件部分不能省略 17. 下列for循环执行后i的值是( ) for(i=0;i<10;i++); A.9 B.10 C.11 D.不确定 18. 想要用for循环输出1到10的所有整数,下列条件正确的是( ) A.i=1;i<10;i++ B.i=1;i<=10;i++ C.i=0;i<10;i++ D.i=1;i!=10;i++ 19. 在for循环中,初始化部分( ) A.只能执行一次 B.每次循环都执行 C.可以执行多次 D.在循环体之后执行 20. 下列关于for和while的区别,正确的是( ) A.for循环不能实现无限循环 B.while循环必须先执行循环体再判断条件 C.for循环更适合已知次数的循环 D.while循环不能嵌套 二、判断题(共10题,每题1分,共10分) 21. for循环的三个部分(初始化、条件、更新)都可以省略( ) 22. for循环的条件判断在循环体执行之前进行( ) 23. for(;;)是一个合法的for循环,表示无限循环( ) 24. 在for循环中,更新部分在循环体执行之前执行( ) 25. for循环只能用于已知循环次数的场合( ) 26. 在for循环中,break语句可以跳出整个循环( ) 27. 在for循环中,continue语句可以跳过本次循环的剩余语句( ) 28. for循环不能嵌套使用( ) 29. for循环的初始化部分在每次循环时都执行( ) 30. for(i=0;i<10;i++); 循环体只有一个空语句( ) 三、填空题(共10空,每空2分,共20分) 31. for循环的基本格式是:for(____;____;____) 语句。 32. 在for循环中,初始化部分只在循环开始时执行____次。 33. 在for循环中,条件判断在循环体执行____(填之前或之后)。 34. 在for循环中,更新部分在循环体执行____(填之前或之后)。 35. for循环的三个部分都可以省略,但必须保留____个分号。 36. 在for循环中,____语句可以跳出整个循环。 37. 在for循环中,____语句可以跳过本次循环的剩余语句。 38. for(;;)表示____循环(填有限或无限)。 39. for循环嵌套中,外层循环每迭代一次,内层循环____执行所有迭代。 40. for(i=1;i<=10;i++)循环体执行____次。 四、程序综合题(共3题,每题10分,共30分) 41. 程序阅读题:阅读下列程序,写出运行结果。 #include <stdio.h> int main() { int i,s=0; for(i=1;i<=5;i++) s=s+i; printf("s=%d ",s); s=0; for(i=1;i<=10;i+=2) s=s+i; printf("s=%d ",s); return 0; } 42.文件lucky.txt中存放一个正整数(位数≥5)。用削峰法删除2个数字,使新数只包含数字4和8(幸运数字),且尽可能大。请完善程序。 #include<stdio.h> #include<string.h> #include<stdlib.h> #define DEL 2 int is_lucky(int n); int max_lucky(char strn[],int deln); int main() { char strn[30]; int result; FILE *fp=fopen("lucky.txt","r"); fscanf(fp,"%s",strn); fclose(fp); result=max_lucky(strn,DEL); if(result>0)printf("最大幸运数:%d ",result); else printf("不存在"); return 0; } int is_lucky(int n) { int d; while(n>0) { d=n%10; if(①)return 0; n/=10; } return 1; } int max_lucky(char strn[],int deln) { int lenth=strlen(strn); int i,k,dn,maxl=-1,num; for(dn=1;dn<=deln;dn++) { i=0; while(strn[i]>=strn[i+1]&&i<lenth-dn) i++; for(k=i;k<lenth-dn;k++) ②; } num=0; for(k=0;k<lenth-deln;k++) num=num*10+strn[k]-'0'; if(③&&num>maxl)maxl=num; return maxl; } 43.文件root.txt中存放一个正整数(位数≥6)。用削峰法删除3个数字,使新数的数字根(各位数字反复求和至个位)等于指定值。请完善程序。 #include<stdio.h> #include<string.h> #include<stdlib.h> #define DEL 3 int digital_root(int n); int find_by_root(char strn[],int deln,int target); int main() { char strn[50]; int target,result; FILE *fp=fopen("root.txt","r"); fscanf(fp,"%s",strn); fclose(fp); scanf("%d",&target); result=find_by_root(strn,DEL,target); if(result>0)printf("符合条件的数:%d ",result); else printf("不存在"); return 0; } int digital_root(int n) { while(n>=10) { int sum=0; while(n>0) { ①; n/=10; } n=sum; } return n; } int find_by_root(char strn[],int deln,int target) { int lenth=strlen(strn); int i,k,dn,num,sum; for(dn=1;dn<=deln;dn++) { i=0; while(strn[i]<=strn[i+1]&&i<lenth-dn) i++; for(k=i;k<lenth-dn;k++) ②; } num=0;sum=0; for(k=0;k<lenth-deln;k++) { num=num*10+strn[k]-'0'; sum+=strn[k]-'0'; } if(③)return num; return -1; } 学科网(北京)股份有限公司 $

资源预览图

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