期末复习卷《C语言程序设计》(上海科学普及出版社)(一)

2026-06-14
| 2份
| 9页
| 10人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 数据类型和简单程序设计,分支结构,循环结构,数组,函数
使用场景 同步教学-期末
学年 2026-2027
地区(省份) 湖北省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 191 KB
发布时间 2026-06-14
更新时间 2026-06-14
作者 源栈
品牌系列 学易金卷·期末模拟卷
审核时间 2026-06-14
下载链接 https://m.zxxk.com/soft/58340288.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

《C语言程序设计》 期末复习卷(一) 时间:90分钟 总分:100分 班级 姓名 学号 成绩 一.程序设计题(本大题共10小题,每小题10分,共100分) 1.编写程序求1+2!+3!+4!+.....+20!的和。 #include<stdio.h> void main(){ int i,t=1,s=0; /*******space*******/ for(i=1;i<=20;i++) { t=t*i; s=s+t } /*******space*******/ printf("1+2!+...+20! = %d ",s) } 2.将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5 #include<stdio.h> void main(){ int n,i; /*******space*******/ printf("请输入一个正整数: "); scanf("%d", &n); printf("%d=", n); i = 2; while(n > 1){ if(n % i == 0){ printf("%d", i); n = n / i; if(n > 1) printf("*"); } else{ i++; } } /*******space*******/ } 3.利用递归函数调用的方式,将所输入的5个字符,以相反的顺序打印出来 #include<stdio.h> void main(){ char a[5]; int i; /*******space*******/ void reverse(char a[], int n){ if(n >= 0){ printf("%c", a[n]); reverse(a, n-1); } } printf("请输入5个字符: "); for(i=0;i<5;i++) scanf(" %c", &a[i]); printf("反序输出: "); reverse(a, 4); /*******space*******/ } 4.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 #include<stdio.h> #include<string.h> void main(){ int n,m,i; int a[100],temp[100]; /*******space*******/ printf("请输入整数个数n: "); scanf("%d", &n); printf("请输入%d个整数: ", n); for(i=0;i<n;i++) scanf("%d", &a[i]); printf("请输入后移位数m: "); scanf("%d", &m); m = m % n; for(i=0;i<m;i++) temp[i] = a[n-m+i]; for(i=n-1;i>=m;i--) a[i] = a[i-m]; for(i=0;i<m;i++) a[i] = temp[i]; printf("移动后的数组: "); for(i=0;i<n;i++) printf("%d ", a[i]); /*******space*******/ } 5.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?(输出前40个月即可) #include<stdio.h> void main(){ long f1=1,f2=1,f3; int i; /*******space*******/ printf("第1个月: 1对 "); printf("第2个月: 1对 "); for(i=3;i<=40;i++){ f3 = f1 + f2; printf("第%d个月: %ld对 ", i, f3); f1 = f2; f2 = f3; } /*******space*******/ } 6.输入一串字符串和一个指定字符,将字符串中的指定字符删除 #include<stdio.h> #include<string.h> void main(){ char str[100],ch; int i,j; /*******space*******/ printf("请输入字符串: "); gets(str); printf("请输入要删除的字符: "); scanf("%c", &ch); for(i=j=0; str[i]!='\0'; i++){ if(str[i] != ch){ str[j++] = str[i]; } } str[j] = '\0'; printf("删除后的字符串: %s ", str); /*******space*******/ } 7.有一数组a[10]已经排好序,现输入一个整数,要求按原来的规律将它插入到数组中。 #include<stdio.h> #include<string.h> void main(){ int a[10]={1,3,5,7,9,11,13,15,17,19}; int num,i,j; /*******space*******/ printf("原数组: "); for(i=0;i<10;i++) printf("%d ", a[i]); printf(" 请输入要插入的数: "); scanf("%d", &num); for(i=0;i<10;i++){ if(num < a[i]){ for(j=9;j>=i;j--) a[j+1] = a[j]; a[i] = num; break; } } if(i==10) a[10] = num; printf("插入后数组: "); for(i=0;i<11;i++) printf("%d ", a[i]); /*******space*******/ } 8.有一数组a[10],现输入一个小于10的整数n以及要移动的个数m,最后m个数变成最前面的m个数 #include<stdio.h> void main(){ int a[10],temp[10]; int n,m,i; /*******space*******/ printf("请输入整数个数n(<10): "); scanf("%d", &n); printf("请输入%d个整数: ", n); for(i=0;i<n;i++) scanf("%d", &a[i]); printf("请输入后移位数m: "); scanf("%d", &m); m = m % n; for(i=0;i<m;i++) temp[i] = a[n-m+i]; for(i=n-1;i>=m;i--) a[i] = a[i-m]; for(i=0;i<m;i++) a[i] = temp[i]; printf("移动后: "); for(i=0;i<n;i++) printf("%d ", a[i]); /*******space*******/ } 9.输入一个八进制的整数,将其转换成十进制后并输出 #include<stdio.h> void main(){ char oct[20]; int dec=0,i=0; /*******space*******/ printf("请输入一个八进制数: "); scanf("%s", oct); while(oct[i] != '\0'){ dec = dec * 8 + (oct[i] - '0'); i++; } printf("十进制值为: %d ", dec); /*******space*******/ } 10.有5个大学生坐在一起,问第五个人月工资多少?他说比第4个人多2000,问第4个人工资,他说比第3个人多2000,问第3个人,又说比第2个人多2000,问第2个人,又说比第1个人多2000,最后问第一个人,他说工资是4000,问第5个人的工资是多少并输出 #include<stdio.h> void main(){ /*******space*******/ int salary(int n){ if(n == 1) return 4000; else return salary(n-1) + 2000; } printf("第5个人的工资是: %d元 ", salary(5)); /*******space*******/ } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 《C语言程序设计》 期末复习卷(一) 时间:90分钟 总分:100分 班级 姓名 学号 成绩 一.程序设计题(本大题共10小题,每小题10分,共100分) 1.编写程序求1+2!+3!+4!+.....+20!的和。 #include<stdio.h> void main(){ int i,t=1,s=0; /*******space*******/ /*******space*******/ } 2.将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5 #include<stdio.h> void main(){ int n,i; /*******space*******/ /*******space*******/ } 3.利用递归函数调用的方式,将所输入的5个字符,以相反的顺序打印出来 #include<stdio.h> void main(){ char a[5]; int i; /*******space*******/ /*******space*******/ } 4.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 #include<stdio.h> #include<string.h> void main(){ int n,m,i; int a[100],temp[100]; /*******space*******/ /*******space*******/ } 5.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?(输出前40个月即可) #include<stdio.h> void main(){ long f1=1,f2=1,f3; int i; /*******space*******/ /*******space*******/ } 6.输入一串字符串和一个指定字符,将字符串中的指定字符删除 #include<stdio.h> #include<string.h> void main(){ char str[100],ch; int i,j; /*******space*******/ /*******space*******/ } 7.有一数组a[10]已经排好序,现输入一个整数,要求按原来的规律将它插入到数组中。 #include<stdio.h> #include<string.h> void main(){ int a[10]={1,3,5,7,9,11,13,15,17,19}; int num,i,j; /*******space*******/ /*******space*******/ } 8.有一数组a[10],现输入一个小于10的整数n以及要移动的个数m,最后m个数变成最前面的m个数 #include<stdio.h> void main(){ int a[10],temp[10]; int n,m,i; /*******space*******/ /*******space*******/ } 9.输入一个八进制的整数,将其转换成十进制后并输出 #include<stdio.h> void main(){ char oct[20]; int dec=0,i=0; /*******space*******/ /*******space*******/ } 10.有5个大学生坐在一起,问第五个人月工资多少?他说比第4个人多2000,问第4个人工资,他说比第3个人多2000,问第3个人,又说比第2个人多2000,问第2个人,又说比第1个人多2000,最后问第一个人,他说工资是4000,问第5个人的工资是多少并输出 #include<stdio.h> void main(){ /*******space*******/ /*******space*******/ } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

期末复习卷《C语言程序设计》(上海科学普及出版社)(一)
1
期末复习卷《C语言程序设计》(上海科学普及出版社)(一)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。