




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专升本C语言历年考试题及答案江西财经大学2005年专升本选拔考试C语言程序设计试卷(考试时间120分钟,总分100分)一、用语言描述下列命题(共16分,每小题2分)1、a、b和c均为整型变量,a和b中有一个大于c。2、数学公式:的语言表达式(注:sqrt( )为开方函数)。3、写出100内的自然数x,能被3或7整除的表达式。4、写出判断字符变量ch是阿拉伯数字字符的表达式。5、写出满足x60或90x100的C语言表达式。6、写出平面上的点(x,y)落在单位圆内的表达式。7、数组p10的各元素用于保存指向char型的指针,写出该数组的定义。8、有名为max的函数,其功能是对两个int型参数x、y
2、进行计算,返回其中的较大者,写出该函数的说明部分。二、根据要求画出流程图或-图(共10分,每小题5分)1、用流程图或N-S图表示以下算法。 输入x的值,按下列函数计算y的值,并输出y的值。2、画出打印以下图案的算法流程图或N-S图。 & & & & & & & & & &三、程序阅读题(共20分,每小题4分)1、# include void main( ) int i,sum=0; for(i=1;i0) x=x+y; if (ab) x=2*y; else if (a=b) y=5; else y=x+y; printf(x=%d,y=%dn,x,y); 假设输入为: 2 -3, 则程序运行
3、后的输出结果为:3、void main() int a33=2,4,6,8,10,12,14,16,18; int sum=0, i, j; for ( i=0; i3; i+) for ( j=0; j3; j+ ) if (i=j) sum+=aij; printf(“sum=%dn”,sum) ; 请叙述上面程序的功能,并写出程序的运行结果。4、void main( ) int i=0; int x,s1,s2,s3; s1=s2=s3=0; while(i+10) scanf(%d,&x); switch(abs(x)%3) case 0:s1+;break; case 1:s2+;b
4、reak; default:s3+; printf(s1=%d,s2=%d,s3=%d,s1,s2,s3); 请叙述上面程序的功能。5、int fun(int n) if(n=0) return 0; else if(n=1) return 1; return n*n+fun(n-1); void main() printf(“Result is:%d”,fun(5); 请叙述上面程序中fun函数的功能并写出程序的运行结果。四、程序填空(共28分,每空2分)1、以下函数用于求出一个34矩阵中的最小元素值。int min_value(int m3) int i, j, min; min=m00;
5、 for (i=0; ; i+) for (j=0 ; ; j+) if ( min ) min= ; return( min ) ; 2、程序的功能是:从键盘输入一串字符(以回车换行符结束),统计其中大写英文字母的个数,将结果保存在变量count中。void main( ) int count=0; char c; while(c!=n) if ( ) ; c=getchar(); printf(have typed %d upper letters, count);3、以下函数的功能是:在第一个循环中给前n个数组元素依次赋值1n;在第二个循环中使a数组的n个元素值对称互换,变成n、n-1
6、4、3、2、1。void fun ( int a ,int n) int i; int temp; for(i=1; i=n; i+) ai-1= i; for(i=0; in/2; i+) temp= ; ai= ; =temp; 4、以下程序是实现如图1所示图案的打印。void main() int i,j,k; char ch; for(i=1,ch= ;i= ;i+) for(j=1;j=4-i;j+) putchar(); /*表示空格符*/ for(k=1;kc|bc2、(-b+sqrt(b*b-4*a*c)/(2*a)3、(x=1&x=0&ch=95、x=90&x=1006、x*
7、x+y*y=0 T T F y=1 y=0 y=-1x01、2、 i=14 j=1 i 打印&字符 换行三、程序阅读题(共20分,每小题4分)1、输出:sum=165 功能:求30内能被3整除的数的和。2、输出:x=2,y=33、输出:sum=30 功能:求3*3矩阵对角线上元素之和。4、功能:输入10个数,分别求出其中能被1、2、3整除的数的和并打印。5、输出:Result is:55 fun函数的功能:求12+22+.+n2四、程序填空(共28分,每空2分)1、 i3 j=A & c=Z count+3、 ai an-i-1 an-i-14、 A 4 2*i-1 ch+五、程序设计题(共2
8、6分,8+8+10)1、void main() int a,b,c; for(a=1;a=9;a+) for(b=0;b=9;b+) for(c=1;c=9;c+) if(a*a*a+b*b*b+c*c*c=100*a+10*b+c) printf(%5d,100*a+10*b+c);2、#include void main() int i,s,sum=0; for(i=1,s=0;i=10;i+) s=s+i; sum=sum+s; printf(Result is:%6d,sum);3、#include #include typedef struct /*定义描述学生的结构体类型*/ in
9、t num; /*成员变量num表示学号*/ char name20; /*姓名*/ float score3; /*成绩*/stud;void input(stud s,int n) int k;char t10; for (k=0; kn; k+) printf(No:);gets(t); sk.num=atoi(t); printf(name:); gets(); printf(score1=?); gets(t); sk.score1=atof(t); printf(score2=?); gets(t); sk.score2=atof(t); printf(score3=
10、?); gets(t); sk.score3=atof(t); void output(stud s,int n) int k; printf(%10s%20s%8s%8s%8sn,no,name,score1,score2,score3); for (k=0; kn; k+) printf(%10d,sk.num); printf(%20s,); printf(%8.2f,sk.score1); printf(%8.2f,sk.score2); printf(%8.2fn,sk.score3); void print_average(stud s,int n) int k; p
11、rintf(nn%10s%20s%12sn,no,name,ave_score); for (k=0; k 3/5成立的最小的N值并输出。三、单项选择题(共5分,每小题1分)1.以下说法中正确的是( )A. C语言程序总是从第一个定义的函数开始执行;B. C语言程序中至少有一个main函数;C. C语言程序总是从main函数开始执行;D. C语言程序中的main函数必须放在程序的开始部分;2.C语言中,下列正确的叙述是 ( )A. C程序中的关键字必须小写,其他标识符不区分大小写B. C程序中的所有字母都不区分大小写C. C程序中的所有字母都必须小写D. 所有的C语言关键字必须小写3.已知in
12、t i=10;表达式20-5=i=9的值是( )A. 0 B. 1 C. 19 D. 204. 以下不正确的描述是( )A. break语句不能用于循环语句和switch语句外的其它语句B. 在switch语句中使用break语句或continue语句的作用相同C. 在循环语句中使用continue语句是为了结束本次循环D. 在循环语句中使用break语句是为了使流程跳出循环体5. 对二维数组的正确说明是( )A. int a=1,2,3,4,5,6;B. int a2=1,2,3,4,5,6;C. int a3=1,2,3,4,5,6;D. int a2,3=1,2,3,4,5,6;四、程序
13、阅读题(共20分,每小题4分)1、#include void main() int i=15; while (i0) if (-i%3!=2) continue; else printf(%d ,i); 程序运行后的输出结果为:2、#include int func(int n) if (n=0)return 0; else if (n=1) return 1; else return n*n+func(n-2); void main() printf(%5d%5dn,func(3),func(5); 程序运行后的输出结果为:3、#include void main()int a,b,s,t;
14、 a=b=s=0, t=1;while(t=4) t=t+1; switch(t%3) case 1: a=a+t; break; case 2: b=b+t; break; default: s=s+3; printf(a=%d,b=%d,s=%dn,a,b,s); 程序运行后的输出结果为:4、 #include #include int f1(int x) int y=0; static int z=2; y+=1; z+; return(x+y+z); void main() int x=1,i; char s110=“Visual”,s210=“C+”,s10; for(i=0;i3;
15、i+) printf(%d ,f1(x); printf(“n”); if(strcmp(s1,s2) strcpy(s,s1); puts(s);strcat(s2,s1);printf(“%d,%sn”,strlen(s2),s2);程序运行后的输出结果为:5、#include #define MAX 100void main() int fMAX,i,j,k=2,m=5;for(i=0;i=m;i+) fi=1; fk-1=2;for(i=k;i=m;i+)for(j=i-k;j=i-1;j+) fi+=fj; printf(%d%5d%5dn,k,m,fm); 程序运行后的输出结果为:
16、五、程序填空(共24分,每小题6分)1、求10000内的完数,一个数所有因子的和与该数相等即为完数,如6=1+2+3,所以6是完数。#include void main() int m,k,i,sum; for(m=6;m=10000;m+) if(n%10=0) printf(n); ; for(i=2;i=pj-1) ; else t=pj; pj=pj-1; pj-1=t; 3、输入34数组,用指针方法实现将每行中的最大数与最后一列元素对调。#include void swap(int ) int max, i, *q=p; for(i=1;i4;i+) if(*q*(p+i) q=p+
17、i; max=*q;*q=*(p+3);*(p+3)=max;void main() int a34,i,j,*p=a0; for( i=0;i3;i+ ) for(j=0;j4;j+) scanf(“%d”,p+);for( p=&a00;pa0+12; ) swap(p); ;for(i=0;i3;i+) for(j=0;j4;j+) printf(“%3d”,*p+); printf(“n”);_ _ _4、设某单位将一商品四个季度的销售数据以数字串的形式放在一数组中,下面的程序实现对四个季度产品销售额的求和,请在空处填上适当表达式。#includevoid main() char sa
18、les410= 8139.45,6245.2,1234,8937.85 ,*p4; int i, j, dec_dig;float sale, totle=0; for(i=0;i4;i+) ; for(i=0;i4;i+) sale=0;dec_dig=0; for(j=0;pij!= ;j+) if(pij=.) dec_dig=1; /小数点出现,作标记 if(!dec_dig) sale=10*sale+pij- 0; /处理整数部分 else sale=; /处理小数部分 total=total+sale; printf(totle=%fn,totle);_ _ _六、程序设计题(共30分)1、编写递归函数,求n以内的自然数的和,要求主函数中只是输入n以及打印递归函数的计算结果。(8分)2、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?(10分)3、有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个性化学习平台在远程教育中的实践与思考
- 智慧城市服务在商业创新中的应用
- 医疗领域的教育游戏化情感引导与知识传递
- 健康教育与AI技术的结合实践
- 剧毒化学品经营许可证由谁颁发
- 建筑工岗位职责
- 安全生产日常会议记录
- 安全生产标准化自评情况汇报
- 安全事故调查报告书
- 教育法律法规在特殊教育领域的应用
- 石化应急培训课件
- 铁路运输效率评价指标体系-洞察分析
- 图书馆小小管理员培训
- 心外科手术进修汇报
- 设计院项目设计流程与规范
- 设备安装施工环境保护工作措施
- 养老院服务评价与改进制度
- 地理标志产品质量要求 清涧红枣
- 风险经理岗位资格考试练习试题附答案
- 《建筑业企业资质等级标准》(建建200182号)-20210829233
- 城镇污泥标准检验方法CJT221-2023 知识培训
评论
0/150
提交评论