第74卷 for循环《计算机编程语言——C语言》湖南省对口招生《计算机应用类专业考纲百套卷》

2026-06-24
| 2份
| 27页
| 47人阅读
| 0人下载

内容正文:

编写说明:湖南省普通高校对口招生专业理论考试《计算机应用类专业综合考纲百套卷》,依据《湖南省普通高校对口招生计算机应用类专业综合知识基本要求及考试大纲》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第74卷,按《计算机编程语言——C语言》范围和要求编写。具体内容为:①for语句的使用。 湖南省《计算机应用类专业综合考纲百套卷》 第74卷 《计算机编程语言——C语言》 for循环 考点训练卷 考试时间60分钟 满分100分 班级________姓名________学号________成绩________ 一、单项选择题(本大题共15小题,每题2分,共30分) 1.已知代码:int i;for(i=1; i<=5; i++){ i++; },循环体实际执行次数为( ) A. 2 次 B. 3 次 C. 4 次 D. 5 次 【答案】B 【解析】初始 i=1,判断成立进入循环,i 自增变为 2;执行 i++ 后 i=3,第二次判断成立,循环内 i++ 变为 4;再 i++ 变为 5,第三次判断成立,循环内 i++ 变为 6;最终判断 6<=5 不成立,共执行 3 次。 2.代码int s=0,a; for(a=2; a<8; a+=2) s+=a;,变量 s 最终值为( ) A. 12 B. 20 C. 22 D. 24 【答案】A 【解析】循环取值 a=2、4、6,累加:2+4+6=12。 3.执行int k=0; for(k++; k<4; k++){},循环执行次数为( ) A. 3 B. 4 C. 5 D. 0 【答案】A 【解析】先执行表达式 1:k=1;依次判断 1、2、3<4 成立,共执行 3 次,k=4 时退出。 4.代码int n=0,i; for(i=5; i>0; i--) n++;,循环结束后 n 的值是( ) A. 4 B. 5 C. 6 D. 0 【答案】B 【解析】i 依次为 5、4、3、2、1,共 5 次循环,n 自增 5 次。 5.代码int sum=0,i; for(i=1; i<=4; i++){ if(i%2==0) continue; sum+=i; },sum 结果为( ) A. 4 B. 6 C. 8 D. 10 【答案】A 【解析】continue 跳过本次循环剩余代码,仅累加奇数 1、3,和为 4。 6.已知int x;for(x=10; x>1; x/=2){},循环体执行次数为( ) A. 2 B. 3 C. 4 D. 5 【答案】B 【解析】x 依次为 10、5、2,三次判断成立;x=1 时退出,共执行 3 次。 7.代码int a=1; for(;a<3;a++) a*=2;,循环结束后 a 的值为( ) A. 2 B. 3 C. 4 D. 5 【答案】B 【解析】第一次:a=1→a=2,执行 a++ 得 3;判断 3<3 不成立,最终 a=3。 8.代码int cnt=0,i; for(i=3; i<=9; i+=3) cnt++;,cnt 的值为( ) A. 2 B. 3 C. 4 D. 5 【答案】B 【解析】i 取值 3、6、9,共 3 次循环,cnt=3。 9.代码int m=5; for(;m--;);,循环结束后 m 的值为( ) A. 0 B. -1 C. 4 D. 5 【答案】B 【解析】m-- 先取值后自减,m=5、4、3、2、1 时条件为真;m=0 时条件为假,执行自减后 m=-1。 10.代码int s=1,i; for(i=2; i<=4; i++) s*=i;,s 最终结果是( ) A. 8 B. 12 C. 24 D. 30 【答案】C 【解析】累乘:1×2×3×4=24。 11.代码int a;for(a=1;a<7;a++){ if(a==4) break; },循环执行次数为( ) A. 3 B. 4 C. 6 D. 7 【答案】B 【解析】a=1、2、3、4,第四次进入循环触发 break,共执行 4 次。 12.代码 int x=0; for(;x!=8;x+=2); 循环执行次数为( ) A. 4 B. 5 C. 6 D. 无限次 【答案】A 【解析】临界值精准判断,x依次取值0、2、4、6,4次循环后x自增为8,此时x!=8条件为假,循环终止,共执行4次,无死循环。 13.以下代码段的输出结果是( ) int x = 1; for(printf("A"); printf("B"); printf("C")) { if(x-- <= 0) break; printf("D"); } A. ABDC B. ABC C. ABD D. ABDCB 【答案】D 【解析】for循环按“初始化→判断→循环体→步进”顺序执行。先打印A;第1次判断打印B,进入循环体打印D,步进打印C;第2次判断打印B,此时x--后条件成立,执行break跳出循环。故输出ABDCB。 14.执行以下代码后,变量 a 和 b 的值分别是( ) int a, b; for(a = 0, b = 0; a < 3 && b < 5; a++, b += 2) ; A. a=3, b=6 B. a=2, b=4 C. a=3, b=5 D. a=2, b=6 【答案】A 【解析】循环共执行3次步进:a从0递增到3,b每次加2最终变为6。第4次判断时,a<3为假,触发短路求值直接退出循环。最终a=3, b=6。 15.以下代码的输出结果是( ) int i = 0; for(; i < 3; i++) { switch(i) { case 0: printf("A"); case 1: printf("B"); break; case 2: printf("C"); } } A. ABC B. ABBC C. ABB D. AB 【答案】B 【解析】i=0时匹配case 0打印A,因无break发生穿透,继续打印B后跳出;i=1时匹配case 1打印B后跳出;i=2时匹配case 2打印C。故输出ABBC。 二、阅读程序,写出运行结果(本大题共10小题。每空2分,合计20分) 1.(2023年)下列程序的运行结果是__________________。 #include <stdio.h> int main() { int a=2,b=1,c=1; for(;a;) { b+=a; a-=++c; } printf("%d,%d,%d ",a,b,c); return 0; } 【答案】0,3,2 2.(2026年)下列程序的运行结果是__________________。 #include <stdio.h> int main(){ long n=15,i; for(i=2;i*i<=n;i++){ if(n%i==0){ printf("%ld",n/i); break; } } return 0; } 【答案】5 3.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i, j = 0; for(i = 1; i <= 10; i++) { if(i % 2 == 0) { j += i; continue; } j -= i; } printf("%d", j); return 0; } 【答案】5 4.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i = 2, res = 0; for(; i < 8; i++) { res += i * i / 2; i++; } printf("%d", res); return 0; } 【答案】28 5.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int x = 1, cnt = 0; for(; x != 0; x <<= 1) { cnt++; } printf("%d", cnt); return 0; } 【答案】32 6.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int a = 3, b = 5,i; for(i = 0; i < 3; i++) { a = a ^ b; b = a ^ b; a = a ^ b; } printf("%d,%d", a, b); return 0; } 【答案】5,3 7.下列程序的运行结果是__________________。 #include <stdio.h> #define SQUARE(x) ((x)*(x)) int main() { int sum = 0,i; for(i = 1; i <= 3; i++) { sum += SQUARE(i + 1); } printf("%d", sum); return 0; } 【答案】29 8.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i = 3, total = 0; for(; i <= 15; i++) { total += i + i % 4; } printf("%d", total); return 0; } 【答案】138 9.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int m = 10, res = 0; for(; --m > 3; m--) { m = m - (m / 3); res += m; } printf("%d", res); return 0; } 【答案】9 10.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int d = 0, i = 2; for(; i < 10; i++) { i = i + ((i%3 == 0) ? 3 : 2); d += i*i - (i/2)*(i%2); } printf("%d", d); return 0; } 【答案】162 三、程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空2分,共计30分) 1.下列程序的功能是:输入两个整数 L 和 R(10≤L< R≤200)。镜像数定义:一个两位及以上整数,高位数字与低位数字相等(如 11、22、121)。 #include <stdio.h> int main() { int L, R, i, cnt = 0; int high, low; scanf("%d%d", &L, &R); for(i = L; i <= R; i++) { low = _______①______; high =________②________; (______③______) && (printf("%d ", i), cnt++); } printf(" Total count: %d", cnt); return 0; } 【答案】①i % 10 ② (i/100!=0)?(i/100):(i/10) ③high == low 2.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下 1 个桃子了。下列程序的功能是求出猴子第一天共摘了多少个桃子。 #include <stdio.h> int main() { int day; int peach = 1; for(day = 9; ______①______; day--) { peach = ________②_______; } printf("第一天摘的桃子总数:%d ", peach); return 0; } 【答案】①day >= 1 ②(peach + 1) * 2 3.幼儿园有若干个小朋友分糖果,规则如下:第 1 个小朋友拿走总数的一半再加 1 颗;第 2 个小朋友拿走剩下的一半再加 1 颗;以此类推,每个小朋友都按相同规则拿糖果。已知经过 6 个小朋友 拿取后,糖果恰好分完。下列程序的功能是输出最初一共有多少颗糖果。 #include <stdio.h> int main() { int candy = ______①______; int i; for(i = 1; i <= 6; i++) { candy =________②_______; } printf("最初糖果数量:%d ", candy); return 0; } 【答案】①0 ② (candy + 1) * 2 4.公鸡每只 5 元,母鸡每只 3 元,小鸡 3 只 1 元。现在用 100 元钱买 100 只鸡,要求公鸡、母鸡、小鸡都必须至少有 1 只。下列程序的功能是:输出所有合法购买方案。 #include <stdio.h> int main() { int x, y, z; for(x = 1; x <= 20; x++) { y = _______①______; z = _______②______; if(___________③___________) { printf("公鸡:%d 母鸡:%d 小鸡:%d ", x, y, z); } } return 0; } 【答案】①(100 - 7 * x) / 4 ②100 - x - y ③y >= 1 && z >= 1 && z % 3 == 0 5.一口井深度为 h 米。蜗牛白天向上爬 3 米,夜晚休息时向下滑落 1 米。 一旦蜗牛白天爬到井口及以上,就不会再下滑。下列程序的功能是:输入井深 h,计算并输出蜗牛第几天可以爬出井口。 #include <stdio.h> int main() { int h, height = 0, day = 0; scanf("%d", &h); for(; ________①______; ) { day++; _______②_______; if(height >= h) ______③_____; height -= 1; } printf("爬出井口需要:%d 天 ", day); return 0; } 【答案】①height < h ②height += 3 ③break 6.一共有 48 个彩球,分装到大、小两种盒子中。大盒每盒装 8 个,小盒每盒装 5 个。要求盒子总数大于 10,下列程序的功能是找出所有合法分装方案。 #include <stdio.h> int main() { int big, small; for(big = 0; big * 8 <= 48; big++) { small = _______①________; if(________②_________) { printf("大盒:%d 个,小盒:%d 个 ", big, small); } } return 0; } 【答案】①(48 - big * 8) / 5 ②big * 8 + small * 5 == 48 && big + small > 10 四、阅读程序:修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每空2分,共计20分) 1.冰雹猜想(考拉兹猜想)经典规则: 任意给定一个正整数 x; 若 x 是偶数:x = x / 2; 若 x 是奇数:x = x × 3 + 1; 重复上述步骤,最终数字一定会收敛到 1。 下列程序的功能是:输入初始正整数 num(2 ≤ num ≤ 50),依次输出每一步变化后的数字,同时统计一共变换了多少步。以下程序只允许修改两行。 L1 #include <stdio.h> L2 int main() L3 { L4 int num, cnt = 0; L5 scanf("%d", &num); L6 for(; num == 1; cnt++) L7 { L8 num=(num/2)*(num*3+1)+(1-num/2)*(num/2); L9 printf("%d ", num); L10 } L11 printf(" Steps: %d", cnt); L12 return 0; L13 } 【答案】①L6 for(; num != 1; cnt++) ②L8 num=(num%2)*(num*3+1)+(1-num%2)*(num/2); 2.依次输入等差数列的首项 a、公差 d、项数 n(1<=a,d,n<=20)。等差数列规则:a,a+d,a+2d,……。下列程序的功能是:计算该数列前 n 项的累加和并输出。以下程序只允许修改两行。 L1 #include <stdio.h> L2 int main() L3 { L4 int a, d, n, i, cur, sum = 1; L5 scanf("%d%d%d", &a, &d, &n); L6 cur = a; L7 for (i = 1; i <= n; i++) L8 { L9 sum += cur; L10 cur = d; L11 } L12 printf("%d", sum); L13 return 0; L14 } 【答案】①L4 int a, d, n, i, cur, sum = 0; ②L10 cur += d; 3.已知笼子里有鸡和兔子若干只。输入两个整数:总头数 head、总脚数 foot。 约定:鸡有 2 只脚,兔子有 4 只脚,总头数 > 0,总脚数为合法偶数。下列程序的功能是:输出鸡的数量和兔子的数量。以下程序只允许修改三行。 L1 #include <stdio.h> L2 int main() L3 { L4 int head, foot, x; L5 scanf("%d%d", &head, &foot); L6 for(x = 0; x >= head; x++) L7 { L8 if(2*x + 4*(head - x) = foot) L9 { L10 printf("鸡:%d 只,兔子:%d 只 ", x, head); L11 } L12 } L13 return 0; L14 } 【答案】①L6 for(x = 0; x <= head; x++) ②L8 if(2*x + 4*(head - x) == foot) ③L10 printf("鸡:%d 只,兔子:%d 只 ", x, head - x); 4.一个小球从高度 h 米自由落下,每次落地后反弹回原高度的一半,再落下。 总共反弹 10 次。下列程序的功能是:计算小球在整个过程中一共经过的总路程,以及第 10 次反弹的高度。以下程序只允许修改三行。 L1 #include <stdio.h> L2 int main() L3 { L4 double h, total; L5 int i; L6 scanf("%lf", &h); L7 total = 0; L8 for(i = 1; i <= 10; i++) L9 { L10 h %= 2; L11 total = 2 * h; L12 } L13 printf("总路程:%.2f 米 ", total); L14 printf("第10次反弹高度:%.2f 米 ", h); L15 return 0; L16 } 【答案】①L7 total = h; ②L10 h /= 2; ③L11 total += 2 * h; 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:湖南省普通高校对口招生专业理论考试《计算机应用类专业综合考纲百套卷》,依据《湖南省普通高校对口招生计算机应用类专业综合知识基本要求及考试大纲》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第74卷,按《计算机编程语言——C语言》范围和要求编写。具体内容为:①for语句的使用。 湖南省《计算机应用类专业综合考纲百套卷》 第74卷 《计算机编程语言——C语言》 for循环 考点训练卷 考试时间60分钟 满分100分 班级________姓名________学号________成绩________ 一、单项选择题(本大题共15小题,每题2分,共30分) 1.已知代码:int i;for(i=1; i<=5; i++){ i++; },循环体实际执行次数为( ) A. 2 次 B. 3 次 C. 4 次 D. 5 次 2.代码int s=0,a; for(a=2; a<8; a+=2) s+=a;,变量 s 最终值为( ) A. 12 B. 20 C. 22 D. 24 3.执行int k=0; for(k++; k<4; k++){},循环执行次数为( ) A. 3 B. 4 C. 5 D. 0 4.代码int n=0,i; for(i=5; i>0; i--) n++;,循环结束后 n 的值是( ) A. 4 B. 5 C. 6 D. 0 5.代码int sum=0,i; for(i=1; i<=4; i++){ if(i%2==0) continue; sum+=i; },sum 结果为( ) A. 4 B. 6 C. 8 D. 10 6.已知int x;for(x=10; x>1; x/=2){},循环体执行次数为( ) A. 2 B. 3 C. 4 D. 5 7.代码int a=1; for(;a<3;a++) a*=2;,循环结束后 a 的值为( ) A. 2 B. 3 C. 4 D. 5 8.代码int cnt=0,i; for(i=3; i<=9; i+=3) cnt++;,cnt 的值为( ) A. 2 B. 3 C. 4 D. 5 9.代码int m=5; for(;m--;);,循环结束后 m 的值为( ) A. 0 B. -1 C. 4 D. 5 10.代码int s=1,i; for(i=2; i<=4; i++) s*=i;,s 最终结果是( ) A. 8 B. 12 C. 24 D. 30 11.代码int a;for(a=1;a<7;a++){ if(a==4) break; },循环执行次数为( ) A. 3 B. 4 C. 6 D. 7 12.代码 int x=0; for(;x!=8;x+=2); 循环执行次数为( ) A. 4 B. 5 C. 6 D. 无限次 13.以下代码段的输出结果是( ) int x = 1; for(printf("A"); printf("B"); printf("C")) { if(x-- <= 0) break; printf("D"); } A. ABDC B. ABC C. ABD D. ABDCB 14.执行以下代码后,变量 a 和 b 的值分别是( ) int a, b; for(a = 0, b = 0; a < 3 && b < 5; a++, b += 2) ; A. a=3, b=6 B. a=2, b=4 C. a=3, b=5 D. a=2, b=6 15.以下代码的输出结果是( ) int i = 0; for(; i < 3; i++) { switch(i) { case 0: printf("A"); case 1: printf("B"); break; case 2: printf("C"); } } A. ABC B. ABBC C. ABB D. AB 二、阅读程序,写出运行结果(本大题共10小题。每空2分,合计20分) 1.(2023年)下列程序的运行结果是__________________。 #include <stdio.h> int main() { int a=2,b=1,c=1; for(;a;) { b+=a; a-=++c; } printf("%d,%d,%d ",a,b,c); return 0; } 2.(2026年)下列程序的运行结果是__________________。 #include <stdio.h> int main(){ long n=15,i; for(i=2;i*i<=n;i++){ if(n%i==0){ printf("%ld",n/i); break; } } return 0; } 3.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i, j = 0; for(i = 1; i <= 10; i++) { if(i % 2 == 0) { j += i; continue; } j -= i; } printf("%d", j); return 0; } 4.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i = 2, res = 0; for(; i < 8; i++) { res += i * i / 2; i++; } printf("%d", res); return 0; } 5.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int x = 1, cnt = 0; for(; x != 0; x <<= 1) { cnt++; } printf("%d", cnt); return 0; } 6.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int a = 3, b = 5,i; for(i = 0; i < 3; i++) { a = a ^ b; b = a ^ b; a = a ^ b; } printf("%d,%d", a, b); return 0; } 7.下列程序的运行结果是__________________。 #include <stdio.h> #define SQUARE(x) ((x)*(x)) int main() { int sum = 0,i; for(i = 1; i <= 3; i++) { sum += SQUARE(i + 1); } printf("%d", sum); return 0; } 8.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int i = 3, total = 0; for(; i <= 15; i++) { total += i + i % 4; } printf("%d", total); return 0; } 9.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int m = 10, res = 0; for(; --m > 3; m--) { m = m - (m / 3); res += m; } printf("%d", res); return 0; } 10.下列程序的运行结果是__________________。 #include <stdio.h> int main() { int d = 0, i = 2; for(; i < 10; i++) { i = i + ((i%3 == 0) ? 3 : 2); d += i*i - (i/2)*(i%2); } printf("%d", d); return 0; } 三、程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整(每空2分,共计30分) 1.下列程序的功能是:输入两个整数 L 和 R(10≤L< R≤200)。镜像数定义:一个两位及以上整数,高位数字与低位数字相等(如 11、22、121)。 #include <stdio.h> int main() { int L, R, i, cnt = 0; int high, low; scanf("%d%d", &L, &R); for(i = L; i <= R; i++) { low = _______①______; high =________②________; (______③______) && (printf("%d ", i), cnt++); } printf(" Total count: %d", cnt); return 0; } 2.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩下 1 个桃子了。下列程序的功能是求出猴子第一天共摘了多少个桃子。 #include <stdio.h> int main() { int day; int peach = 1; for(day = 9; ______①______; day--) { peach = ________②_______; } printf("第一天摘的桃子总数:%d ", peach); return 0; } 3.幼儿园有若干个小朋友分糖果,规则如下:第 1 个小朋友拿走总数的一半再加 1 颗;第 2 个小朋友拿走剩下的一半再加 1 颗;以此类推,每个小朋友都按相同规则拿糖果。已知经过 6 个小朋友 拿取后,糖果恰好分完。下列程序的功能是输出最初一共有多少颗糖果。 #include <stdio.h> int main() { int candy = ______①______; int i; for(i = 1; i <= 6; i++) { candy =________②_______; } printf("最初糖果数量:%d ", candy); return 0; } 4.公鸡每只 5 元,母鸡每只 3 元,小鸡 3 只 1 元。现在用 100 元钱买 100 只鸡,要求公鸡、母鸡、小鸡都必须至少有 1 只。下列程序的功能是:输出所有合法购买方案。 #include <stdio.h> int main() { int x, y, z; for(x = 1; x <= 20; x++) { y = _______①______; z = _______②______; if(___________③___________) { printf("公鸡:%d 母鸡:%d 小鸡:%d ", x, y, z); } } return 0; } 5.一口井深度为 h 米。蜗牛白天向上爬 3 米,夜晚休息时向下滑落 1 米。 一旦蜗牛白天爬到井口及以上,就不会再下滑。下列程序的功能是:输入井深 h,计算并输出蜗牛第几天可以爬出井口。 #include <stdio.h> int main() { int h, height = 0, day = 0; scanf("%d", &h); for(; ________①______; ) { day++; _______②_______; if(height >= h) ______③_____; height -= 1; } printf("爬出井口需要:%d 天 ", day); return 0; } 6.一共有 48 个彩球,分装到大、小两种盒子中。大盒每盒装 8 个,小盒每盒装 5 个。要求盒子总数大于 10,下列程序的功能是找出所有合法分装方案。 #include <stdio.h> int main() { int big, small; for(big = 0; big * 8 <= 48; big++) { small = _______①________; if(________②_________) { printf("大盒:%d 个,小盒:%d 个 ", big, small); } } return 0; } 四、阅读程序:修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每空2分,共计20分) 1.冰雹猜想(考拉兹猜想)经典规则: 任意给定一个正整数 x; 若 x 是偶数:x = x / 2; 若 x 是奇数:x = x × 3 + 1; 重复上述步骤,最终数字一定会收敛到 1。 下列程序的功能是:输入初始正整数 num(2 ≤ num ≤ 50),依次输出每一步变化后的数字,同时统计一共变换了多少步。以下程序只允许修改两行。 L1 #include <stdio.h> L2 int main() L3 { L4 int num, cnt = 0; L5 scanf("%d", &num); L6 for(; num == 1; cnt++) L7 { L8 num=(num/2)*(num*3+1)+(1-num/2)*(num/2); L9 printf("%d ", num); L10 } L11 printf(" Steps: %d", cnt); L12 return 0; L13 } 2.依次输入等差数列的首项 a、公差 d、项数 n(1<=a,d,n<=20)。等差数列规则:a,a+d,a+2d,……。下列程序的功能是:计算该数列前 n 项的累加和并输出。以下程序只允许修改两行。 L1 #include <stdio.h> L2 int main() L3 { L4 int a, d, n, i, cur, sum = 1; L5 scanf("%d%d%d", &a, &d, &n); L6 cur = a; L7 for (i = 1; i <= n; i++) L8 { L9 sum += cur; L10 cur = d; L11 } L12 printf("%d", sum); L13 return 0; L14 } 3.已知笼子里有鸡和兔子若干只。输入两个整数:总头数 head、总脚数 foot。 约定:鸡有 2 只脚,兔子有 4 只脚,总头数 > 0,总脚数为合法偶数。下列程序的功能是:输出鸡的数量和兔子的数量。以下程序只允许修改三行。 L1 #include <stdio.h> L2 int main() L3 { L4 int head, foot, x; L5 scanf("%d%d", &head, &foot); L6 for(x = 0; x >= head; x++) L7 { L8 if(2*x + 4*(head - x) = foot) L9 { L10 printf("鸡:%d 只,兔子:%d 只 ", x, head); L11 } L12 } L13 return 0; L14 } 4.一个小球从高度 h 米自由落下,每次落地后反弹回原高度的一半,再落下。 总共反弹 10 次。下列程序的功能是:计算小球在整个过程中一共经过的总路程,以及第 10 次反弹的高度。以下程序只允许修改三行。 L1 #include <stdio.h> L2 int main() L3 { L4 double h, total; L5 int i; L6 scanf("%lf", &h); L7 total = 0; L8 for(i = 1; i <= 10; i++) L9 { L10 h %= 2; L11 total = 2 * h; L12 } L13 printf("总路程:%.2f 米 ", total); L14 printf("第10次反弹高度:%.2f 米 ", h); L15 return 0; L16 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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